Nummerierung von Kommentaren

Zipper02

Mitglied
Hi,

ich habe für mein Forum ja drei tabellen angelegt.
Boards, Topics, Threads...
Das geht auch alles.

Nun wollte ich wissen wie man zu einer einzelnen Threadid sich das nummerieren lassen kann.
Das geht mit dem Befehl mysql_num_rows, aber nur wie er das von der Datenbank auslesen soll peil ich net :-)

Also der Name der wohl wichtigen Spalte dann ist übrigens
topicid
 
hmm,

wie meinst das ? Willst du die Threads auslesen und dann nummeriet anzeigen oder wie ?

Da du ja eine schleife brauchst zum auslesen machst du einfach einen counter mit rein und gibst ihn aus. Oder hab ich jetzt deine Frage falsch verstanden ?
 
mit threads meintest du wohl eher posts?

in deiner tabelle hast du bestimmt ne spalte 'topicid', oder ähnlich.

lass einfach alle zeilen auslesen mit topicid xy:

select * from posts where topicid='$topicid'

dann mit mysql_num_rows($result); zählen, - fertig
 
<?php
include("config.inc.php");
include("connect.inc.php");

$result = mysql_query("SELECT * FROM eintraege WHERE topicid = '$thread'");
$menge = mysql_num_rows($result);
echo "#$menge";
?>

Der gibt dann aber immer nur "#5" bei jedem Eintrag an.
Ich möchte das der aber #1, #2, #3... macht.
 
hmm,

mysql_num_rows ermittelt die anzahl der Datensätze die zurückgegeben werden ! http://de.php.net/mysql-num-rows
das was du haben willst musst einfach selbst generieren !
PHP:
<?php 
include("config.inc.php");
include("connect.inc.php");
$counter = 0;
$result = mysql_query("SELECT * FROM eintraege WHERE topicid = '$thread'"); 
// $menge = mysql_num_rows($result);
while($row = mysql_fetch_array($result))
 {
    $counter++;
   // echo "#$menge";
    echo "#$counter";
}
?>
 
thx erstmal für deine Hilfe :)
aber jetzt hab ich irgendwie noch nen problem mehr

<?
include("config.inc.php");
include("connect.inc.php");
$abfrage = "SELECT * FROM eintraege WHERE topicid = '$thread' ORDER BY id";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$mensch = "SELECT * FROM crew WHERE id = '$row->userid'";
$mensch2 =mysql_query($mensch);
while($mensch = mysql_fetch_object($mensch2)) {

?>

<table border=0 width=100% cellspacing=1 cellpadding=3>
<tr>
<td width=20% bgcolor=#C4C4C4 valign=top>
<font color=#000000>




<br>
<?php
include("config.inc.php");
include("connect.inc.php");
$counter = 0;
$result = mysql_query("SELECT * FROM eintraege WHERE topicid = '$thread'");
// $menge = mysql_num_rows($result);
while($row = mysql_fetch_array($result))
{
$counter++;
// echo "#$menge";
echo "#$counter";
}
?>
<br>
<b><?php echo $mensch->nickname; ?></b>
<br>
<font size=1><?
$datum = date("d-m-Y",$row->postzeit);
$uhrzeit = date("H:i",$row->postzeit);
echo $datum,"&nbsp;",$uhrzeit,"";
?>
<p>&nbsp;</p>
</td>
<td width=80% bgcolor=#DFDFDF valign=top>
<?php echo nl2br ($row->beitrag); ?>
</td>
</tr>
</table>
<p>

<?
}
}
?>


Jetzt zeigt der meinen Beitrag nicht mehr an und das Datum wird auch nicht mehr korrekt angezeigt.

Weiteres Prob wär noch das ich das irgendwie net hinbekomm das der die Zählung unterbricht.
Weil der gibt mir dann bei jedem Beitrag #1,#2,#3.... an
ich möchte aber halt das jeder Beitrag seine eigene Nummer hat :)
 
hmm,

dann darfst du da keine Whilschleife machen sondern musst das in die andere whileschleife bauen
PHP:
<?
include("config.inc.php");
include("connect.inc.php");
$abfrage = "SELECT * FROM eintraege WHERE topicid = '$thread' ORDER BY id";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$mensch = "SELECT * FROM crew WHERE id = '$row->userid'";
$mensch2 =mysql_query($mensch);


$counter =0;


while($mensch = mysql_fetch_object($mensch2)) {

?>

<table border=0 width=100% cellspacing=1 cellpadding=3>
<tr>
<td width=20% bgcolor=#C4C4C4 valign=top>
<font color=#000000>




<br>
<?php 
include("config.inc.php");
include("connect.inc.php");
$result = mysql_query("SELECT * FROM eintraege WHERE topicid = '$thread'"); 
// $menge = mysql_num_rows($result);


$counter++;
// echo "#$menge";
echo "#$counter";


?>
<br>
<b><?php echo $mensch->nickname; ?></b>
<br>
<font size=1><?
$datum = date("d-m-Y",$row->postzeit);
$uhrzeit = date("H:i",$row->postzeit);
echo $datum," ",$uhrzeit,"";
?>
<p> </p>
</td>
<td width=80% bgcolor=#DFDFDF valign=top>
<?php echo nl2br ($row->beitrag); ?>
</td>
</tr>
</table>
<p>

<?
}
}
?>
 
sauber danke ! :))

aber der zähler wird immernoch net erhöht.
aber

$counter++;

ist doch eingebaut wieso geht das dann nicht ?`
hmm.. :(
 
hmm,

du hast zwei Whileschleifen, $counter wird immer auf 0 zurück gesetzt wenn die die innere Schleife beendet wurde, ebventuell musst du das $counter = 0 vor das erste while schreiben, hab dein Script nicht so ganz durchgeschaut.
 
Zurück