31. marts 2004 - 22:58
Der er
12 kommentarer og 1 løsning
HTML og PHP blandet sammen
Hej... Jeg har forsøgt at lægge lidt HTML-layout omkring elementerne i en PHP-løkke (for...) - men får parse error - hvad går galt? ------------------------------------------------------------- if($num_results <= 5) { echo "<p>Viser post: 0-5 af ".$num_results." </p>"; for ($i=0; $i <$num_results; $i++) { $row = mysql_fetch_array($result); echo "<br>"; $resultNumber = $resultNumber + 1; ?> <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0" class="text"> <tr> <td><strong><img src="transparent.gif" width="5" height="1"><? echo $row["overskrift"];?></strong></td> <td>af <? echo $row["forfatter"];?></td> </tr> <tr> <td colspan="2"><font color="#999999"><img src="transparent.gif" width="5" height="1"><? echo $row["dato"]; ?></font></td> </tr> <tr> <td colspan="2"><? echo $row["tekst"]; ?></td> </tr> <tr bgcolor="#000000"> <td height="1" colspan="2"><img src="transparent.gif" width="1" height="1"></td> </tr> </table> <? }} ---------------------------------------------------------------- Det går vist galt når jeg skal lukke min for-løkke ??
Annonceindlæg fra Kommando
31. marts 2004 - 23:03
#1
Mangler du ikke at lukke af med "?>"?: <? }}
31. marts 2004 - 23:09
#2
Skriv hele fejlmeddelelsen.. bortset fra stier og ligende oplysningen.
31. marts 2004 - 23:16
#3
Parse error: parse error, unexpected ')' - i den sidste linie jeg har klippet ind...
31. marts 2004 - 23:17
#4
Jeg lukker vel i første omgang efter resultnumber +1 ?? Og så kører HTML'en med lidt PHP-indsættelser - kan jeg ikke køre alt det inden for en for-løkke ?
31. marts 2004 - 23:20
#5
Oprindeligt så den sådan ud (og virkede): if($num_results <= 5) { echo "<p>Viser post: 0-5 af ".$num_results." </p>"; for ($i=0; $i <$num_results; $i++) { $row = mysql_fetch_array($result); echo "<br>"; echo "".($resultNumber).". "; $resultNumber = $resultNumber + 1; // Her kan layoutet for indlæg ændres ! Se også længere nede... echo " | <b> "; echo $row["overskrift"]; echo " </b> | "; echo $row["dato"]; echo " | "; echo $row["forfatter"]; echo "<br> "; echo $row["tekst"]; echo "<br><br>"; } } Men jeg vil meget gerne lave lidt layout på echo-kaldene...
31. marts 2004 - 23:21
#6
Jeg forstod ikke dit indlæg 31/03-2004 23:16:31 Men du kan godt danne al din tabel-kode, i en variabel, i for-løkken. Så kan du lukke for-løkken, og derefter udskrive variablen, som så laver html koden.
31. marts 2004 - 23:22
#7
Øh...nu skal det så siges at jeg ikke fatter ret meget - har fået PHP-koden tilsendt, og mit job er så at passe det ind i layout'et - så hvordan ser det ud ?
31. marts 2004 - 23:45
#8
Se om det her ikke virker: if($num_results <= 5) { echo "<p>Viser post: 0-5 af ".$num_results." </p>"; for ($i=0; $i <$num_results; $i++) { $row = mysql_fetch_array($result); echo "<br>"; echo "".($resultNumber).". "; $resultNumber = $resultNumber + 1; // Her kan layoutet for indlæg ændres ! Se også længere nede... echo "<table width=\"90%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"text\">"; echo "<tr>"; echo "<td><strong><img src=\"transparent.gif\" width=\"5\" height=\"1\">" . $row["overskrift"] . "</strong></td>"; echo "<td>af " . $row[\"forfatter\"] . "</td>"; echo "</tr>"; echo "<tr>"; echo "<td colspan=\"2\"><font color=\"#999999\"><img src=\"transparent.gif\" width=\"5\" height=\"1\">" . $row[\"dato\"] . "</font></td>"; echo "</tr>"; echo "<tr>"; echo "<td colspan=\"2\">" . $row[\"tekst\"] . "</td>"; echo "</tr>"; echo "<tr bgcolor=\"#000000\">"; echo "<td height=\"1\" colspan=\"2\"><img src=\"transparent.gif\" width=\"1\" height=\"1\"></td>"; echo "</tr>"; echo "</table>"; } }
01. april 2004 - 00:00
#9
JEPS !!! OK - nu ved jeg så hvordan det skal bygges op... TAK... Lige lidt feedback - ved ikke hvorfor du sætter \ om ex. "forfatter" - men det virkede da jeg fjernede dem ! TAK for hjælpen ! Lægger du et svar ?
01. april 2004 - 00:02
#10
Joda :-) Det med "forfatter" var en fejl..
01. april 2004 - 00:06
#11
Takker for points :-)
01. april 2004 - 07:57
#12
PS Det går hurtigere at benytte 1 kald til echo/print - dvs echo "hej"; echo "med"; echo "dig"; går langsommere end hvis du skrev echo "hej med dig"; --- Desuden bør der bruges '-er som wrapper, hvis der ikke indgår variabler 'inline'... fx echo "hej med " . $dig; går langsommere end echo 'hej med ' . $dig Bare lige en side-kommentar ;) Morten
01. april 2004 - 16:49
#13
Og en god side-kommentar, er det :-) Jeg programmerer ikke i PHP, men i ASP, så det er rart at lære noget nyt :-)
Vi tilbyder markedets bedste kurser inden for webudvikling