Forum > Övriga serverspråk > PHP
Hej, (trådnamnet kanske inte var det bästa, men men..)
Jag sitter ibland nu och gör ett litet CMS, jag har då gjort ett litet template system där den printar ut $main i min content div så jag slipper skriva hela HTML koderna i varje fil.
Så jag har nu en fil som heter news.php, koden ser ut såhär:
<?php
$query = mysql_query("SELECT * FROM news ORDER BY id desc LIMIT 5");
while ($row = mysql_fetch_assoc($query)) {
$main = '<h2>'.$row['title'].'</h2>
'.$row['body'].'
<p class="post-footer align-right">
<a href="#" class="readmore">Read more</a>
<a href="index.html" class="comments">Comments ('.$row['comments'].')</a>
<span class="date">'.$row['date'].'</span>
</p>
';
}
?>
Jag förstår varför koden inte funkar, men kan inte komma på en lösning.
Den loopar ju så att $main blir samma sak hela tiden(?), TROR jag.
Denna kod visar bara första resultatet, och det är det jag behöver hjälp med, hur jag gör så den printar alla 5 stycken alltså.
Tack!
| Skriv utDu behöver lägga till punkten.
while(){
$main = "Hej";
}I ovanstående kod blir $main ALLTID "Hej". Men lägger du till en punkt före likamed-tecknet:
$main = "";
while(){
$main .= "Hej";
}
Då kommer $main att innehålla så många "Hej" som loopen är. Kom ihåg att ge $main ett värde innan loopen. I mitt fall är det ett tomt strängvärde.
Tackar! Undrade alltid vad .= egentligen var, men nu fattar jag :-)