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

Форум MySQL

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

 

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

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

тема: Удаление записи из базы данных
 
 автор: solomusic   (17.08.2008 в 23:38)   письмо автору
 
 

Help! Чтот не соображаю я к вечеру... помогите. Есть БД. И нужно написать удаление строк...
Вроде оно идет вот так:
$sql = "DELETE FROM `b` WHERE `id` = `@id`";
$delete = mysql_query($sql);

а как связать с кнопкой что-то не могу сообразить... :((

  Ответить  
 
 автор: cheops   (18.08.2008 в 00:22)   письмо автору
 
   для: solomusic   (17.08.2008 в 23:38)
 

Опишите подробнее ситуацию, при нажатии на кнопку вы какого эффекта хотите добиться?

  Ответить  
 
 автор: solomusic   (18.08.2008 в 00:59)   письмо автору
 
   для: cheops   (18.08.2008 в 00:22)
 

при нажатии на кнопку запись из БД удаляется...

  Ответить  
 
 автор: sl1p   (18.08.2008 в 01:34)   письмо автору
 
   для: solomusic   (17.08.2008 в 23:38)
 


<?
if(!empty($_POST['Submit'])){
$sql "DELETE FROM `b` WHERE `id` = `@id`";
$delete mysql_query($sql);
}
?>
<input type="submit" name="Submit" value="Удалить">

  Ответить  
 
 автор: solomusic   (18.08.2008 в 01:51)   письмо автору
 
   для: sl1p   (18.08.2008 в 01:34)
 

я явно что-то не так делаю но не получается. Вот код вывода инфо:
<?php
    ini_set
('display_errors',1);
    
Error_Reporting(E_ALL & ~E_NOTICE);
      
mysql_connect ("localhost""root""");
    
mysql_select_db('board');
    if(!empty(
$_POST['Submit'])){ 
    
$sql "DELETE FROM `b` WHERE `id` = ".$res['id'].""
    
$delete mysql_query($sql); 
    }
    
$sql "SELECT * FROM `b` ORDER BY `id`  DESC";
    
$result mysql_query($sql);
       while(
$res=mysql_fetch_array($result))
        {
        echo 
"<table style='border: ridge silver;' cellpadding=3 cellspacing=0 width=100% bgcolor='ffffff'><tr><td><table width=100%>";
        echo 
"<tr bgcolor='#d8eaed'><td colspan=4>";
        echo 
"<small>".$res['id']."</small> ".chr(149)." <B>";
        echo 
"<font color=navy>".$res['city']."->".$res['rubric']." ".$res['pdrubric']."</font></B></td></tr>";
        echo 
"<tr><td><font color='#999999'>Имя:</font> <i>".$res['name']."(".$res['kto'].")</i></td>";
        echo 
"<td><font color='#999999'>район:</font> <i>".$res['area']."</i></td>";
        echo 
"<td><font color='#999999'>улица:</font> <i>".$res['street']."</i></td>";
        echo 
"<tr><td colspan=3><b>  </b>".$res['det']."</td></tr>";
        echo 
"<tr bgcolor='#d8eaed'><td width=30%><img src='images/hom.gif'> ".$res['phone']."</td>";
        echo 
"<td width=25%><img src='images/mailo.gif'> <a href=\"mailto:".$res['email']."\"> ".$res['email']."</a></font></td>";
        echo 
"<td width=35%><small>Цена: &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<B> ".$res['cena']."</B><br/>";
        echo 
"Размещено: <B> ".$res['date']." </B></small></td>";
        echo 
"<td width='2%'><input type='Image' name='Submit' src='images/delit.gif'/></td></tr>";
        echo 
"</table></td></tr></table><br/>";
        }
        
?>  

Help...

  Ответить  
 
 автор: Trianon   (18.08.2008 в 02:03)   письмо автору
 
   для: solomusic   (18.08.2008 в 01:51)
 

1. Должно стоять Error_Reporting(E_ALL) как минимум до тех пор, пока Вы не выучите язык.
2. Собственно из-за этого Вы не видите, что в строке
$sql = "DELETE FROM `b` WHERE `id` = ".$res['id']."";
переменная $res у Вас не определена.
3. Где форма?

  Ответить  
 
 автор: solomusic   (18.08.2008 в 02:18)   письмо автору
 
   для: Trianon   (18.08.2008 в 02:03)
 

Форма ввода инфо? хм... на странице add.php. А не определена... а как тогда сделать чтоб она была определена? если я id беру просто с БД????

  Ответить  
 
 автор: Trianon   (18.08.2008 в 02:22)   письмо автору
 
   для: solomusic   (18.08.2008 в 02:18)
 

Форма удаления.

  Ответить  
 
 автор: solomusic   (18.08.2008 в 02:26)   письмо автору
 
   для: Trianon   (18.08.2008 в 02:22)
 

хм... ну в коде который я представила есть кнопка удаления и есть прописано удаление которое мне написали в этом форуме... или я что-то не так понимаю?

  Ответить  
 
 автор: Trianon   (18.08.2008 в 02:48)   письмо автору
 
   для: solomusic   (18.08.2008 в 02:26)
 

Кнопка (как, впрочем, и другие элементы ввода) сама по себе работать не будет. Её нужно в форму поместить.

  Ответить  
 
 автор: solomusic   (18.08.2008 в 03:00)   письмо автору
 
   для: Trianon   (18.08.2008 в 02:48)
 

блн... точно... спс... вот:
<form action='?' method='post'><input type='Image' name='Submit' src='images/delit.gif'/></form>

но все же... я понимаю что проблема в id?
как его правильно написать?

  Ответить  
 
 автор: Trianon   (18.08.2008 в 09:15)   письмо автору
 
   для: solomusic   (18.08.2008 в 03:00)
 

>блн... точно... спс... вот:
>но все же... я понимаю что проблема в id?
>как его правильно написать?
Придется передать его (скрытым элементом как правило) в форме:
echo "<form action='?' method='post'><input type='hidden' name='del_id' value='".$res['id']."' />
<input type='Image' name='Submit' src='images/delit.gif'/></form>


и в запрос брать уже из формы:

$sql = "DELETE FROM `b` WHERE `id` = ". intval($_POST['del_id']); 

  Ответить  
 
 автор: solomusic   (18.08.2008 в 19:57)   письмо автору
 
   для: Trianon   (18.08.2008 в 09:15)
 

Ничег оне понимаю... все равно не рабоатет... или я вновь не туда чтот поставила???

<?php
mysql_connect 
("localhost""root""");
    
mysql_select_db('board');
    
$sql "DELETE FROM `b` WHERE `id` = "intval($_POST['del_id']);
    
$sql "SELECT * FROM `b` ORDER BY `id`  DESC";
    
$result mysql_query($sql);
       while(
$res=mysql_fetch_array($result))
        {
        echo 
"<table style='border: ridge silver;' cellpadding=3 cellspacing=0 width=100% bgcolor='ffffff'><tr><td><table width=100%>";
        echo 
"<tr bgcolor='#d8eaed'><td colspan=4>";
        echo 
"<small>".$res['id']."</small> ".chr(149)." <B>";
        echo 
"<font color=navy>".$res['city']."->".$res['rubric']." ".$res['pdrubric']."</font></B></td></tr>";
        echo 
"<tr><td><font color='#999999'>Имя:</font> <i>".$res['name']."(".$res['kto'].")</i></td>";
        echo 
"<td><font color='#999999'>район:</font> <i>".$res['area']."</i></td>";
        echo 
"<td><font color='#999999'>улица:</font> <i>".$res['street']."</i></td>";
        echo 
"<tr><td colspan=3><b>  </b>".$res['det']."</td></tr>";
        echo 
"<tr bgcolor='#d8eaed'><td width=35%><img src='images/hom.gif'> ".$res['phone']."</td>";
        echo 
"<td width=25%><img src='images/mailo.gif'> <a href=\"mailto:".$res['email']."\"> ".$res['email']."</a></font></td>";
        echo 
"<td width=30%><small>Цена: &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<B> ".$res['cena']." ".$res['val']."</B><br/>";
        echo 
"Размещено: <B> ".$res['date']." </B></small></td>";
        echo 
"<td width='2%'><form action='?' method='post'><input type='hidden' name='del_id' value='".$res['id']."' /><input type='Image' name='Submit' src='images/delit.gif'/></form></td></tr>";
        echo 
"</table></td></tr></table><br/>";
        }
?>

  Ответить  
 
 автор: Trianon   (18.08.2008 в 21:02)   письмо автору
 
   для: solomusic   (18.08.2008 в 19:57)
 

    $sql = "DELETE FROM `b` WHERE `id` = ". intval($_POST['del_id']);
    $sql = "SELECT * FROM `b` ORDER BY `id`  DESC";
    $result = mysql_query($sql); 

Второй запрос (SELECT) выполнили. А первый (DELETE) кто выполнять будет?

  Ответить  
 
 автор: solomusic   (18.08.2008 в 22:26)   письмо автору
 
   для: Trianon   (18.08.2008 в 21:02)
 

Огромное спасибо за помощь! Все работает! ;))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования