Avatar billede compac Seniormester
20. marts 2016 - 11:47 Der er 6 kommentarer og
1 løsning

Syntax i html/php kode

Jeg har lidt php-html kode hvor echo-kommandoen laver lidt syntaxproblemer:
<label for="filmCert">Certificate:</label>
<select name="filmCert">
        <?php
            while ($rowCerts = $resultFilmCerts->fetch_assoc()) {
                  echo '<option value=\'{$rowCerts['filmCertificate']}\'>';
                echo $rowCerts['filmCertificate'];
                echo '</option>';
            }
        ?>
        </select>
Den skriver echo-koden i selve feltet - det plejer at være en "citationsfejl".
Jeg formoder, at det er citationstegnene, der ikke er korrekte.
Er der nogen der kan hjælpe?
Avatar billede Slater Ekspert
20. marts 2016 - 11:51 #1
Ja, du skal bare udskifte de ydre citationstegn med " i stedet for '.

I PHP er der forskel på de to. ' (apostrof) er lidt hurtigere at udføre end " (anførselstegn) fordi den ikke behandler symboler inde i strengen. Men det betyder også at du ikke kan bruge ting som variabler, brace-nesting og backslash-expressions (som f.eks. \n) i strenge omgivet af apostrof.
Avatar billede compac Seniormester
20. marts 2016 - 12:30 #2
Jeg forstår ikke helt hvad du mener, men jeg kan fortælle, at den skriver:

';echo $rowCerts['filmCerticate'];echo'

inden i feltet.
Avatar billede Slater Ekspert
20. marts 2016 - 12:34 #3
Jeg mener at i stedet for

echo '<option value=\'{$rowCerts['filmCertificate']}\'>';

skal du skrive

echo "<option value='{$rowCerts['filmCertificate']}'>";

- altså bare skift ' til ". Og så er der ikke længere grund til at escape ' inde i strengen.
Avatar billede compac Seniormester
20. marts 2016 - 13:23 #4
Det giver ingen ændring - bortset fra at den viser at ' er ændret til " i som det ydre.
"<option value='{$rowCerts['filmCertificate']}'>";

- det andet echo i sætningen stammer nok fra den følgende linie:

echo "<option value='{$rowCerts['filmCertificate']}'>";
echo $rowCerts['filmCertificate'];
echo "</option>";
Avatar billede arne_v Ekspert
20. marts 2016 - 14:30 #5
Maaske ville det hele vaere lidt nemmere hvis de to ting:
* hente data
* generere HTML
blev adskilt.
Avatar billede compac Seniormester
20. marts 2016 - 15:26 #6
Jeg har brugt denne løsning:
<?php
    while ($rowCerts = $resultFilmCerts->fetch_assoc()) { ?>
    <option value="<?php echo $rowCerts['filmCertificate']?>";
    <?php echo  $rowCerts['filmCertificate']; ?></option>";
<?php } ?>

-ikke særlig smart, men det virker.
Avatar billede compac Seniormester
20. marts 2016 - 15:27 #7
lukket
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