Hi,
es funktioniert jetzt soweit. Nur ist mir aufgefallen, dass das, was ich will so auch nicht funktioniert. Ich stehe nämlich jetzt eher vor einem logischem Problem.
Mein vorhaben. Ich bin gerdae dabei, eine Kommentar funktion zu meinem News-System zu bauen. Die Kommentar funktion funktioniert auch soweit schon perfekt. Hier erstmal der Aufbau:
PHP:
<?php include_once("db_news.php");
include_once("db_showcomment.php");
$result2 = mysql_query("SELECT comment.id, news.id FROM comment, news WHERE comment.id = news.id");
$menge = mysql_num_rows($result2);
$sql = "SELECT * FROM `news`;";
$eintrage = mysql_num_rows(mysql_query($sql));
$maxproseite = 3;
$i = 0;
$ab =1;
if (isset($_GET['page'])) $ab = $_GET['page'];
$anzahl_seiten = ($eintrage / $maxproseite);
if (!isset($_GET['page'])) {
$sql = "SELECT * FROM `news` ORDER BY `id` DESC LIMIT 0,".$maxproseite.";";
} else {
$abeintrag = $_GET['page'] * $maxproseite - $maxproseite;
$sql = "SELECT * FROM `news` ORDER BY `id` DESC LIMIT ".$abeintrag.",".$maxproseite.";";
}
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
if(!isset($_GET['id'])) {
echo '
<div style="margin-left:10px">
<a href="index.php?id='.$row['id'].'"><b>'.$row['titel'].'</b></a><br />
<a class="datum">'.$row['datum'].'</a><br />
'.$row['text'].'<br /><br /></div>
<div align="center"><img src="image/grenze.png" alt="gre"/></div><br />';
}}
$i=$ab ;
if($i > 1 and !isset($_GET['id']))
{
echo "<a href=\"index.php?section=gb&page=".($i-1)."\"><<Zurück</a> ";
}
if($i <= $anzahl_seiten and !isset($_GET['id']))
{
echo " <a href=\"index.php?section=gb&page=".($i+1)."\">Nächste>></a>";
}
include_once("comment.php");
?>
und die comment.php:
PHP:
<?php // Kommentar anzeigen
$id = $_GET['id'];
$sql2 = mysql_query("SELECT * FROM news WHERE id = '$id'");
if($row = mysql_fetch_assoc($sql2) and isset($_GET['id'])) {
echo '
<div style="margin-left:10px">
<b>'.$row['titel'].'</b><br />
<a class="datum">'.$row['datum'].'</a><br />
'.$row['text'].'<br /><br /></div>
<div align="center"><img src="image/grenze.png" alt="gre"/></div><br />';
}
?>
<?php include_once("db_showcomment.php"); // Kommentar abrufen
$id = $_GET['id'];
$sql = "SELECT * FROM comment;";
$eintrage = mysql_num_rows(mysql_query($sql));
if (isset($_GET['id'])) {
$sql = "SELECT * FROM comment WHERE id = $id ORDER BY idgb";
} else {
$sql = "SELECT * FROM comment ORDER BY idgb";
}
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
if(isset($_GET['id'])) {
echo '
<br />
<table border="0"><colgroup><col width="237" /><col width="250" /></colgroup>
<tr>
<td valign="top"><b>Kommentar von '.$row['name'].'</b></td>
<td valign="top"><font color="#5c5c5c" style="font-style:italic">geschrieben am '.$row['datum'].' um '.$row['uhr'].' Uhr</font></td>
</tr>
</table>';
echo '
<table border="0"><colgroup><col width="90" /><col width="397" /></colgroup>
<tr>
<td valign="top">';if (!empty ($row['email'])) {
echo '
<a href="mailto:'.$row['email'].'"><img src="gif/email.png" alt="mail"/></a> ';}
if (!empty ($row['url'])) {
echo '
<a href="http://'.$row['url'].'" target="_blank"><img src="gif/hp.png" alt="hp" /></a> ';}
echo '</td>
<td valign="top">'.$row[textnachricht]=str_replace("\n","<br />",$row[textnachricht]).'</td>
</tr>
</table>
<br /><div align="center"><img src="image/grenze.png" alt="gre"/></div>';
} }
?>
<br /><br /><center><a href="#" onclick="document.getElementById('layer1').style.visibility='visible';">Kommentar schreiben</a></center><br />
<? $id = $_GET['id']; // Kommentar schreiben
if(isset($_GET['id'])) {
echo "
<div id='layer1' style='visibility:hidden'><form method='post' action='comment_senden.php'>
<center><table border='0' cellpadding='1' cellspacing='2'>
<tr>
<td>Ihr Name:</td>
<td><input type='text' name='name' /></td>
</tr>
<tr>
<td>eMail:</td>
<td><input type='text' name='email' /></td>
</tr>
<tr>
<td>Homepage:</td>
<td><input type='text' name='url' /></td>
</tr>
<tr>
<td>Ihr Eintrag:</td>
<td><textarea name='textnachricht' ></textarea></td>
</tr>
<tr>
<td><input type='hidden' name='datum' value='$datum = date('d.m.Y',$timestamp); echo $datum;' /></td>
</tr>
<tr>
<td><input type='hidden' name='uhr' value='$uhr = date('H:i',$timestamp); echo $uhr;' /></td>
</tr>
<tr>
<td><input type='hidden' name='id' value='$id' /></td>
</tr>
<tr>
<td></td>
<td><input type='submit' name='Button' value='Absenden' /></td>
</tr></table></center>
</form></div><br />";
}?>
Das ganze sieht so aus:
http://www.designers-place.de/Test Version/index.php
Wie man schon sehen kann, möchte ich da wo alle News stehen unten immer ein Feld haben, wieviele Kommentare es dazu schon gibt. Ich habe ja 2 Tabellen. Eine News tabelle, in der jedem Eintrag eine id zugeordnet ist. Wenn man eine News anklickt, wird die URL ja mit dieser id erweitert. Wenn man dann einen Kommentar zur News schreibt, wird diese id auch in die Tabelle comment eingetragen, dass man die Kommentare der News zuordnen kann. Das heißt, ich habe in der comment tabelle mehrere Einträge mit der selben id.
Nun möchte ich, auf der index.php, wo alle News - Einträge stehen, diese Anzahl der gleichen id´s zu jedem News zählen. Nur wie mache ich das am Besten? Weil ich kann ja der Abfrage nicht eine eindeutige id zuordnen, da ich den angepassten Link mit der index.php?id=WERT noch nicht habe, den ich abrufen kann. Meine Idee, die ich hatte, das ich die id von den beiden Tabellen vergleiche, ist ja indem Sinne Schwachsinn, da er mir ja alle Einträge dadurch zählt.
Ich weiß echt nicht, wie ich es lösen soll. Vllt hat ja jemand von euch eine geniale Idee

Falls irgendetwas noch etwas unklar ist, einfach fragen.
Grüße