2013-08-28 10 views
6

Ho una tabella di elementi dal mio database e per ogni elemento voglio un pulsante di cancellazione.Un pulsante di cancellazione per ogni campo

Attualmente funziona, ma il pulsante mostra il numero ID e voglio solo dire "cancella".

voglio ancora che per eliminare basa sul 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); 
?> 

questo è il 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(); 
?> 

vorrei solo il pulsante per dire "eliminare"

risposta

7

Go viceversa. Fare un elemento di input nascosto come segue:

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

e cambiare quello già esistente per

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

Questo è tutto.

EDIT1: Dovrai tenere un modulo diverso per ogni Joke.

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

Il codice HTML nel vostro * * EDIT1 è veramente terribile. Basta inserire il modulo, l'input nascosto e il pulsante di invio tutto nell'ultima cella della tabella – Phil

+0

Did it. Grazie. – kushpf

+0

Hai appena perso un po 'di sintassi in EDIT1, a parte il fatto che funziona alla grande, grazie –

0

Utilizzare un modo semplice

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'])) 
Problemi correlati