Ik heb een news script maar hij werkt niet echt helemaal. Hij connect naar een IPB database en retrieved de info.


<?php
$forumid = '4';
//how many news post you want to show
$topicrows = '5';
mysql_connect ($databaseip, $username, $password);
mysql_select_db ($databasename);
$topicq = mysql_query ("select* from ibf_topics where forum_id=".$forumid." order by start_date desc");
for ($i=0; $i <$topicrows; $i++)
{
$topicrow = mysql_fetch_array($topicq);
$titleid = $topicrow["tid"];
$topictitle = $topicrow["title"];
$postq = mysql_query ("SELECT * FROM `ibf_posts` where topic_id = ".$titleid." and new_topic = 1 order by post_date");
$postfetch = mysql_fetch_array($postq);
$postrow = $postfetch["post"];
$unixdate = $topicrow["start_date"];
$date = date("F jS, Y",$unixdate);
$writter = $topicrow["starter_name"];
$postrow = str_replace('<#EMO_DIR#>', $emoticons, $postrow); 
$postrow = str_replace('<#IMG_DIR#>', $img_dir, $postrow);

echo ('  

<p>'.$topictitle.'</p>
<p>'.$postrow.'</p>
<p>'.$writter.'</p>
<p>'.$date.'</p>
<p><a href="http://forums.yourwebsite.com/index.php?showtopic='.$titleid.'">Comments?</a></p>
<p><hr></p>

');
}
?>


Als ik dat gebruik en ik laadt de pagina werkt het niet helemaal. Als je minder 5 topicrows hebt dan krijg je deze error: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\ipbnewsscript\newsscript.php on line 62
mysql error...
hoe verhelp ik? :O
<?php
$out = mysql_query($sql);
while($row = mysql_fetch_assoc($out)){
echo rotzooi
}

?>
wert vaak beter
maar hoe fix ik dan? ...
ik heb nu gedaan maar nu laat ie maar 1 post zien terwijl er 2 staan >_>
ik maak mijn while altijd zo, ik weet niet wat het verschil is, maar miscien de moeite waard het te proberen:

while($row = mysql_fetch_object($topicq))
{

<?php
$forumid = '4';
$topicrows = '5';
mysql_connect ($databaseip, $username, $password);
mysql_select_db ($databasename);
$out = ("select * from ibf_topics where forum_id=".$forumid." order by start_date desc");
$out = mysql_query($out);
while($row = mysql_fetch_object($out)){
$topicrow = mysql_fetch_array($out);
$titleid = $topicrow["tid"];
$topictitle = $topicrow["title"];
$postq = mysql_query ("SELECT * FROM `ibf_posts` where topic_id = ".$titleid." and new_topic = 1 order by post_date");
$postfetch = mysql_fetch_array($postq);
$postrow = $postfetch["post"];
$unixdate = $topicrow["start_date"];
$date = date("F jS, Y",$unixdate);
$writter = $topicrow["starter_name"];
$postrow = str_replace('<#EMO_DIR#>', $emoticons, $postrow); 
$postrow = str_replace('<#IMG_DIR#>', $img_dir, $postrow);
echo ('  

<p>'.$topictitle.'</p>
<p>'.$postrow.'</p>
<p>'.$writter.'</p>
<p>'.$date.'</p>
<p><a href="http://forums.yourwebsite.com/index.php?showtopic='.$titleid.'">Comments?</a></p>
<p><hr></p>

');
}
?>
van regel 8 tot en met 11 zou ik dit maken:

while($row = mysql_fetch_object($out)){
//deze regel weg
$titleid = $topicrow->tid;
$topictitle = $topicrow->title;

en zo ook alle andere variabelen aanpassen. tenminste, de variabelen die met fetch_object werken.
@Derk: Als je $row ophaalt moet je er ook verder mee werken.

while($row = mysql_fetch_object($out)){
//deze regel weg
$titleid = $row->tid;
$topictitle = $row->title;

Reageren