Hi,
ich habe mir ein Newsscript zusammen gabaut...
Wenn ich einen Newsbeitrag lösche, gibt es Probleme, wenn ich neue News erstellen will.
Die NewsID kommt durch das addieren von 1 zur Funktion mysql_num_rows zustande. Wenn ich jetzt einen Newsbeitrag lösche(wenns nicht gerade der 1. ist) klappts logischerweise nichtmehr.
Beispiel:
4 4
3 3
2-X-1
1
Ich habe 4 posts, lösche den 2. und habe nurnoch 3.
D.h. ich habe 3 Rows. 3+1=4. Aber newsID 4 gibt es schon.
Deswegen habe ich die while Schleife eingebaut um allen Newsposts eine neue newsID zu geben.
[PHP]
<?php
session_start();
$session_id=session_id();
?>
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta http-equiv="refresh"
content="5; url=news.php">
</head>
<body>
<?php
include("logincheck.php");
include("member_menue.php");
$datum=date("d.m.Y");
$uhrzeit=date("H:i");
switch($message)
{
case "" : die("Bitte Newsfeld ausfüllen.");
}
switch($subject)
{
case "" : die("Bitte Themenfeld ausfüllen.");
}
$linkID= mysql_connect("localhost","web21","mstrain");
if(!$linkID)die("Keine Verbindung zur Datenbank!");
mysql_select_db("usr_web21_1",$linkID);
$new_count= mysql_num_rows(mysql_query("SELECT newsID FROM news", $linkID));
$zaehler=0;
while($new_count<$zaehler){ //Soll die anderen NewsID´s updaten.
$update_newsID="INSERT INTO news (newsID) VALUES ('$zaehler')"; //Wenn ich eine News lösche treten dann Probleme auf weil ja die NEWS ID falsch ist
$zaehler++; //Aus diesem Grund möchte ich alle newsID´s in der Tabelle news updaten
$result=mysql_query($update_newsID,$linkID); //Damit keine Probleme mehr auftreten können.
if(!$result)die("Fehler![while]");
}
$num_rows= mysql_num_rows(mysql_query("SELECT newsID FROM news", $linkID))+1;
echo("Num Rows $num_rows<br>");
echo("userDaten $userDaten[1]<br>");
echo("Thema $subject<br>");
echo("Post $message<br>");
echo("Datum $datum<br>");
echo("Uhrzeit $uhrzeit<br>");
$sql="INSERT INTO news (newsID,newsPoster,newsSubject,newsPost,newsDatum,newsUhrzeit) VALUES ('$num_rows','$userDaten[1]','$subject','$message','$datum','$uhrzeit')";
$result2=mysql_query($sql,$linkID);
if(!$result2)die("Fehler beim eintragen der News!");
echo("News wurden gespeichert.");
?>
</body>
</html>
[/PHP]
Die Variablen werden richtig ausgegeben.
Die $result2 ist false und die IDs der anderen News werden nicht geupdatet.
Woran liegt das?