Autor | Zpráva | ||
---|---|---|---|
Ben Profil * |
#1 · Zasláno: 2. 5. 2011, 10:11:53
Ahoj,
řeším problém ukládání chybových hlášek do pole a jeho následné vypsání cyklem. A nedaří se mi to. Mám toto: <?php //zpracovani z generovaneho formu foreach($_POST["id"] as $key => $id){ //aktualizace polozek z formu if($_POST["smazat"][$key] !== "1"){ $i = 0; $chyba_update = array(); if(mysql_query("UPDATE foto SET popis='".$_POST["popis"][$key]."' WHERE id='".$id."'")){ $chyba_update = false; } else{ //zde je zakomentovany puvodni kod, ktery kdyz odkomentuju, tak to funguje //echo"<p class=\"error\">Položku s id: ".$id." <strong>se nepodařilo</strong> aktualizovat.</p>"; //echo"<form><input type=\"button\" value=\"Zpět\" onclick=\"history.back()\"></form>"; //a tady mi to neuklada do pole $chyba_update = $id[$i]; } $i = $i+1; } } //a tady je zpracovani chybove hlasky, kde mi to zpracovava vzdy jen cast else, i kdyz vyvolam chybu if(is_array($chyba_update)){ foreach($chyba_update as $key => $i){ echo"<p class=\"error\">Položku s id: ".$chyba_update[$key]." <strong>se nepodařilo</strong> v MySQL aktualizovat.</p>"; } echo"<form><input type=\"button\" value=\"Zpět\" onclick=\"history.back()\"></form>"; } else{ echo"Všechny položky byly úspěšně aktualizovány<br>"; } ?> Poradíte mi prosím, kde dělám chybu? |
||
Stano Profil |
#2 · Zasláno: 2. 5. 2011, 10:17:56
Ben:
$chyba_update[] = $id[$i]; |
||
Ben Profil * |
#3 · Zasláno: 2. 5. 2011, 18:36:27
Děkuji za usměrnění. Nakonec takto:
foreach($_POST["id"] as $key => $id){ //aktualizace polozek if($_POST["smazat"][$key] !== "1"){ if(mysql_query("UPDATE foto SET popis='".$_POST["popis"][$key]."' WHERE id='".$id."'")){ $chyba_update[] = ""; } else{ //echo"<p class=\"error\">Položku s id: ".$id." <strong>se nepodařilo</strong> aktualizovat.</p>"; //echo"<form><input type=\"button\" value=\"Zpět\" onclick=\"history.back()\"></form>"; $chyba_update[] = $id; } } } if(!in_array("", $chyba_update)){ foreach($chyba_update as $key => $i){ echo"<p class=\"error\">Položku s id: ".$chyba_update[$key]." <strong>se nepodařilo</strong> v MySQL aktualizovat.</p>"; } echo"<form><input type=\"button\" value=\"Zpět\" onclick=\"history.back()\"></form>"; } |
||
Stano Profil |
#4 · Zasláno: 2. 5. 2011, 19:15:02 · Upravil/a: Stano
Ben:
máš to trocha dopletené použitie foreach(){} $a["pes"] = "Dunčo"; $a["kon"] = "Hatatitla"; $a["macka"] = "Mica"; foreach($a as $zviera => $meno){ echo "Náš $zviera sa volá $meno; } //dostaneš //Náš pes sa volá Dunčo; //Náš kon sa volá Hatatitla; //Náš macka sa volá Mica; Hádam s touto pomocou si opravíš tie foreach() a potom ešte: $chyba_update[] = ""; //by som stade vyhodil if(!in_array("", $chyba_update)){ //by som stade potom vyhodil |
||
Tori Profil |
#5 · Zasláno: 2. 5. 2011, 21:31:11
Ben:
$chyba_update = array(); // výchozí hodnota = bez chyb foreach($_POST["id"] as $key => $id){ //... if (!mysql_query("UPDATE foto SET popis='".$_POST["popis"][$key]."' WHERE id='".$id."'")) { $chyba_update[] = $id; // keďže podle [#3] chcete reagovat jen na chyby. //... if(!empty($chyba_update)) { //..atd. |
||
Časová prodleva: 13 let
|
0