Autor | Zpráva | ||
---|---|---|---|
Ben Profil * |
#1 · Zasláno: 22. 4. 2011, 11:25:21
Ahoj,
řeším administrační sekci fotogalerie jednoho webu. Cyklus mi vygeneruje podle dane podminky tuto tabulku: <form name="update" action="<?php echo $_SERVER["PHP_SELF"];?>" method="POST"> <table border="1" cellpadding="4"> <?php //zpracovani vyberu roku $rok = Mysql_real_escape_string($_POST["rok"]); $rok = htmlspecialchars($rok); $result = MySQL_Query("SELECT * FROM foto WHERE rok='".$rok."'"); if(!isset($_POST["ok_update"])){ while($radek = mysql_fetch_array($result)){ echo"<input type=\"hidden\" name=\"id[]\" value=\"{$radek["id"]}\">"; echo" <tr>"; echo" <td rowspan=\"3\"><img src=\"../img/uploaded/foto/thumb_{$radek["soubor"]}\" border=\"0\"></td>"; echo" <td>rolovatko roku</td>"; echo" </tr>"; echo" <tr>"; echo" <td><textarea name=\"popis[]\" cols=\"50\" rows=\"1\" maxlength=\"999\">{$radek["popis"]}</textarea></td>"; echo" </tr>"; echo" <tr>"; echo" <td><input type=\"checkbox\" name=\"smazat[]\" value=\"1\"> Smazat tuto fotku </td>"; echo" </tr>"; } if(isset($_POST["rok"])){ ?> <tr> <td> <input type="submit" name="ok_update" value="Upravit"> </td> </tr> <?php } } ?> </table> </form> A tímto ji chci upravit: <?php //zpracovani updateovani if($_POST["ok_update"]){ foreach($_POST["id"] as $key => $id){ if($_POST["smazat"][$key] == "1"){ //chyba-> ukazuje spatne id echo"Polozka s id:".$_POST["id"][$key]." se smaze<br>"; } else{ mysql_query("UPDATE foto SET popis='".$_POST["popis"][$key]."' WHERE id='".$_POST["id"][$key]."'"); } } } ?> část v else funguje dobře. Část v if($_POST["smazat"][$key] == "1") bude provádět mazání záznamů v mysql a masází souborů. Ale problém je v právě v této části if($_POST["smazat"][$key] == "1"). Pokud označím některý vygenerovaný checkbox, tak mi to ukazuje špatná ID tady Polozka s id:".$_POST["id"][$key]." se smaze<br>. Prosím o radu, jak to upravit. Děkuji |
||
Taps Profil |
#2 · Zasláno: 22. 4. 2011, 11:33:09 · Upravil/a: Taps
Ben:
if($_POST["ok_update"]){ foreach($_POST["id"] as $key => $id){ if($_POST["smazat"][$key] == "1"){ //chyba-> ukazuje spatne id echo"Polozka s id:".$id." se smaze<br>"; } else{ mysql_query("UPDATE foto SET popis='".$_POST["popis"][$key]."' WHERE id='".$_POST["id"][$key]."'"); } } } |
||
Ben Profil * |
#3 · Zasláno: 24. 4. 2011, 15:20:29
tak ani takto mi to nefungovalo, nakonec jsem to vyřešil takto:
<?php //zpracovani vyberu roku $rok = Mysql_real_escape_string($_POST["rok"]); $rok = htmlspecialchars($rok); $result = MySQL_Query("SELECT * FROM foto WHERE rok='".$rok."'"); $i = 0; if(!isset($_POST["ok_update"])){ while($radek = mysql_fetch_array($result)){ $i = $i+1; echo"<input type=\"hidden\" name=\"id[".$i."]\" value=\"{$radek["id"]}\">"; echo" <tr>"; echo" <td rowspan=\"3\"><img src=\"../img/uploaded/foto/thumb_{$radek["soubor"]}\" border=\"0\"></td>"; echo" <td>rolovatko roku</td>"; echo" </tr>"; echo" <tr>"; echo" <td><textarea name=\"popis[".$i."]\" cols=\"50\" rows=\"1\" maxlength=\"999\">{$radek["popis"]}</textarea></td>"; echo" </tr>"; echo" <tr>"; echo" <td><input type=\"checkbox\" name=\"smazat[".$i."]\" value=\"1\"> Smazat tuto fotku </td>"; echo" </tr>"; } if(isset($_POST["rok"])){ ?> <tr> <td> <input type="submit" name="ok_update" value="Upravit"> </td> </tr> <?php } } ?> </table> </form> <?php //zpracovani updateovani if($_POST["ok_update"]){ foreach($_POST["id"] as $key => $id){ if($_POST["smazat"][$key] !== "1"){ if(mysql_query("UPDATE foto SET popis='".$_POST["popis"][$key]."' WHERE id='".$id."'")){ echo" Polozka s id: ".$id." byla aktualizovana.<br>"; } else{ echo"<p class=\"error\">Polozka s id: ".$id." <strong>nebyla</strong> aktualizovana.</p>"; } } elseif($_POST["smazat"][$key] == "1"){ echo"Polozka s id:".$id." se smaze<br>"; } else{ echo"<p class=\"error\">Jina chyba</p>"; } } } ?> |
||
Ben Profil * |
#4 · Zasláno: 24. 4. 2011, 15:21:31
Ale děkuju za pomoc :)
|
||
Časová prodleva: 13 let
|
0