PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : kommentare.



localhost
29-03-2003, 19:07
So zeige ich meine news auf der news.php.


<?
include("config.inc.php");
$timestamp = time();
function getmicrotime(){
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
$time_start = getmicrotime();
for ($i=0; $i < 10; $i++){
}
?>
<HTML>
<HEAD>

<? include("head.inc.php"); ?>

</HEAD>
<body leftmargin=0 rightmargin=0 topmargin=0 bottommargin=0>

<a name="top"></a><br>

<? include("head.menu.inc.php"); ?>

<br>

<?

echo "<table width=750 border=0 align=center cellpadding=1 cellspacing=1 bgcolor=000000>";
echo "<tr>";
echo "<td bgcolor=FFFFFF colspan=2><B>Die letzen 10 News:</b></td>";
echo "</tr>";
echo "</table>";

echo "<br>";

$abfrage = "SELECT * FROM news ORDER BY n_id DESC LIMIT 10";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
nl2br($code);

echo "<table width=750 border=0 align=center cellpadding=1 cellspacing=1 bgcolor=000000>";


echo "<tr>";
echo "<td bgcolor=FFFFFF colspan=3>";
echo "<center><b>"; echo $row->titel;
echo "</td>";
echo "</tr>";


echo "<tr>";
echo "<td bgcolor=FFFFFF colspan=3>";
echo $row->blabla;
echo "</td>";
echo "</tr>";

echo "<tr>";
echo "<td bgcolor=FFFFFF width=30>";
echo "<font color=E46600> #$row->n_id </font>";
echo "</td>";

echo "<td bgcolor=FFFFFF width=720>";

echo "_<a href=comments.php?id=$row->n_id>comments [ ";

echo " ]</a> | by ";

echo "<a href=user.php?id=$row->userid>$row->autor</a> @ "; $time = date("d.m.Y - H:i",$row->zeit); echo $time," Uhr";
echo "</td>";
echo "</tr>";


echo "</table><br>";
}
?>

<? include("bottom.inc.php"); ?>

<br>

</body>
</HTML>


die kommtare haben auch eine id und eine nid also jeder kommentar bekommt eine nid damit speter jede news auch sein kommentar hatt
aber wie kann ich jetzt die anzal der kommentare zeigen ??

mehlvogel
29-03-2003, 20:39
http://www.mrunix.de/forums/showthread.php?s=&threadid=31558

localhost
30-03-2003, 00:08
Das geht nicht.

The Ripper
30-03-2003, 14:59
Voraussetzungen:

Die Spalte "n_id" der Tabelle "news" bezeichnet die eindeutige ID der news
Die Spalte "nid" der Tabelle "comments" stimmt mit der ID der zugehörigen News überein.


Du musst die Variable $abfrage wie folgt anpassen:

$abfrage = "SELECT news.*, COUNT(comments.nid) AS comments
FROM news
LEFT JOIN comments ON news.n_id = comments.nid
GROUP BY news.n_id
ORDER BY news.n_id DESC
LIMIT 10";

Auf die Anzahl der Kommentare greifst du dann weiter unten mit $row->comments zu.

localhost
31-03-2003, 13:30
man hatt mir geholfen.



$query = mysql_query("SELECT count(*) as comments FROM news_kommen WHERE nid = '".$row->n_id."'");
$comments = mysql_fetch_array($query);
echo $comments['comments'];