Panelen



Forumnavigering
Senast inloggade
RSS
Sponsorer

Forum > Övriga serverspråk > PHP

While med variabel

triwear
triwear

Gradering

#20542

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!

ID: #20542 | Skapades: 2010-12-31 05:30:51 | Tråden har 2 svar och har lästs 375 gånger.

Shadi
Shadi

Gradering

#20545

Du 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.

Administratör på AspKoll.se!
ID: #20545 | Skapades: 2010-12-31 11:57:29

triwear
triwear

Gradering

#20547

Tackar! Undrade alltid vad .= egentligen var, men nu fattar jag :-)

ID: #20547 | Skapades: 2010-12-31 15:32:06
© Copyright 2007-2009 Shadi Domat | Version 3.0 | Sidkarta | Policy