|
автор: Felix811 (02.09.2004 в 10:29) |
|
| Когда я ставлю галочку на удаление нужной мне строки, удаляется не отмеченная мной а последняя в списке.
Помогите разобраться.
Вот код:
<html>
<title>Запрос</title>
<body>
<?
Error_Reporting(E_ALL & ~E_NOTICE);
include_once "connect.php";
mysql_select_db($DB);
echo "<table border=1 cellspacing='0' width=100% bgcolor='#00CCCC'>";
echo "<tr bgcolor='#6666FF' colspan='2'><td>Правка</td><td>Номер авто</td><td>Марка
авто</td><td>Дата</td><td>Водитель</td><td>Груз</td><td>Участок</td><td>Заказчик</td></tr>";
$r=mysql_query("select * from abc_1");
for ($i=0; $i<mysql_num_rows($r); $i++)
{
echo "<tr>";
$f=mysql_fetch_array($r);
echo "<td><INPUT type='checkbox' name='Numers[]'
value='$f[Numers]'>$f[Numers]</td><td>$f[Num_avto]</td><td>$f[Vid_avto]</td><td>$f[Data]</td><td>$f[Voditel]</td><td>$f[Gruz]</td><td>$f[Uchastok]</td><td>$f[Zakazchik]</td>";
echo "</tr>";
}
// проверяем наличие переменной $update
if(!isset($update)){
//переменная отсутствует, выводим форму
echo "<FORM action='admin.php' method='post'>";
// выводим поля формы, а затем кнопку отправки
include_once "updat.php";
}
else {
// параметры введены, начинаем обработку
$dat=date("Y.m.d");
$tm=date("H:i:s");
$link=mysql_connect("$SERVER", "$USER", "$PASSWD");
mysql_select_db("UAT",$link);
for ($I=0;$I<count($f);$I++){
@mysql_query("UPDATE abc_1
SET Num_avto='$nmash', Vid_avto='$mmash', Data='$tm $dat', Voditel='$vod', Gruz='$soder', Uchastok='$uch',
Zakazchik='$firstname $lastname'
WHERE Numers='$f[$I]'", $link) or die(MySQL_Error());
}
echo "<center>Данные обновлены</center><br><br>";
}
// проверяем наличие переменной $delete
if(!isset($delete)){
//переменная отсутствует, выводим форму
echo "<FORM action='admin.php' method='post'>";
// выводим поля формы, а затем кнопку отправки
include_once "updat.php";
}
else {
echo "ПАРАМЕТРЫ: $QUERY_STRING";
// параметры введены, начинаем обработку
$dat=date("Y.m.d");
$tm=date("H:i:s");
$link=mysql_connect("$SERVER", "$USER", "$PASSWD");
mysql_select_db("UAT",$link);
for ($I=0;$I<count($f);$I++)
{
echo "<br>$f[$I]";
@mysql_query("DELETE FROM abc_1 WHERE Numers='$f[$I]'", $link) or die(MySQL_Error());
}
echo "<center>Данные обновлены</center><br><br>";
}
?>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Felix811
(02.09.2004 в 10:29)
| | Хм... но ведь массив $f и содержит поля последней записи... Вы же передаёте массив Numers и к нему следует обращаться по $_POST['Numers'][$I], т.е.:
<?php
@mysql_query("DELETE FROM abc_1 WHERE Numers=".$_POST['Numers'][$I].", $link) or die(MySQL_Error());
?>
|
| |
|
|
|
|
автор: Felix811 (07.09.2004 в 12:56) |
|
|
для: cheops
(02.09.2004 в 17:21)
| | Cheops, Привет!
Код который ты мне написал не работает.
Посмотри пожалуйста может еще чего сможешь сделать. | |
|
|
|
|
|
|
|
для: Felix811
(07.09.2004 в 12:56)
| | Было бы гораздо легче отлаживать, если бы у меня был кусочек базы, используемой в данном скрипте. | |
|
|
|
|
автор: Felix811 (08.09.2004 в 05:03) |
|
|
для: cheops
(07.09.2004 в 13:05)
| | Вот база MySql как ты просил. | |
|
|
|
|
|
|
|
для: Felix811
(08.09.2004 в 05:03)
| | Хм... вот чего не понимаю: у вас же type='checkbox' не попадают в форму для обновления и удаления, так как тэги form расположены ниже на странице.... | |
|
|
|
|
автор: Felix811 (09.09.2004 в 11:31) |
|
|
для: cheops
(08.09.2004 в 22:39)
| | Во блин, точно, и как это я так упустил.
СПАСИБО теперь все работает. | |
|
|
|