Avatar billede vifa Novice
10. maj 2015 - 21:54 Der er 4 kommentarer og
1 løsning

Quotes inside quotes

Hej,

Jeg har et problem med quotes jeg håber én af jer kan hjælpe mig med.

Jeg har følgende array hvor i jeg har en masse tekst.

    $lang['nyheder']    = '
   
    <h1>Nyheder</h1>
   
        <hr>
       
    <?php
   
        $find_nyheder        = "SELECT * FROM nyheder ORDER BY id ASC";
       
        $find_nyheder2        = mysql_query($find_nyheder) or die(mysql_error());
       
        while($row = mysql_fetch_assoc($find_nyheder2))
        {
           
            echo $row[\'id\'];

        }   
   
    ?>
   
   
    ';



Mit problem er at echo $row['id'] ikke virker.
Da det er quotes inden i quotes bruger jeg en escape: $row[\'id\'], for ellers kan siden ikke vises - men jeg får intet ud af min echo.

Kopiere jeg koden ind på en anden side, virker den fint, så jeg er sikker på det er fordi jeg har quotes inden i quotes at det ikke virker. Men hvorfor kan jeg ikke lige regne ud. Kan nogle hjælpe mig ?


Mvh.
Avatar billede moddi100 Seniormester
10. maj 2015 - 22:33 #1
Du kan som sådan ikke eksekvere PHP inde i en kommentar/quote. I stedet for anvendes ob_start() og ob_get_flush().

Eksempel:
<?php
// 1) Start output buffering, alt hvad vi udskriver herunder,
// kan vi så gemme i en variabel senere hen
ob_start();
?>
<h1>Nyheder</h1> 
<hr>
       
<?php   
$find_nyheder  = "SELECT * FROM nyheder ORDER BY id ASC";
$find_nyheder2 = mysql_query($find_nyheder) or die(mysql_error());
       
while($row = mysql_fetch_assoc($find_nyheder2))
{
    echo $row['id'];
}

// 2a) Gem alt indholdet i en variabel hvis ønsket
// samt stop output buffering
$lang['nyheder'] = ob_get_flush();   

// 2b) Alternativt kan vi blot udskrive det hele,
// og stoppe output buffering. Dette såfremt du ikke
// har behov for at gemme det/manipulere det i en
// variabel
#ob_end_flush();
?>


Her har du så to muligheder i enten 2a eller 2b. Men du ønsker jo nok at anvende 2a. Hvis det er helt volapyk, så har jeg nok behov for at høre mere om, hvad du gerne vil opnå

Links:
http://php.net/manual/en/function.ob-start.php
http://php.net/manual/en/function.ob-get-flush.php
Avatar billede moddi100 Seniormester
16. maj 2015 - 01:28 #2
status?
Avatar billede vifa Novice
16. maj 2015 - 22:17 #3
Et lidt forsinket svar, men jeg har først haft tid her hen over Kristi Himmelfarts til at arbejde på siden igen.

Tak for dit svar, men jeg er kommet op med en helt anden løsning.
Du må gerne smide et svar, så giver jeg point :-)
Avatar billede moddi100 Seniormester
17. maj 2015 - 11:28 #4
Bare husk at PHP ikke kan eksekveres inde i quotes, som du ellers forsøgte :)
Avatar billede vifa Novice
17. maj 2015 - 14:07 #5
Lige præcis, tak skal du have.
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