Delete rand din myqsl database

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
baciucalin
Mesaje:9

Delete rand din myqsl database

Salut, am facut un tabel cu top20 pentru un radio online si la partea de administrare vreau sa am posibilitatea de stergere a inregistrarilor, a melodiilor din baza de date. Tabelul arata cam asa:

Cod: Selectaţi tot

    <form name "" action="top20.php" method="post">
        <table width="100%" border="1" align="center" cellpadding="2" cellspacing="0">
          <tr bgcolor="#E6F3F9"> 
            <td width="6%" height="26" align="center"><strong>ID</strong></td>
            <td><strong>Nume</strong></td>
            <td width="40%" align="center"><strong>Album</strong><strong>Gen</strong></td>
            <td width="17%" align="center">&nbsp;</td>
          </tr>
          <tr> 
            <td>&nbsp;</td>
            <td width="37%">&nbsp;</td>
            <td>&nbsp;</td>
            <td align="center" bgcolor="#FFE8E8">&nbsp;</td>
          </tr>
          <?php while ($rrows = mysql_fetch_array($rs_results)) {?>
          <tr> 
            <td align="center"><? echo $rrows['ID'];?></td>
            <td><? echo $rrows['melodie']; ?></td>
            <td><? echo $rrows['listen']; ?></td>
            <td align="center" bgcolor="#FFE8E8"><input name="Delete" type="submit" id="Delete" value="Delete" />
			<? if($_POST['Delete'] == 'Delete') { mysql_query("delete from $tbl_name where ID=['ID']"); } ?></td>
          </tr>
          
          <?php } ?>
        </table>
	 
    </form>
Am incercat si cu checkbox-uri la fiecare inregistrare in parte dar nu mi-a iesit figura, asa ca am decis o parte mai usoara din poezie, fiecare inregistrare sa aiba un delete propriu, problema e ca nu stiu cum sa ii dau id-ul la secventa

Cod: Selectaţi tot

<? if($_POST['Delete'] == 'Delete') { mysql_query("delete from $tbl_name where ID=['ID']"); } ?>
Va rog daca se poate putin ajutor, nu mai am rabdare cu el. :roll:

MarPlo Mesaje:4343
Poti crea un camp ascuns (hidden) in formular in care adaugi ID-ul, iar in query-ul pt. delete adaugi la WHERE id-ul din campul hidden.
Cam asa:
- Camp ascuns

Cod: Selectaţi tot

<input type="hidden" name="del" value="<? echo $rrows['ID'];?>" />
- Query delete

Cod: Selectaţi tot

<? if($_POST['Delete'] == 'Delete' && isset($_POST['del'])) { mysql_query("delete from $tbl_name where ID=". $_POST['del']. " limit 1"); } ?>

baciucalin Mesaje:9
Imi da niste erori de toata frumusetea. Am gasit intr-un post de prin 2008 si l-am adaptat pentru checkbox. Este vorba de:

Cod: Selectaţi tot

<?
if($_POST['Delete']) {
  for($i=0; $i<count($_POST['checkbox']); $i++) {
    $del_id = $_POST['checkbox'][$i];
    $sql = "DELETE FROM $tbl_name WHERE ID='$del_id'";
  	mysql_query($sql);
	header('Refresh: 1');
   
}
}

?>

Am scos din postul vechi (php-mysql-xml/delete-checkbox-t409.html) partea cu echo si am pus un refresh pentru ca altfel trebuia de doua ori sa ii dau delete. In rest o ek. Mersi MarPlo!