rawen: Seite mehrfach mit anderen Parametern aufrufen

Schönen guten Tag,

ich versuche seit einer Weile eine php Seite mehrfach aufzurufen. Die Php seite funktioniert soweit, wenn man ihr die richtigen Parameter übergibt.

Im grunde übergibt man ihr eine Zahl, nach der sie dann die zugehörigen Spalten in einer mysql Tabelle auswertet.

Jedoch müsste man das für jede Spalte einzelnd machen und das würde dauern. das möchte ich automatisieren und hab mir das ausgedacht:

als start von dem ganzen:

<a href="berechnen.php?start=<?echo $start?>&ende=<?echo $ende?>" target="haupt">Berechnung Starten</a>code]  
in der Datei berechnen.php findet man dann eine Fallunterscheidung (da je nach angegebenen Dingen halt unterschiedliche Berechnungen durchgeführt werden:  
[code lang=php]  
<?  
	if($start<=$ende)  
	{	  
		$nr=$start;  
		include('../../sqlconnect.php.inc');  
		$x = "SELECT * FROM tabelle where nr='$nr'";  
		$y = mysql_query($x);  
		$z = mysql_fetch_array($y);  
		  
		if ($z[unterscheidung]=="i.k" or $z[unterscheidung]=="b.b")  
			{  
                                header("Location: auswertung2_auto.php?nr=$nr&ende=$ende");  
			}  
			else  
			{  
                                header("Location: auswertung1_auto.php?nr=$nr&ende=$ende");  
			}  
	}  
	else  
	{  
		echo "Berechnung Fertig!";  
	}  
?>  

die Auswertungen funktionieren soweit, ich habe die Datei ledigtlich kopiert und umbenannt, hinter das echo "berechnung fertig" der einzelberechnung ein erneuten aufruf auf die berechnen.php mit einen um 1 erhöhten wert für $start:

  
	echo "Daten wurden übernommen";  
	$start=$nr + 1;  
	header("Location: berechnen.php?start=$start&ende=$ende");  

theoretisch müsste das doch so funktionieren oder habe ich einen Denkfehler darin

kennt jemand vielleicht eine noch einfachere Möglichkeit wo ich die Datei "auswertung.php" nicht ändern müsste, also vielleicht eine Lösung mit javascript? (das habe ich auch getestet bin aber zu keinem brauchbaren Ergebnis gekommen)
lg rawen.

  1. Moin,

    ich versuche seit einer Weile eine php Seite mehrfach aufzurufen. Die Php seite funktioniert soweit, wenn man ihr die richtigen Parameter übergibt.

    Das klingt für mich, als solltest du lieber Funktionen nutzen, oder gar eine Klasse!?

    [code lang=php]<a href="berechnen.php?start=<?echo $start?>&ende=<?echo $ende?>" target="haupt">Berechnung Starten</a>code]

    Ok, du brauchst also eine PHP-Datei, die Berechnungen ausführt. Diese heißt berechnen.php. Innerhalb dieser Datei Definierst du 2 Funktionen, die die Funktionalität von "auswertung2_auto.php" und "auswertung1_auto.php" übernehmen. Jetzt kannst du innerhalb von "berechnen.php" diese Funktionen öfters aufrufen. Damit sparst du dir ewig lange Weiterleitungsketten.

    die Auswertungen funktionieren soweit, ich habe die Datei ledigtlich kopiert und umbenannt, hinter das echo "berechnung fertig" der einzelberechnung ein erneuten aufruf auf die berechnen.php mit einen um 1 erhöhten wert für $start:

    Nutze für einen sich immer erhöhenden Wert doch eine For-Schleife. Man könnte das sicher sogar mit einer rekursiven Funktion lösen.

    Grüße Marco

  2. wie es scheint ist der fehler bei der Auswahl:

    <?  
            if($start<=$ende)  
            {  
                    $nr=$start;  
                    include('../../sqlconnect.php.inc');  
                    $x = "SELECT * FROM tabelle where nr='$nr'";  
                    $y = mysql_query($x);  
                    $z = mysql_fetch_array($y); <!-- ich glaube der Fehler ist hier-->  
      
                    if ($z[unterscheidung]=="i.k" or $z[unterscheidung]=="b.b")  
                            {  
                                    header("Location: auswertung2_auto.php?nr=$nr&ende=$ende");  
                            }  
                            else  
                            {  
                                    header("Location: auswertung1_auto.php?nr=$nr&ende=$ende");  
                            }  
            }  
            else  
            {  
                    echo "Berechnung Fertig!";  
            }  
    ?>  
    
    

    wie macht man das denn richtig :(?

    1. Moin,

      wie es scheint ist der fehler bei der Auswahl:

      Du hast bisher noch keinen Fehler beschrieben. Was geht nicht? Welche Fehlermeldung kommt?

      Grüße Marco

      1. Moin,

        wie es scheint ist der fehler bei der Auswahl:

        Du hast bisher noch keinen Fehler beschrieben. Was geht nicht? Welche Fehlermeldung kommt?

        Grüße Marco

        den Fehler habe ich eben herausgefunden. Also die berechnen.php läuft ohne Fehlermeldungen durch, gibt aber nicht die richtigen Berechnugen raus, und verändert die Ergebnisse so dass die entsprechende anzeige.php Datei Fehler auswirft, da zu viel in der sql - Tabelle enthalten ist..

        Flolglich wurde die Falsche Auswertung auf meine Ergebnisse angewand.
        Die Auswahl der Auswertung erfolgt ja in berechnen.php, also muss dort der Fehler liegen.
        if ($z[beruf]=="i.kauf" or $z[beruf]=="bachelor.bwl")

        müsste soweit richtig sein, also gehe ich davon aus dass der Fehler dort liegt: ~~~php include('../../sqlconnect.php.inc');
        $x = "SELECT * FROM teilnehmer where nr='$nr'";
        $y = mysql_query($x);
        $z = mysql_fetch_array($y);

        
        
        1. Moin,

          if ($z[beruf]=="i.kauf" or $z[beruf]=="bachelor.bwl")
          müsste soweit richtig sein

          Müsste? Teste es doch.

          print '<pre>'; print_r($z); print '</pre>'; ?

          Grüße Marco

    2. Hallo,

      [code lang=php]
                      $x = "SELECT * FROM tabelle where nr='$nr'";
                      $y = mysql_query($x);
                      $z = mysql_fetch_array($y); <!-- ich glaube der Fehler ist hier-->

      Schau dir bitte mal an, was dir mysql_fetch_array() zurückgibt.

      vg ichbinich

      --
      Kleiner Tipp:
      Tofu schmeckt am besten, wenn man es kurz vor dem Servieren durch ein saftiges Steak ersetzt...