2014-02-17 3 views
-2

Может ли кто-нибудь мне помочь?Как я могу удалить идентификатор строк из базы данных

here is my php script... 

$req = mysql_query('SELECT id, email, start_date, end_date, time_event, time_submitted, payment_method, status FROM booking_members WHERE status="Canceled"'); 
while($dnn = mysql_fetch_array($req)) 
$req1 = mysql_query('DELETE FROM booking_members WHERE id='$id'); 
while($dnn1 = mysql_fetch_array($req1)) 
{ 
<td class="left"><center> 
<a href="delete.php?id=<?php echo $dnn['id']; ?>"><img src="images/cross.png"></img></a> 
</td></center> 

Как я могу получить идентификатор из $ dnn ['id'], чтобы удалить строки?

+0

у вас есть ошибка синтаксиса '$ req1 = mysql_query ('DELETE FROM booking_members WHERE ID = $ ID');' – Bugaloo

ответ

0

Майк Брант в точности прав; Вы должны удалить их, не просматривая сначала. Но если вы хотите получить доступ к идентификатору, вы будете использовать:

// ... PREVIOUS 

while ($dnn = mysql_fetch_array($req)) { 

    $delete_id = $dnn['id']; 

    $req1 = mysql_query("DELETE FROM booking_members WHERE id='".$delete_id."'"); 

// ... CONTINUE 
4

Почему бы просто не запустить удаление напрямую?

DELETE FROM booking_members WHERE status='Cancelled' 

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

+0

нужно удалить определенную строку не все удаления строки – user3303166

+0

@ user3303166 Ваш пример кода, кажется, чтобы показать вам зацикливание путем выбора результатов запроса и удаления каждого из идентификаторов (хотя неясно, откуда приходит «$ id»). –

0
while($dnn = mysql_fetch_array($req)) 

Где {? И здесь:

$req1 = mysql_query('DELETE FROM booking_members WHERE id='$id'); 

Если вы хотите идентификатор, последнего запроса, вы должны сделать: $ DNN [ 'ID'], а не $ ID (или установить $ идентификатор ранее) ... И, для включения HTML-скрипта в скрипт PHP вы должны использовать эхо или печать или должны закрыть теги php (?>)

0

Если вы хотите посмотреть, и имейте в виду, что вы используете dot net nuke, скачайте модуль бесплатных отчетов. После установки его отредактировать его и введите в следующем заявлении выберите:

Select u.id, 
u.username, 
u.email, 
b.start_date, 
b.end_date, 
b.time_event, 
b.time_submitted, 
b.payment_method, 
b.status 
FROM users as u 
Join 
booking_members as b on u.userid = b.userid 
Where status="Canceled"' 

это покажет вам имя пользователя, адрес электронной почты, дата_начала датой_окончания, Time_event, Time_submitted, PAYMENT_METHOD и статус пользователей, где есть отмененных статус ...

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