Autor Zpráva
groook
Profil *
Dobrý den, potřeboval bych pomoc s UPDATE dotazem na DB. Mám kód
$sql="SELECT * FROM tabulka WHERE schvalen=1"; 

$result=mysql_query($sql);
while ($row=mysql_fetch_array($result)){
echo "<tr>";
echo "<td>".$row['name1']."</td>";
echo "<td>".$row['name2']."</td>";
echo '<td><input type="text" name="street[]" /></td>';
echo '<td><input type="text" name="city[]" /></td>';
echo '<input type="hidden" name="id[]" value="'. $row['id'].'"/>';
echo "</tr>";
}


Jak nyní má vypadat kód, který všechna data zpracuje a updatuje? Pokud je záznam pouze jeden, tak je to jednoduché. Problém je, když jich je více. Díky
djlj
Profil
Projeď to cyklem - v každém bude update.
groook
Profil *
Můžeš být prosím konkrétnější. Teoreticky to vim, bohužel praxe trochu zaostává
groook
Profil *
nikdo nevi?
nightfish
Profil
//zhruba takhle to dělám já


$sql="SELECT id, name1, name2 FROM tabulka WHERE schvalen=1";
$result=mysql_query($sql);
while ($row=mysql_fetch_row($result)){
list($id, $name1, $name2) = $row;
echo "<tr>";
echo "<td>$name1</td>";
echo "<td>$name2</td>";
echo "<td><input type=\"text\" name=\"street$id\" /></td>";
echo "<td><input type=\"text\" name=\"city$id\" /></td>";
echo "<input type=\"hidden\" name=\"id$id\" value=\"$id\" />";
echo "</tr>";
}

a při zpracování

foreach ($_POST as $key => $value) {
if (preg_match("/^id(\d+)$/", $key, $regs)) {
$id = $regs[1];
$street = $_POST['street'.$id];
$city = $_POST['city'.$id];
mysql_query("UPDATE tabulka SET street = '$street', city = '$city' WHERE id = $id");
}
}
groook
Profil *
mockrát díky!
Toto téma je uzamčeno. Odpověď nelze zaslat.

0