webForumDet fria alternativet

Loopa kommentarer?

6 svar · 391 visningar · startad av streetrobban

streetrobbanMedlem sedan jan. 20011 140 inlägg
#1

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
#2

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);
            ?>
streetrobbanMedlem sedan jan. 20011 140 inlägg
#3

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?

SebbeMedlem sedan jan. 20032 285 inlägg
#4

/red ...

K@llenMedlem sedan mars 20032 667 inlägg
#5

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);
            ?>
streetrobbanMedlem sedan jan. 20011 140 inlägg
#6

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
streetrobbanMedlem sedan jan. 20011 140 inlägg
#7

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);
			?>
140 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)