MySQL Tabelle über PHP Script leeren

Richmen

Grünschnabel
Also hab da nen kleines Problem.

Ich hab mit Hilfe verschiedener Tutorials nen kleines PHP Script zusammen bekommen was mir Inhalte aus meiner MySQL DB anzeigt.

Det klappt soweit auch sehr gut.

Nun möchte ich aber die einzelnen ID´s über dieses PHP Script auch löschen.
Am liebsten hätte ich es ja dass ich vor jeden Eintrag ein kleines X anzeigen lasse worüber ich dann genau nur den Eintrag löschen kann.

Fürn Anfang reicht es aber auch dass ich einfach über nen Button die ganze Tabelle leer mache.

So hier mal mein Konstrukt:
konfiguration.php
PHP:
<?php
error_reporting(E_ALL);
define ( 'MYSQL_HOST',      'xxxxxxx' );
define ( 'MYSQL_BENUTZER',  'root' );
define ( 'MYSQL_KENNWORT',  'xxxxxx' );
define ( 'MYSQL_DATENBANK', 'SAMDB' );
?>

djadmin.php
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="45; URL=djadmin.php">
<title>DeinRadio.com - Der bessere Sender..!!  Request Admin</title>

<style type="text/css">
body,td,th {
	color: #F00;
}
body {
	background-color: #000;
}
</style>
</head>
<body>
<?php
require_once ('konfiguration.php');
$db_link = mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);


$db_sel = mysql_select_db( MYSQL_DATENBANK )
   or die("Auswahl der Datenbank fehlgeschlagen");

$sql = "SELECT * FROM songlist 
        RIGHT JOIN requestlist ON requestlist.songID = songlist.ID  " ;  
       
 
   
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
  die('Ungültige Abfrage: ' . mysql_error());
}

echo "<center>";
echo "<p>Willkommen in deiner Requestliste Richy.<br>
  Hier hast du eine kleine Übersicht über deine Requestlist.<br>
  Verbesserungen werden noch nach und nach folgen.
</p>";

  echo '<table width="957" border="3">';

  echo "<tr>";
  echo "<td>ID</td>";
  echo "<td>Band</td>";
  echo "<td>Titel</td>";
  echo "<td>Uhrzeit</td>";
  echo "<td>IP</td>";
  echo "<td>Wunsch von</td>";
  echo "<td>Nachricht</td>";
  echo "<td>Status</td>";
  echo "</tr>";	
	
  while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{

  echo "<tr>";
  echo "<td>". $zeile['ID'] . "</td>";
  echo "<td>". $zeile['artist'] . "</td>";
  echo "<td>". $zeile['title'] . "</td>";
  echo "<td>". $zeile['t_stamp'] . "</td>";
  echo "<td>". $zeile['host'] . "</td>";
  echo "<td>". $zeile['name'] . "</td>";
  echo "<td>". $zeile['msg'] . "</td>";
  echo "<td>". $zeile['status'] . "</td>";
  echo "</tr>";
}
echo "</table>";
echo "</center>";

mysql_free_result( $db_erg );

?>


</body>
</html>
 
Du linkst auf eine andere Datei oder fügst eine weitere Aktion in dein aktuelles Skript ein, übergibst dort die ID der zu löschenden Zeile und löschst es dann...

Wo dran genau hapert es?

SQL:
DELETE FROM `table` WHERE `id` = 11

Um die ganze Tabelle zu leeren:

SQL:
TRUNCATE `table`
 
So dickes fettes THX für deinen Denkanstoss.

Manchmal sieht man halt den Wald vor Bäumen nicht ;)
PHP:
<?php
$id = $_GET['id'];
$sql = "DELETE FROM requestlist WHERE id='$id' ";

echo "<hr />";
echo "SQL: $sql";
echo "<hr />";

require_once ('konfiguration.php');
$db_link = mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
$db_sel = mysql_select_db( MYSQL_DATENBANK );
$db_erg = mysql_query($sql)
    or die("Anfrage fehlgeschlagen: " . mysql_error());


echo '<h1>Request $id wurde gelöscht</h1>';
echo '<a href="djadmin.php">Requestliste anzeigen</a>';
?>



PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="refresh" content="45; URL=djadmin.php">
<title>DeinRadio.com - Der bessere Sender..!!  Request Admin</title>

<style type="text/css">
body,td,th {
    color: #F00;
}
body {
    background-color: #000;
}
</style>
</head>
<body>
<?php
require_once ('konfiguration.php');
$db_link = mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);


$db_sel = mysql_select_db( MYSQL_DATENBANK )
   or die("Auswahl der Datenbank fehlgeschlagen");

$sql = "SELECT * FROM songlist 
        RIGHT JOIN requestlist ON requestlist.songID = songlist.ID  " ;  
       
 
   
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
  die('Ungültige Abfrage: ' . mysql_error());
}

echo "<center>";
echo "<p>Willkommen in deiner Requestliste.<br>
  Hier hast du eine kleine Übersicht über deine Requestlist.<br>
  Verbesserungen werden noch nach und nach folgen.
</p>";

  echo '<table width="957" border="3">';

  echo "<tr>";
  echo "<td>Löschen</td>";
  echo "<td>ID</td>";
  echo "<td>Band</td>";
  echo "<td>Titel</td>";
  echo "<td>Uhrzeit</td>";
  echo "<td>IP</td>";
  echo "<td>Wunsch von</td>";
  echo "<td>Nachricht</td>";
  echo "<td>Status</td>";
  echo "</tr>";    
    
  while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{

  echo "<tr>";
  echo "<td>";
  echo '<a href="close.php?id='. $zeile['ID'] . '">löschen</a> ';
  echo "</td>";
  echo "<td>". $zeile['ID'] . "</td>";
  echo "<td>". $zeile['artist'] . "</td>";
  echo "<td>". $zeile['title'] . "</td>";
  echo "<td>". $zeile['t_stamp'] . "</td>";
  echo "<td>". $zeile['host'] . "</td>";
  echo "<td>". $zeile['name'] . "</td>";
  echo "<td>". $zeile['msg'] . "</td>";
  echo "<td>". $zeile['status'] . "</td>";
  echo "</tr>";
}
echo "</table>";
echo "</center>";

mysql_free_result( $db_erg );

?>


</body>
 
Zuletzt bearbeitet:
Du solltest dir mal die php Funktion mysql_real_escape_string() angucken. Wenn ich als Nutzer die Seite so aufrufen würde
Code:
seite.php?id=1' OR '1
wär die Tabelle leer.
 
@Hirnmater
Durchsuchst du nun einfach alle Threads ob eine Fragestellung zu deinen Tutorials passt und verlinkst diese dann? Auch eine Möglichkeit für Werbung....

Aber du könntest deine besten Tutorials hier veröffentlichen (mit Link zu deiner Seite am Schluss)
 
Zurück