Tjenare håller på med ett kommentera script. Har löst allt utom hur man ska få det att stå "Kommentera (0)" under nyheten när det loopas typ 10 nyheter...
Om jag loopar tex. två nyheter så står det bara "Kommentera (0)" under den sista nyheten, varför det?
Mitt script ser ut så här!
<?php
require 'inc/db.php';
// Choose the users
$get = mysql_query("SELECT * FROM jaCKsnyheter ORDER BY id DESC LIMIT 2");
while($userRow = mysql_fetch_array($get))
{
echo "<span class=rubrik>".$userRow['rubrik']."</span><br>";
echo "<span class=datum>".$userRow['datum']." ".$userRow['tid']." AV ".$userRow['skribent']."</span><br>";
$break = $userRow['nyhet']."";
$break = nl2br($break);
echo "$break<br>";
$id = $userRow['id'];
}
$get = mysql_query("SELECT * FROM jaCKsKnyheter WHERE kID = '$id'");
$rowCount = mysql_num_rows($get);
{
echo "<a href=kommenteraNyheter.php?id=$id>Kommentera ($rowCount)</a>";
}
// Close database
mysql_close($open);
?>
K@llenMedlem sedan mars 20032 667 inlägg Förstår jag dig rätt bör du flytta avslutningen av loopen: (samma operation går att göra betydligt effektivare)
<?php
require 'inc/db.php';
// Choose the users
$get = mysql_query("SELECT * FROM jaCKsnyheter ORDER BY id DESC LIMIT 2");
while($userRow = mysql_fetch_array($get))
{
echo "<span class=rubrik>".$userRow['rubrik']."</span><br>";
echo "<span class=datum>".$userRow['datum']." ".$userRow['tid']." AV ".$userRow['skribent']."</span><br>";
$break = $userRow['nyhet']."";
$break = nl2br($break);
echo "$break<br>";
$id = $userRow['id'];
$get = mysql_query("SELECT * FROM jaCKsKnyheter WHERE kID = '$id'");
$rowCount = mysql_num_rows($get);
{
echo "<a href=kommenteraNyheter.php?id=$id>Kommentera ($rowCount)</a>";
}
} // avsluta din loop här istället
// Close database
mysql_close($open);
?>
Det fungerade inte riktigt som det skulle. Det skriver ut det mesta som den ska, men den missar rubriken och nyheten... skumt?
Aha, den skriver ut kommentaren som en nyhet, varför det?
K@llenMedlem sedan mars 20032 667 inlägg Hur fungerar detta?
<?php
require 'inc/db.php';
// Choose the users
$get = mysql_query("SELECT rubrik, datum, tid, skribent, nyhet, id, COUNT(kID) AS rowCount
FROM jaCKsnyheter
LEFT JOIN jaCKsKnyheter
ON id = kID
GROUP BY rubrik, datum, tid, skribent, nyhet, id
ORDER BY id DESC LIMIT 2");
while($userRow = mysql_fetch_array($get))
{
$break = $userRow['nyhet'];
$rowCount = $userRow['rowCount'];
$id = $userRow['id'];
echo "<span class=rubrik>".$userRow['rubrik']."</span><br>";
echo "<span class=datum>".$userRow['datum']." ".$userRow['tid']." AV ".$userRow['skribent']."</span><br>";
$break = nl2br($break);
echo "$break<br>";
echo "<a href=kommenteraNyheter.php?id=$id>Kommentera ($rowCount)</a>";
}
// Close database
mysql_close($open);
?>
Det blir lite felmeddelande!
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/kunder/norrteljeporten.se/www/jacks/newsflash.php on line 63
Ja! Jag kom på det! Så här ser den fungerande koden ut:
<?php
require 'inc/db.php';
// Count the news
$get = mysql_query("SELECT * FROM jaCKsnyheter");
$rowCount = mysql_num_rows($get);
{
echo "Visar just nu 10 av $rowCount nyheter. <a href=nyheterAlla.php>Visa alla</a>.<br><br>";
}
// Display the news
$get = mysql_query("SELECT * FROM jaCKsnyheter ORDER BY id DESC LIMIT 10");
while($userRow = mysql_fetch_array($get))
{
$nyheterNyhet = $userRow['nyhet'];
$nyheterTid = $userRow['tid'];
$nyheterDatum = $userRow['datum'];
$nyheterRubrik = $userRow['rubrik'];
$nyheterSkribent = $userRow['skribent'];
$id = $userRow['id'];
// Display the comments
$get2 = mysql_query("SELECT * FROM jaCKsKnyheter WHERE kID = '$id'");
$rowCount = mysql_num_rows($get2);
echo "<span class=rubrik>$nyheterRubrik</span><br>";
echo "<span class=datum>$nyheterDatum $nyheterTid AV $nyheterSkribent</span><br>";
$break = $nyheterNyhet;
$break = nl2br($break);
echo "$break<br>";
echo "<a href=kommenteraNyheter.php?id=$id>Kommentera ($rowCount)</a><br><br>";
}
// Close database
mysql_close($open);
?>