Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: PHP & MYSQL
 
 автор: 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>

   
 
 автор: cheops   (02.09.2004 в 17:21)   письмо автору
 
   для: 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, Привет!

Код который ты мне написал не работает.
Посмотри пожалуйста может еще чего сможешь сделать.

   
 
 автор: cheops   (07.09.2004 в 13:05)   письмо автору
 
   для: Felix811   (07.09.2004 в 12:56)
 

Было бы гораздо легче отлаживать, если бы у меня был кусочек базы, используемой в данном скрипте.

   
 
 автор: Felix811   (08.09.2004 в 05:03)
 
   для: cheops   (07.09.2004 в 13:05)
 

Вот база MySql как ты просил.

   
 
 автор: cheops   (08.09.2004 в 22:39)   письмо автору
 
   для: Felix811   (08.09.2004 в 05:03)
 

Хм... вот чего не понимаю: у вас же type='checkbox' не попадают в форму для обновления и удаления, так как тэги form расположены ниже на странице....

   
 
 автор: Felix811   (09.09.2004 в 11:31)
 
   для: cheops   (08.09.2004 в 22:39)
 

Во блин, точно, и как это я так упустил.

СПАСИБО теперь все работает.