Newssystem + Kommentarfunktion

blindfold

Grünschnabel
Hallo,

ich bastle mir gerade ein kleines Newssystem mit Kommentarfunktion und scheitere leider an meinen geringen PHP-Kentnissen ... villeicht könnt ihr mir helfen.

Ich habe die Datei angehängt - zunächst einmal wird ein Parserror ausgegeben, den ich nicht nachvollziehen kann, und davon mal abgesehen funktioniert auch die Ausgabe der Kommentare nicht. Ich vermute, dass ich irgendwie nicht so richtig die ID's auslese, habe aber echt keinen Schimmer, was genau da nicht funktioniert.

Würde mich wirklich freuen, wenn ihr mir etwas unter die Arme greifen würdet!

Liebe Grüße,

Markus
 

Anhänge

Wo kommt denn der Parse-Error? Welcher Parse-Error kommt?
Wie hast du denn die IDs ausgelesen?

Poste mal nur den relevanten Code mit PHP-Tags. Die Datei können wir eh nicht testen, weil die DB und Include-Dateien fehlen.
 
Die Sache mit dem Parseerror muss ich nochmal überdenken, hab da 'nen Denkfehler drin gehabt, vergesst das mal bitte erstmal ^^

Hier der relevante Teil, in dem alles quasi stattfindet (bzw. stattfinden soll ;) )

PHP:
<?
include("../includes/dbdata.php");
$diary_SQL="SELECT * FROM diary ORDER BY diary_datetime DESC";
$diary_result=mysql_query($diary_SQL);

//Ausgabe
while($diary=mysql_fetch_array($diary_result)){

//Datumsformatierung (dt.)
$unixtime = strtotime($diary['diary_datetime']);
?>

<table cellspacing="0" cellpadding="0">

	<tr class="standardtext">
		<td width="300" align="left" valign="top">
		
		<b><? echo $diary['diary_header']?></b><br>
		<? echo date("d.m.Y") ?><b>&nbsp;&middot;&nbsp;</b><? echo date("H:i",$unixtime) ?> Uhr<br><br>
		
		<? echo $diary['diary_main']?>
		
		<br><br>
		
		<a href="index.php?diary_ID=<? echo $diary['$diary_ID'] ?>">Kommentare</a>
		
		<? if(isset($_GET['diary_ID'])) {
		
		$feedback_SQL="SELECT * FROM feedback ORDER BY feedback_datetime DESC";
		$feedback_result=mysql_query($feedback_SQL);
		
		//Ausgabe
		while($feedback=mysql_fetch_array($feedback_result)){
		
		echo $feedback['feedback_name']; ?> <br><br>
		
		<? echo $feedback['feedback_mail']; ?> <br><br>
		
		<? echo $feedback['feedback_datetime']; ?> <br><br>
		
		<? echo  $feedback['feedback_main']; 
		
		} 
		
		} 
		
		?>
																							
		
		<br><br>
		
		</td>
	</tr>

</table>


<b>&middot;</b><br><br>

<?
}
mysql_close();
?>

Naja, und wenn ich jetzt auf "Kommentare" klicke, wird in der Browserleiste die Adresse

Code:
http://127.0.0.1/../../../../Database/blogsys/index.php?diary_ID=

aufgerufen, aber kein Kommentar angezeigt, obwohl ich im phpmyadmin natürlich ein Beispiel erstellt habe (aber daran liegt's ja auch nicht, es wird ja nicht mal die ID ausgegeben).

Edit

Huch, jetzt klappt's plötzlich :eek:
Da bin ich ja beruhigt ... könnt ihr mir noch dabei helfen, anzeigen zu lassen, wie viele Kommentare schon eingetragen wurden?
 
Zuletzt bearbeitet:
Super, danke (:

Hab mich allerdings etwas zu früh gefreut, denn es funktioniert doch noch nicht so ganz. Die Kommentare werden nicht mit den News verknüpft, wenn ich also beispielsweise beim 2. Newseintrag auf "Kommentare" klicke, werden auch die Kommentare von der 1. News angezeigt ... was mache ich denn in dem Script nur falsch?
 
Aus der Feedbacktabelle musst du nur die Einträge auswählen die auch die
richtige Diaryid haben.

Deine Tabellen sollten eigendlich so aussehen

Diary:

ID Eintrag Datum usw.

Feedback:

ID DID Eintrag Datum usw.

Jetzt selectest du so

PHP:
"SELECT * FROM Feedback WHERE DID = '".$_Request['diary_id']."'";

So sollte es richtig sein.
 
Mhm ... ich bin jetzt wohl endgültig verwirrt. Also meine Tabellenstruktur sieht folgendermaßen aus:

Tabelle "diary"

diary_ID (auto_increment)
diary_header
diary_main
diary_datetime

Tabelle "feedback"

feedback_ID (auto_increment)
feedback_DID
feedback_main
feedback_datetime
feedback_name
feedback_mail

Soweit so gut - und jetzt nochmal das aktuelle Script, bei dem zwar die Kommentare aufgelistet werden, sobald man unter der Newsmeldung auf "Kommentare" klickt, aber zu jeder News die gleichen Kommentare angezeigt werden. Ich bekomme die Kommentare einfach nicht mit den News verknüpft, leider ...

PHP:
<?
include("../includes/dbdata.php");
$diary_SQL="SELECT * FROM diary ORDER BY diary_datetime DESC";
$diary_result=mysql_query($diary_SQL);

//Ausgabe
while($diary=mysql_fetch_array($diary_result)){

//Datumsformatierung (dt.)
$unixtime = strtotime($diary['diary_datetime']);
?>

<table cellspacing="0" cellpadding="0">

	<tr class="standardtext">
		<td width="300" align="left" valign="top">
		
		<b><? echo $diary['diary_header']?></b><br>
		<? echo date("d.m.Y") ?><b>&nbsp;&middot;&nbsp;</b><? echo date("H:i",$unixtime) ?> Uhr<br><br>
		
		<? echo $diary['diary_main']?>
		
		<br><br>
		
		<a href="index.php?diary_ID=<? echo $diary['$diary_ID'] ?>">Kommentare</a>
		
		<? if(isset($_GET['diary_ID'])) {
		
		$feedback_SQL="SELECT * FROM feedback ORDER BY feedback_datetime DESC";
		"SELECT * FROM Feedback WHERE DID = '".$_Request['diary_ID']."'";
		$feedback_result=mysql_query($feedback_SQL);
		
		//Ausgabe
		while($feedback=mysql_fetch_array($feedback_result)){
		
		echo $feedback['feedback_name']; ?> <br><br>
		
		<? echo $feedback['feedback_mail']; ?> <br><br>
		
		<? echo $feedback['feedback_datetime']; ?> <br><br>
		
		<? echo  $feedback['feedback_main']; 
		
		} 
		
		} 
		
		?>
																							
		
		<br><br>
		
		</td>
	</tr>

</table>


<b>&middot;</b><br><br>

<?
}
mysql_close();
?>
 
PHP:
        $feedback_SQL="SELECT * FROM feedback ORDER BY feedback_datetime DESC";
        "SELECT * FROM Feedback WHERE DID = '".$_Request['diary_ID']."'";
        $feedback_result=mysql_query($feedback_SQL);

Das soll gehn ? mehrer abfragen in einer Variable ? Das ist zumindest mir neu berichtigt mich wenn es gehn sollte ^^

Versuch mal das :

PHP:
$id = $_Request['diary_ID'];
$feedback_SQL="SELECT * FROM Feedback WHERE DID = $id ORDER BY feedback_datetime DESC";
$feedback_result=mysql_query($feedback_SQL);
 
Jetzt bekomme ich die Fehlermeldung

Code:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in G:\...\...\...\...\...\...\blogsys\index.php on line 104

beim Klicken auf "Kommentare" :suspekt:

Weiß denn niemand eine Lösung?
 
Zurück