Задавайте вопросы, мы ответим
Вы не зашли.
Проблема заключаеться в следующем, когда нажимаю изменить, у меня изменяються все строки в базе данных, а не именно та строка которую я хочу изменить, а добавляет и удаляет нормально, вот скрипт:
<html> <head> <title>Пробуем)))</title> </head> <body> <?require ("connectdb.inc.php");?> <?if(isset($users)):?> <table width="1000" border="1" cellspacing="0" cellpadding="0" align="center"> <tr align="center"> <td>Номер</td> <td>Имя</td> <td>Фамилия</td> <td>Рост</td> <td>Вес</td> <td>Изменить/Удалить</td> </tr> <?$sql=mysql_query("select*from users"); while($row=mysql_fetch_array($sql)) { $id=$row['id']; $name=$row['name']; $name2=$row['name2']; $rost=$row['rost']; $ves=$row['ves']; ?> <form METHOD="POST" ACTION="index.php?id=<?=$id;?>"> <tr align="center"> <td><?=$id;?></td> <td><?=$name;?></td> <td><?=$name2;?></td> <td><?=$rost;?></td> <td><?=$ves;?></td> <td><INPUT TYPE="submit" name="readd" value="Изменить"><br> <INPUT TYPE="submit" name="delete" value="Удалить"></td> </tr> </form> <?}?> </table> <? elseif(isset($delete)): $result = mysql_query("delete from users where id='$id'"); if ($result == 'true') {echo "Человек удален";} else {echo "Не хочет удаляться";} elseif(isset($readd)): if(isset($par)): $result = mysql_query ("UPDATE users SET name='$name1', name2='$name3', rost='$rost1', ves='$ves1'"); if ($result == 'true') {echo "Данные успешно обновлены.";} else {echo "Данные не обновлены!";} ?> <BR><BR><BR> <? else:?> <?$sql=mysql_query("select*from users"); $row=mysql_fetch_array($sql); $name=$row['name']; $name2=$row['name2']; $rost=$row['rost']; $ves=$row['ves'];?> <FORM METHOD=POST ACTION="index.php"> Номер <INPUT TYPE="text" value="db" NAME="par"><br> Имя было <?=$name?> станет <INPUT TYPE="text" NAME="name1"><BR> Фамилия была <?=$name2?> станет <INPUT TYPE="text" NAME="name3"><BR> Рост был <?=$rost?> станет <INPUT TYPE="text" NAME="rost1"><BR> Вес был <?=$ves?> станет <INPUT TYPE="text" NAME="ves1"><BR> <INPUT TYPE="submit" name="readd" value="Изменить"> </FORM> <?endif;?> <? elseif(isset($add)): if(isset($par1)): mysql_query("insert into users values (null, '$name','$name2','$rost','$ves');"); echo "Человек добавлен";?> <?else:?> <FORM METHOD=POST ACTION="index.php"> <table width="1000" border="1" cellspacing="0" cellpadding="0" align="center"> <tr align="center"> <td>Константа</td> <td>Имя</td> <td>Фамилия</td> <td>Рост</td> <td>Вес</td> </tr> <tr align="center"> <td><INPUT TYPE="text" value="db" NAME="par1"></td> <td><INPUT TYPE="text" NAME="name"></td> <td><INPUT TYPE="text" NAME="name2"></td> <td><INPUT TYPE="text" NAME="rost"></td> <td><INPUT TYPE="text" NAME="ves"></td> </tr> <tr align="center"> <td colspan="3"><INPUT TYPE="submit" name="add" value="::Сохранить::"></td> <td colspan="2"><INPUT TYPE="reset" value="::Очистить::"></td> </tr> </table> <?endif;?> <? else: $sql=mysql_query("select*from users"); $num=mysql_num_rows($sql); ?> <FORM METHOD="get" ACTION="index.php"> <table width="200" border="1" cellspacing="0" cellpadding="0" align="center"> <tr align="center"> <td><INPUT TYPE="submit" name="users" value="Люди <?=$num?>"></td> </tr> <tr align="center"> <td><INPUT TYPE="submit" name="add" value="Добавить людей"></td> </tr> </table> </FORM> <?endif;?> <br><br> <center><a href="index.php">На Главную</a></center> </body> </html>
Поскажите что неправильно
Неактивен
Чтобы изменялась одна строка, нужно условие указать, при котором замена идёт.
то есть не
"UPDATE users SET name='$name1', name2='$name3', rost='$rost1', ves='$ves1'"
а что-то вроде
"UPDATE users SET name='$name1', name2='$name3', rost='$rost1', ves='$ves1' where user.id=$id"
где id - идентификатор пользователя
И между прочим
$result = mysql_query ("UPDATE users SET name='$name1', name2='$name3', rost='$rost1', ves='$ves1'");
if ($result == 'true')
вот так неправильно, см http://www.php.su/functions/?mysql-query
Функция возвращает либо идентификатор набора записей (если запрос на выборку, иначе TRUE), либо FALSE в случае неудачи. 'true' и TRUE - не одно и то же.
Отредактированно deadka (12.11.2011 16:53:27)
Неактивен
Теперь вообще ничего не обновляет((( НЕ понятно
Неактивен
Все сделал)))) Спасибо за внимание)))
Неактивен