2013-08-28 3 views
6

У меня есть таблица элементов из моей базы данных и для каждого элемента я хочу кнопку удаления.Кнопка удаления для каждого поля

В настоящее время он работает, но кнопка показывает идентификационный номер, и я хочу просто сказать «удалить».

Я все еще хочу, чтобы удалить на основе joke.ID

$result = mysqli_query($con, "SELECT joke.id, joketext, jokedate, name, email FROM joke INNER JOIN author ON authorid = author.id"); 

echo "<form action='delete1.php' method='post'> 
<table border='1'> 
    <tr> 
     <th>Joke</th> 
     <th>Date</th> 
     <th>Name</th> 
     <th>Email</th> 
     <th>Delete</th> 
    </tr>"; 

    while($row = mysqli_fetch_array($result)) { 
     echo "<tr>"; 
     echo "<td>" . $row['joketext'] . "</td>"; 
     echo "<td>" . $row['jokedate'] . "</td>"; 
     echo "<td>" . $row['name'] . "</td>"; 
     echo "<td>" . $row['email'] . "</td>"; 
     echo "<td><input type='submit' name='deleteItem' value='".$row['id']."' /></td>"; 
     echo "</tr>"; 
    } 
    echo "</table>"; 
    echo "</form></br>"; 

    mysqli_close($con); 
?> 

это delete1.php

if (isset($_POST['deleteItem']) and is_numeric($_POST['deleteItem'])) { 
     // here comes your delete query: use $_POST['deleteItem'] as your id 
     mysqli_query($con,"DELETE FROM joke WHERE id='$_POST[deleteItem]'"); 
    } 
    mysqli_close($con); 
    header('Location: joke1.php'); 
    exit(); 
?> 

Я бы так же, как кнопки, чтобы сказать "удалить"

ответ

7

Go в объезд. Сделать скрытый элемент ввода следующим образом:

echo "<input type='hidden' name='deleteItem' value='".$row['id']."'>"; 

И изменить существующий в

echo "<td><input type='submit' value='Delete' /></td>"; 

Вот и все.

EDIT1: Вы должны придерживаться другой формы для каждой шутки.

while($row = mysqli_fetch_array($result)) 
{ 

    echo "<tr>"; 
    echo "<td>" . $row['joketext'] . "</td>"; 
    echo "<td>" . $row['jokedate'] . "</td>"; 
    echo "<td>" . $row['name'] . "</td>"; 
    echo "<td>" . $row['email'] . "</td>"; 
    echo "<td>"; 
    echo "<form action='delete1.php' method='post'> 
    echo "<input type='hidden' name='deleteItem' value='".$row['id']."'>"; 
    echo "<input type='submit' value='Delete' />"; 
    echo "</form>"; 
    echo "</td>"; 
    echo "</tr>"; 
} 
+0

HTML, в вашем * EDIT1 * действительно страшно. Просто поместите форму, скрытый ввод и отправьте кнопку все в последней ячейке таблицы. – Phil

+0

Сделал это. Благодарю. – kushpf

+0

Вы просто пропустили небольшой синтаксис в EDIT1, кроме этого отлично работает, спасибо –

0

Используйте простой способ

echo "<td><input type='button' value='Delete' onclick='javascript:location.href=\'delete1.php?id=" .$row['id']. "\'' /></td>"; 

delete1.php

if(isset($_GET['id']) and is_numeric($_GET['id'])) 
Смежные вопросы