news script - fehler ?
AnalphaBestie
- php
Moin alle.
Ich habe nen news script gemacht. Dabei hatte ich ein bisschen hilfe von nem bekannten, der mir erklärte wie ich es machen soll usw. Der ist allerdings net mehr da ;=)
Naja auf jeden fall, die news werden richtig angezeigt bloss mit den kommentaren klappt irgendwass net. Die theorie ist mir bekannt:
In den kommentar db ist nen feld "zu" dort werden die id's der news gespeichert zu denen die kommentare gemacht sind.
Die ausgabe funzt allerdings net.
Wenn zb 5 kommentare abgegeben sind zeigt er immer den letzten kommentar 5 mal an... ?
Ich werd mal nicht viel quellcode posten, lieber nen link:
http://www.ackro.de/index.phps da wird wohl der fehler nicht liegen und:
http://www.ackro.de/modules.phps
wäre lieb wenn ihr mal nen blick draufwerfen könntet,
Analpha
grml
PW und Username test1
Hi AnalphaBestie,
1.
http://www.ackro.de/index.phps -> Authorisation Required
http://www.ackro.de/modules.phps -> Authorisation Required
2.
Selbst wenn man die Seiten aufrufen könnte würde man nur die Ausgabe sehen und nicht den Quellcode, oder?
Ciao Michi
Selbst wenn man die Seiten aufrufen könnte würde man nur die Ausgabe sehen und nicht den Quellcode, oder?
Doch: Die Endung phps startet einen internen PHP-Viewer mit Syntax-Highlighting. Ernst!
CU
http://www.yubb.de
Hi AnalphaBestie,
Moin
http://www.ackro.de/index.phps -> Authorisation Required
http://www.ackro.de/modules.phps -> Authorisation Required
er lese bitte den nachtrag ( pw und username test1 )
Selbst wenn man die Seiten aufrufen könnte würde man nur die Ausgabe sehen und nicht den Quellcode, oder?
doch phps interpretiert der browser nicht als php dateien, man sieht nur den quellcode
Ciao Michi
Analphabestie ( michael ;) )
Hi AnalphaBestie,
http://www.ackro.de/index.phps -> Authorisation Required
http://www.ackro.de/modules.phps -> Authorisation Required
--> hat sich erledigt, sorry.
Selbst wenn man die Seiten aufrufen könnte würde man nur die Ausgabe sehen und nicht den Quellcode, oder?
--> hab da 'n kleines s übersehen.
function showcoments() {
$comentsresult = mysql_query("SELECT * FROM newscoments WHERE zu=."$newsid." order by id desc");
if ($comentsrow = mysql_fetch_array($comentsresult)) {
/* do bezeiht sich nur auf den einen kommentar! Dieser wird deshalb 5x angezeigt !!! */
do {
$comentsid = $comentsrow[id];
$comentsdate = date("$this->dateformat", $comentsrow[date]);
$comentszu = $comentsrow[zu];
$comentsmail = $comentsrow[postermail];
$comentstext = $comentsrow[text];
$comentsip = $comentsrow[ip];
echo "<p> $comentsid <br>
$comentsdate <br>
$comentszu <br>
$comentsmail <br>
$comentstext <br> </p> \n";
} // do
while($newsrow = mysql_fetch_array($comentsresult));
} // if
} // function */
Folgendes SOLLTE funktionieren:
function showcoments() {
$comentsresult = mysql_query("SELECT * FROM newscoments WHERE zu=."$newsid." order by id desc");
$num_cols = mysql_numrows ($comentsresult);
$counter = 0;
while ($counter < $num_cols)
{
$comentsid = @mysql_result($comentresult, $counter, "id");
$comentsdate = date("$this->dateformat", @mysql_result($comentresult, $counter, "date"));
$comentszu = @mysql_result($comentresult, $counter, "zu");
$comentsmail = @mysql_result($comentresult, $counter, "postermail");
$comentstext = @mysql_result($comentresult, $counter, "text";
$comentsip = @mysql_result($comentresult, $counter, "ip");
echo "<p> $comentsid <br>
$comentsdate <br>
$comentszu <br>
$comentsmail <br>
$comentstext <br> </p> \n";
$counter = $counter + 1;
} //while
} //function
Hi AnalphaBestie,
Moin nochmal,
danke auf jeden fall für die müher ;)
aber es klappt noch nicht so ganz, und ich begreif nicht so richtig warum ...
function showcoments() {
$comentsresult = mysql_query("SELECT * FROM newscoments WHERE zu=".$newsid." order by id desc");
$num_cols = mysql_numrows($comentsresult);
$counter = 0;
while ($counter < $num_cols)
{
$comentsid = @mysql_result($comentresult, $counter, "id");
$comentsdate = date("$this->dateformat", @mysql_result($comentresult, $counter, "date"));
$comentszu = @mysql_result($comentresult, $counter, "zu");
$comentsmail = @mysql_result($comentresult, $counter, "postermail");
$comentstext = @mysql_result($comentresult, $counter, "text");
$comentsip = @mysql_result($comentresult, $counter, "ip");
echo "<p> $comentsid <br>
$comentsdate <br>
$comentszu <br>
$comentsmail <br>
$comentstext <br> </p> \n";
$counter = $counter + 1;
} //while
} //function
so habe ich es jetzt stehen, er bringt die fehlermeldung:
Fatal error: Call to undefined function: lala() in /is/htdocs/27676/www.ackro.de/modules.php on line 55
line 55: $num_cols = mysql_numrows($comentsresult);
wo nimmst du das mysql_numrows() her ?
erklärung wäre nett, dann kann ich es das nchste mal alleine machen...
MFg Analpha
Hi AnalphaBestie,
erklärung wäre nett, dann kann ich es das nchste mal alleine machen...
Hab das ganze auch nur aus nem Buch, und hab da offensichtlich ein paar Funktionen durcheinander gebracht. Versuch mal folgende Änderung:
function showcoments() {
mysql_connect ($hostname, $user, $password);
$comentsresult = mysql($database, "SELECT * FROM newscoments WHERE zu='.$newsid.' order by id desc");
$num_cols = mysql_numrows($comentsresult);
...
MfG Michi
Aloha!
Folgendes SOLLTE funktionieren:
WAHHHH!!!1 Komplizierter gehts nimmer! Lieber so:
function showcoments()
{
$cmomentsresult = mysql_query("SELECT * FROM newscoments WHERE zu=."$newsid." order by id desc");
while ($row = mysql_fetch_array($commentresult))
{
echo "<p>{$row['id']}<br>".date("$this->dateformat", $row['date'])."<br>{$row['zu']}<br>{$row['postermail']}<br>{$row['text']}<br>{$row['ip']}</p>\n";
}
}
Frage: Was soll bitteschön der komische Parameter in der Date-Funktion bewirken? Sieht wie ein Objektzugriff aus. Der ist hier im Quelltext nicht näher erwähnt und sollte vielleicht einer kritischen Betrachtung unterzogen werden.
Ansonsten ist die Variante viel kürzer, als alle anderen Varianten, weil mysql_fetch_array() einfach die nächste Zeile der Datenbankabfrage als Hash zurückliefert. Damit kann man sich viel Zuweisungsarbeit sparen.
- Sven Rautenberg