MySQL: Anzahl wird verdoppelt
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
abschneiden
code
formular
gast
http
kennen
liga
machen
mannschaft
parameter
posten
problem
schlaufe
set
spieler
tee
tor
update
url
-
Hallo,
ich habe ein Problem bei MySQL, es geht darum:
foreach ($_POST['spielerheim'] as $key => $value) { $abfrage = "UPDATE spieler_".$liga." SET Tore = Tore+1 WHERE Spieler='".$value."'"; $result = mysql_query($abfrage) OR die("Error: $result <br>".mysql_error()); } foreach ($_POST['spielergast'] as $key => $value) { $abfrage = "UPDATE spieler_".$liga." SET Tore = Tore+1 WHERE Spieler='".$value."'"; $result = mysql_query($abfrage) OR die("Error: $result <br>".mysql_error()); }
Bei spielerheim funktioniert alles problemlos, allerdings wird bei spielergast bei jedem Spieler anstatt +1 +2 gerechnet. Nach diesem Abschnitt wird spielergast nicht mehr verwendet.
Beitrag zuletzt geändert: 12.10.2012 15:39:00 von fifa-society -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
tee schrieb:
Hey,
Da die beiden Schlaufen praktisch identisch sind würde ich vermuten, dass spielergast zweimal aufgerufen wird.
Mehr code?
Halt eben nur fast identisch: Beim ersten wird spielerheim eingetragen, beim zweiten spielergast.
Hier wird spielergast das erste Mal weitergegeben:
foreach ($_POST['spielerheim'] as $key => $value) {?> <input type="hidden" name="spielerheim[<? echo $key; ?>]" value="<?php echo $value; ?>"> <?php } foreach ($_POST['spielergast'] as $key => $value) {?> <input type="hidden" name="spielergast[<? echo $key; ?>]" value="<?php echo $value; ?>"> <?php } ?> <input type="hidden" name="toreheim" value="<?php echo $_POST["toreheim"]; ?>"> <input type="hidden" name="toregast" value="<?php echo $_POST["toregast"]; ?>"> <input type="hidden" name="spieltag" value="<?php echo $_POST["spieltag"]; ?>"> <input type="hidden" name="submit1" value="<?php echo $_POST["submit1"]; ?>"> <input type="hidden" name="submit2" value="<?php echo $_POST["submit2"]; ?>"> <input type="hidden" name="submit3" value="<?php echo $_POST["submit3"]; ?>"> <input type="hidden" name="submit_liga" value="<?php echo $_POST["submit_liga"]; ?>"> <input type="hidden" name="liga" value="<?php echo $_POST["liga"]; ?>"> <input type="submit"name="submit4" value="Eintragen"></form>
Und hier wird spielergast ausgewählt:
//Gast// echo "<b>".$Gastm."</b><br>"; ?> <? for ($i = 1; $i <= $_POST["toregast"]; $i++) { ?> <select name="spielergast[]" style="border: 1px solid gray;" size="1"> <? $abfrage = "SELECT Spieler FROM spieler_".$liga." WHERE Mannschaft='".$Gastm."'"; $result = mysql_query($abfrage) OR die("Error: $result <br>".mysql_error()); while($row = mysql_fetch_object($result)) { ?> <option><?php echo $row->Spieler;?></option> <? } ?> </select><br>
-
Hm, macht mich jetzt nicht wirklich schlauer die Parameter für den Spielergast zu kennen.
Ich vermute dass du $_POST['spielergast'] zweimal abfeuerst wenn du das Formular abschickst, weshalb die foreach Schleife auch zweimal +1 zählt.
Kannst du das ganze Form posten, pastebin oder so vielleicht zur besseren Leserlichkeit?
Edit:
Mach mal ein Echo oder eine Zählervariable in die Foreach-Schlaufe bei Spielergast rein um sicherzustellen, wie oft die ganze Schlaufe ausgeführt wird.
Beitrag zuletzt geändert: 12.10.2012 16:03:57 von tee -
Hier wird spielergast übergeben:
http://pastxt.com/P/Z1785X70M0
Und hier das Formular bei dem spielergast ausgewählt wird:
http://pastxt.com/P/DF0R94LTVP
Zu deinem Edit:
Probiere ich morgen mal, danke. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage