mysql-abfrage

z0oL

Erfahrenes Mitglied
Hi, hab ne kleine frage:

warum wird bei
PHP:
$abfrage = "SELECT * from news ORDER BY id DESC LIMIT 10";  
$result = $site_db->query($abfrage);  
while ($row = $site_db->fetch_array($result))

nur ein eintrag angezeigt?? bei fetch_array werden doch normalerweise alle angezeigt oder nicht?
 
Hi,

kann es sein, dass du bei LIMIT den Startwert vergessen hast?

PHP:
$abfrage = "SELECT * from news ORDER BY id DESC LIMIT 0,10";

bye
 
blubber: Da reicht ein Wert, der zweite (bzw. erste) ist optional.

Andere Frage: Was soll denn dieses $site_db->? Mach's doch einfach so:
PHP:
$abfrage = "SELECT * from news ORDER BY id DESC LIMIT 10";  
$result = query($abfrage);  
while($row = mysql_fetch_array($result))
 {
  ...
 }
 
so hab ichs auch schonmal probiert, aber das einzige was kommt, ist ne fehlermeldung:

PHP:
Fatal error: Call to undefined function: query()

warum, soweit ich weiss, ist query() doch ein festgeschriebene funktion ?!?!
 
Hi,

das heisst mysql_query()

PHP:
$abfrage = "SELECT * from news ORDER BY id DESC LIMIT 10";  
$result = mysql_query($abfrage);  
while($row = mysql_fetch_array($result))
 {
  ...
 }
ich würde es aber so machen:
PHP:
$result = mysql_query("SELECT * from news ORDER BY id DESC LIMIT 10");  
while($row = mysql_fetch_object($result))
 {
  ...
 }
 
arrgghh.. geht immer noch nicht, keine der beiden lösungen geht -> es wird immer nur die letzte news angezeigt:

PHP:
$abfrage = "SELECT * from news ORDER BY id DESC LIMIT 10";  
$result = mysql_query($abfrage);  
while($row = mysql_fetch_array($result))	
		  
{
$datum = $row["datum"];  
$beitrag = $row["beitrag"];  
$beitrag = nl2br($beitrag);  
$autor = $row["autor"];  
$betreff = $row["betreff"];  
$section = $row["section"]; 

$datum = date("d.m.Y",$datum);  


$news = "<table width=\"450\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td background=\"images/news_header.gif\"><table width=\"445\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\"><tr>";
$news .= "<td width=\"300\">$betreff</td><td width=\"145\"><small>$autor am $datum</small></td></tr></table></td></tr><tr><td background=\"images/news_bg.gif\"><table width=\"445\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">";
$news .= "<tr><td width=\"300\" valign=\"top\">$beitrag</td><td width=\"145\" valign=\"top\"><div align=\"center\"><br><img src=\"images/$section.jpg\"></div><br /></td></tr></table></td>";
$news .= "</tr><tr><td><img src=\"images/news_bottom.gif\" width=\"450\" height=\"3\"></td></tr></table>";

}

$site_template->register_vars("news", $news);

Das das ganze tempalte gesteuert ist, ist doch egal, oder?
 
PHP:
$abfrage = "SELECT * from news ORDER BY id DESC LIMIT 10";  
$result = mysql_query($abfrage);  
$news = "";
while($row = mysql_fetch_array($result))    
          
{
$datum = $row["datum"];  
$beitrag = $row["beitrag"];  
$beitrag = nl2br($beitrag);  
$autor = $row["autor"];  
$betreff = $row["betreff"];  
$section = $row["section"]; 

$datum = date("d.m.Y",$datum);  


$news .= "<table width=\"450\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td background=\"images/news_header.gif\"><table width=\"445\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\"><tr>";
$news .= "<td width=\"300\">$betreff</td><td width=\"145\"><small>$autor am $datum</small></td></tr></table></td></tr><tr><td background=\"images/news_bg.gif\"><table width=\"445\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">";
$news .= "<tr><td width=\"300\" valign=\"top\">$beitrag</td><td width=\"145\" valign=\"top\"><div align=\"center\"><br><img src=\"images/$section.jpg\"></div><br /></td></tr></table></td>";
$news .= "</tr><tr><td><img src=\"images/news_bottom.gif\" width=\"450\" height=\"3\"></td></tr></table>";

}

$site_template->register_vars("news", $news);
Und jetzt such den Unterschied ;)
Kannst übrigens weiterhin deine MySQL-Wrapper-Klasse verwenden, daran sollte es nicht gelegen haben.
 
Zurück