Seite mehrfach mit anderen Parametern aufrufen
rawen
- php
0 misterunknown0 rawen0 misterunknown0 rawen
0 ichbinich
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.
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
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 :(?
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
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);
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
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