Имам проблем,в кода които е показан по доло аз се опитвам да ъпдейтна няколко реда в MySQL таблица на веднъж (то се получи веднъж но след като добавих и ъпдейт за Prefix полето нещо се бъгна)така бъга е:
на тази страница се показват толкова форми,колкото записи има в цялата таблица,но някъде съм допуснал грешка и тя прави така че ВСЕКИ ред в таблицата се ъпдейтва,но с информацията от последната форма (нали ви обясних колко са) а не от всяка ко отделно.Надявам се да сте разбрали проблема,ако не не се притеснявайте да питате.Моят стремеж е да се ъпдейтва секи ред по отделно с информацията от формата която е за него.
на тази страница се показват толкова форми,колкото записи има в цялата таблица,но някъде съм допуснал грешка и тя прави така че ВСЕКИ ред в таблицата се ъпдейтва,но с информацията от последната форма (нали ви обясних колко са) а не от всяка ко отделно.Надявам се да сте разбрали проблема,ако не не се притеснявайте да питате.Моят стремеж е да се ъпдейтва секи ред по отделно с информацията от формата която е за него.
Код:
<?php
include "common.php";
if ($_SESSION['is_loged'] !=true){
echo "You need to login as admin to view this page";
}
$sql = "SELECT * FROM countrys ORDER BY name ASC";
$result = mysql_query($sql) or die (mysql_error());
$broi = mysql_num_rows($result);
echo "<form method='post' action=''>";
while($row = mysql_fetch_assoc($result)){
$country = $row['name'];
$rate = $row['rate'];
$prefix = $row['prefix'];
echo "<table>";
echo "<tr><td><input type ='text' name='country_prefix[]' value = '$prefix'/></td>";
echo "<td><input type ='text' name='country_name[]' value = '$country'/></td>";
echo "<td><input type ='text' name='country_rate[]' value = '$rate'/></td></tr>";
echo "<input type = 'hidden' name='hidden' value='1' />";
if ($_POST['hidden'] ==1){
$sql1 = "SELECT * FROM countrys WHERE name = '$country'";
$result1 = mysql_query($sql1) or die (mysql_error());
while($rowa = mysql_fetch_assoc($result1)){
$id = $rowa['id'];
}
for($i=0;$i<$broi;$i++){
$country_name = $_POST['country_name'];
$country_rate = $_POST['country_rate'];
$country_prefix = $_POST['country_prefix'];
while(list($key,$name) = each($country_name) AND list($key1,$rate) = each($country_rate)
AND list($key2,$prefix) = each($country_prefix)){
$id = $id + $i;
$zaqvka = "UPDATE countrys SET name = '$name',rate ='$rate',prefix = '$prefix' WHERE id='$id'";
$resulta = mysql_query($zaqvka) or die(mysql_error());
}
unset($country_name,$country_rate,$country_prefix);
}
echo "changes are maded <a href='index.php'>back</a>";
}
}
echo "<tr><td align='center'><input type='submit' name='submit' value='Change' /></tr></td>";
echo "</table>";
echo "</form>";
?>