| Autor | Zpráva | ||
|---|---|---|---|
| Ben Profil * |
Mám formulářovou tabulku která mi načte obsah MySQL tabulky a po odeslání ke zpracování mi neupdatuje data.
$sql mi vrací: UPDATE czsk_inserty SET jmeno="j", rok="r", firma="f", cislo="c", cena="c", where zaznam="3". Což je poslední řádek tabulky, který vypadá takto: jmeno="jmeno3", rok="rok3", firma="firma3", cislo="cislo3", cena="cena3", zaznam="3" Nějaké nápady proč? <?php
$sql='UPDATE czsk_inserty SET jmeno="'.$_POST['jmeno'][$klic].'", rok="'.$_POST['rok'][$klic].'", firma="'.$_POST['firma'][$klic].'", cislo="'.$_POST['cislo'][$klic].'", cena="'.$_POST['cena'][$klic].'", where zaznam="'.$_POST['zaznam'][$klic].'"';
//vlozeni souboru na spojeni s MySQL
include("../config.php");
/*zpracovani pri odeslani formulare*/
if($_POST['ok']){echo"<b>Odesláno OK</b>";
foreach($_POST["zaznam"] as $klic => $data["zaznam"])
{
mysql_query($sql);
}
}
//hlavicka formulare
?>
<form action="<?php echo $PHP_SELF ?>" method="post" enctype="multipart/form-data">
<table width="820"align="center" border="1" cellspacing="0">
<tr>
<td align="center"><b>Záznam</b></td>
<td align="center"><b>Jméno</b></td>
<td align="center"><b>Rok</b></td>
<td align="center"><b>Firma</b></td>
<td align="center"><b>Číslo</b></td>
<td align="center"><b>Cena</b></td>
<td align="center"><b>Obrázek</b></td>
</tr><?php
//kdyz je odeslano OK, nacteni hodnot z formulare
//pri prostem zobrazeni formulare se nactou data z databaze
$vysledek=mysql_query("select * from czsk_inserty");
while ($data=MySQL_Fetch_Array($vysledek)):
?>
<TR>
<TD align="center"><input type="text" name="zaznam" value="<? if(!$_POST['ok']){echo $data["zaznam"];} else echo $_POST['zaznam'];?>"></TD>
<TD align="center"><input type="text" name="jmeno" value="<? if(!$_POST['ok']){echo $data["jmeno"];} else echo $_POST['jmeno'];?>"></TD>
<TD align="center"><input type="text" name="rok" value="<? if(!$_POST['ok']){echo $data["rok"];} else echo $_POST['rok'];?>"></TD>
<TD align="center"><input type="text" name="firma" value="<? if(!$_POST['ok']){echo $data["firma"];} else echo $_POST['firma'];?>"></TD>
<TD align="center"><input type="text" name="cislo" value="<? if(!$_POST['ok']){echo $data["cislo"];} else echo $_POST['cislo'];?>"></TD>
<TD align="center"><input type="text" name="cena" value="<? if(!$_POST['ok']){echo $data["cena"];} else echo $_POST['cena'];?>"></TD>
<TD align="center"><?echo odkaz ?></TD>
</TR>
<?php
endwhile;
?>
</table>
<br />
<br />
<center><input type="submit" name="ok" value="Odeslat"><br /><br /></center>
<center><input type="reset" value="Vrátit původní hodnoty"></center>
</form>Moderátor Alphard: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na
). |
||
| fuckin Profil |
#2 · Zasláno: 10. 11. 2009, 19:57:54
Zkus si vypsat jakou chybu ti db vrati.
.... mysql_query($sql) or die(mysql_error()); ... |
||
| Ben Profil * |
#3 · Zasláno: 10. 11. 2009, 20:04:50
db žádnou chybu nevrací, chyba je podle me tady foreach($_POST["zaznam"] as $klic => $data["zaznam"])
|
||
| panther Profil |
#4 · Zasláno: 10. 11. 2009, 20:09:12
Ben:
vypiš si proměnnou $sql, jestli je její obsah takový, jaký očekáváš. Vypiš si i výstup z toho foreache, jestli je takový, jaký chceš. Pokud ani jeden z těch dvou, které jsem vybral, nebude špatně, vypisuj si postupně, co je jiné, než očekáváš. |
||
| Ben Profil * |
#5 · Zasláno: 10. 11. 2009, 20:09:33
když dám vypsat $klic, tak mi to nic nevrati
|
||
| Ben Profil * |
#6 · Zasláno: 10. 11. 2009, 20:31:34
panther: OK
|
||
|
Časová prodleva: 17 let
|
|||
0
).