Avatar billede ditlev Juniormester
19. september 2011 - 00:32 Der er 6 kommentarer og
1 løsning

HTML tabel-syntaks i PHP

Jeg fumler med et script der tildels laves i PHP og tildels i HTML og javascript.
Ved hjælp herinde har jeg fået lavet dette script:

<table align=center>
    <tr>
        <td><?php opgavefelt(1); ?></td><td><?php svarfelt(); ?></td><td><?php opgavefelt(2); ?></td><td><?php opgavefelt(3); ?></td><td><?php opgavefelt(4); ?></td>
    </tr>
</table>

hvor opgavefelt() og svarfelt() er funktioner lavet i PHP delen.
ovenstående fungerer perfekt, men skal helst placeres i PHP delen. Jeg er nået frem til dette:

    // opgavedata i array hentes via PHP
    $opgave = array("Y2","G2","B2","svar","D2","H2","5");
    $antalElementer = count($opgave);
    $antalFelter = $antalElementer - 2;
    $tid = $antalFelter + 1;
    $rigtigtSvar = $opgave[0];
    echo '<table align=center>';
        echo '<tr>';
        for ($i=1; $i<$antalFelter + 1; $i++) {
            if ($opgave[$i] !== "svar") {
                echo "<td>" opgavefelt($i) "</td>";
            } else {
                echo "<td>" svarfelt($i) "</td>";
            }
        }
        echo '</tr>';
    echo '</table>';

Det er linjerne:

echo "<td>" opgavefelt($i) "</td>";  og
echo "<td>" svarfelt($i) "</td>";

der fejler, og det drejer sig vel om at få sat "" rigtigt.
Jeg håber at der er nogle herinde på Eksperten der kan gennemskue dette :)
/Ditlev
Avatar billede NielsErikP Mester
19. september 2011 - 00:42 #1
Hej..
Skal det ikke være :


echo "<td>" . opgavefelt($i). "</td>";  og
echo "<td>" . svarfelt($i) . "</td>";


Avatar billede ditlev Juniormester
19. september 2011 - 01:21 #2
Hejsa
Det hjalp betydeligt, nu afvikles funktionerne.
Funktionerne tegner nogle felter, og disse bliver nu sat vertikalt i stedet for horisontalt efter hinanden som det skete med det gamle script.
Er der en løsning på dette også?
Niels - du har jo svaret på spørgsmålet, og du får point hvis du laver et svar.
/Ditlev
Avatar billede majbom Novice
19. september 2011 - 19:31 #3
hvis der ikke skal skiftes linje for hvor gang din while itererer, skal du fjerne <tr> og </tr> fra din while - måske der skal skrives "</tr><tr>" efter et "svarfelt" ?
Avatar billede NielsErikP Mester
19. september 2011 - 21:02 #4
Hej..
Et svar!!
Glad for at det kunne hjælpe dig :-)
Avatar billede NielsErikP Mester
19. september 2011 - 21:35 #5
Hej...
For mig at se på din kode i #0, skulle du da med den kode udskrive dine table data(<td></td>) indenfor dine table rows(<tr></tr>).... mener din for-løkke udskriver dine table data(<td></td>) om svarer til kolonner i et regne ark... og din for-løkke ligger indenfor din table row(<tr></tr>) som er rækker... tænk det som rækker og kolonner!! Så det er mig lidt uforståeligt at det kode i #0, ikke udskriver horisontalt.
Avatar billede ditlev Juniormester
19. september 2011 - 22:41 #6
Som lover giver jeg points for svaret på mit fremførte spørgsmål.
Jeg laver et nyt spørgsmål med det samme, hvor jeg smider hele koden ud, så kan I nok bedre komme med et kvalificeret bud på hvordan felterne under php-delen kommer til at stå rigtigt :)
/Ditlev
Avatar billede NielsErikP Mester
20. september 2011 - 00:01 #7
Hej..
Tak for point...
Ja.. måske det var rart med hele koden!!!
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

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