Da gibt es 2 Probleme.
-
Wenn ich auf Löschen klicke, dann löscht es alle Beiträge. Ich möchte aber, dass es nur den Beitrag löscht, der eine gewisse ID hat.
-
Und da alle gelöscht werden, gehe ich davon aus, dass die ID, die automatisch fortlaufend ist, dass diese auch weg sien soll und alles nach „oben“ rutscht. Doch die ID macht einfach weiter. Also bestehen alle „Zeilen“ bei jeder ID noch, aber es ist einfach kein Inhalt da. (Denke ich auf jeden fall).
Wieso ist das so?
Testet hier:
http://habboville.paradoxe.de/index.php
Ihr könnt mal mehrere Beiträge schreiben, bei einem auf Löschen klciken, und dann die Seite aktualisieren.
Dann seht ihr keine Beiträge mehr. Und wenn ihr nun nochmals einen schreibt, dann geht die ID immer weiter, anstatt bei 1 anzufangen.
Hier ist der Code:
[php]
<?php
error_reporting(E_ALL);
include"config.php";
include"verbindung.php";
// Neue News
if(!isset($_POST['submit']))
{
echo'
Falls Sie einen neuen Newsbeitrag schreiben möchten, dann schreiben Sie es ins Textfeld.
';
}
else
{
$titel = $_POST['titel'];
$text = $_POST['text'];
$autor = $_POST['autor'];
$eintrag = "INSERT INTO News (Titel,Inhalt,Datum,Autor) VALUES ('$titel', '$text', 'date()', '$autor')";
mysql_query($eintrag) OR die(mysql_error());
echo'News gespeichert
';
}
echo'
';
// Liste mit Einträgen wird gelesen
$sql = "SELECT
ID,
Titel,
Datum
FROM
News
ORDER BY
Datum DESC;";
$result = mysql_query($sql) OR die(mysql_error());
echo'
';
// Vorhandene Beiträge als Liste ausgeben
echo "Vorhandene Einträge:
\n";
if(mysql_num_rows($result))
{
while($row = mysql_fetch_assoc($result))
{
echo '
'.$row['ID'].' - '.$row['Datum']." > ".$row['Titel'].' -
Löschen';
if(!isset($_GET['delete']))
{
echo'';
}
else
{
if($_GET['delete'] = $row['ID'])
{
$delete = "DELETE FROM
News
WHERE
ID= '".$row['ID']."'";
mysql_query($delete) OR die(mysql_error());
}
}
}
}
else
{
echo'Es sind keine Newseinträge vorhanden';
}
echo'
';
// Inhalte ausgeben
if(!isset($_GET['show']))
{
echo'
Inhalt:
Wähle einen Beitrag aus';
}
else
{
$sql = "SELECT
ID,
Titel,
Datum,
Inhalt
FROM
News
WHERE
ID = ".$_GET['show']."
ORDER BY
Datum DESC;";
$result = mysql_query($sql)
OR die(mysql_error());
if(mysql_num_rows($result)>0)
{
while($row = mysql_fetch_assoc($result))
{
echo'
Inhalt:
'.$row['Inhalt'].'';
}
}
else
{
echo'
Inhalt:
Wähle einen Beitrag aus';
}
}
?>
[/php]die config.php und verbindung.php sehen so aus:
[php]
//config.php
<?php
error_reporting(E_ALL);
define(‚MYSQL_HOST‘, ‚localhost‘);
define(‚MYSQL_USER‘, ‚habboville‘);
define(‚MYSQL_PASS‘, ‚chas147‘);
define(‚MYSQL_DATABASE‘, ‚habboville‘);
?>
//verbindung.php
<?php
// Verbindung wird hergestellt
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die("Die Verbindung kann nicht aufgebaut werden");
// Die Datenbank wird ausgewählt
mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
?>[/php]Ich hoffe, ihr könnt mir da raushelfen.
Habe mittlerweile schon eine Stunde lang ausprobiert.
MfG, matibaski