2014-01-10 6 views
-3

Ok, так что у меня есть ВЫБЕРИТЕPHP/SQL Удалить для каждой строки

$filme_cart = mysql_query("SELECT name, price FROM cart_test GROUP BY name"); 

, а затем у меня есть PHP код, который выглядит следующим образом:

<?php                 
    while($film_cart=mysql_fetch_object($filme_cart)) 
    {               
    echo "<tr>";                
    echo "<td align='left'>";                 
    echo $film_cart->name;                
    echo "</td>";                
    echo "<td class='cart-product-setting'>";                
    echo $film_cart->price;                 
    echo "<a href='delete.php?delete_film=".$film_cart['id_film']."' class='remove-pro' rel='tooltip' data-title='Delete'><i class='icon-trash'></i></a></td>";                
    echo "</tr>"; 
} 
?> 

И мой файл delete.php выглядит следующим образом:

<?php 
include 'config.php'; 
$delete_film=$_GET['id_film']; 
$delete_cart = mysql_query("DELETE FROM cart_test WHERE id_film='$delete_film'"); 
?> 

Так что, когда я положил, что PHP код в веб-страницы, мой <body> исчезает.

Что я делаю неправильно?

+3

, что исчезает? –

+1

Исправьте это форматирование, пожалуйста. –

+0

@AbhikChakraborty «Это исчезает» и

Это

ответ

1

Вы должны использовать MySQLi или PDO
Вы пропустили 3 очки:

исправить запрос: 1) убедитесь, что вы выбрали все обязательные поля.

$filme_cart = mysql_query("SELECT * FROM cart_test GROUP BY name"); 

2) Попробуйте использовать: mysql_fetch_assoc

<?php 
    while($film_cart=mysql_fetch_assoc($filme_cart)) 
     { 
     echo "<tr>"; 
     echo "<td align='left'>"; 
     echo $film_cart['name']; 
     echo "</td>"; 
     echo "<td class='cart-product-setting'>"; 
     echo $film_cart['price']; 
     echo "<a href='delete.php?delete_film=".$film_cart['id_film']."' class='remove-pro' rel='tooltip' data-title='Delete'><i class='icon-trash'></i></a></td>"; 
     echo "</tr>"; 
    } 
    ?> 

А потом: 3) значение както $_GET['delete_film']

<?php 

include 'config.php'; 

$delete_film=$_GET['delete_film']; 

$delete_cart = mysql_query("DELETE FROM cart_test WHERE id_film=$delete_film limit 1"); 

?> 
+0

@ user3175636: это должно быть работа. Вы можете попробовать это? –

+0

он работает так, но теперь у меня есть другие проблемы с названием фильма и ценой. Примечание: попытка получить свойство не объекта в E: \ localhost.web \ temabd \ index-2.php в строке 122 –

1

Ваш параметр прибудете называется delete_film НЕ id_film

Так исправить эту линию

$delete_film=$_GET['id_film']; 

с этим один

$delete_film=$_GET['delete_film']; 
+0

Спасибо, но это не отсюда. –

+0

@ user3175636 Распечатайте файл var $ delete_film, если он сбрасывает данные, а может быть, он пуст. – Goikiu

0

1 - вам нужно выбрать id_film из БД
mysql_query("SELECT id_film, name, price FROM cart_test GROUP BY name");
2 - вы используете mysql_fetch_assoc для извлечения данных, так что вы должны повторить данные, такие как:
echo $film_cart['name'];
не нравятся:
echo $film_cart->name;
3 - Ваш параметр прибудет называется delete_film НЕ id_film, поэтому получить значение с:
$delete_film=$_GET['delete_film'];
4 - MySQL является устаревшим в PHP 5.5, вы должны использовать PDO или MySQLi
удачи

Смежные вопросы