Avatar billede mrg Nybegynder
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 ??
Avatar billede thesurfer Nybegynder
31. marts 2004 - 23:03 #1
Mangler du ikke at lukke af med "?>"?:
<? }}
Avatar billede thesurfer Nybegynder
31. marts 2004 - 23:09 #2
Skriv hele fejlmeddelelsen.. bortset fra stier og ligende oplysningen.
Avatar billede mrg Nybegynder
31. marts 2004 - 23:16 #3
Parse error: parse error, unexpected ')'

- i den sidste linie jeg har klippet ind...
Avatar billede mrg Nybegynder
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 ?
Avatar billede mrg Nybegynder
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...
Avatar billede thesurfer Nybegynder
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.
Avatar billede mrg Nybegynder
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 ?
Avatar billede thesurfer Nybegynder
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>";
            } 
        }
Avatar billede mrg Nybegynder
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 ?
Avatar billede thesurfer Nybegynder
01. april 2004 - 00:02 #10
Joda :-)
Det med "forfatter" var en fejl..
Avatar billede thesurfer Nybegynder
01. april 2004 - 00:06 #11
Takker for points :-)
Avatar billede fangel Nybegynder
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
Avatar billede thesurfer Nybegynder
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 :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester