Echoa ut en div i while loop php

Permalänk
Medlem

Echoa ut en div i while loop php

Hej!
Försöker göra en egen liten blogg, har lärt mig hur man sätter in och hämtar data ur en databas.
Jag vill att varje inlägg ska skrivas ut i en div, tex <div class="bloggpost">.
Hur ska jag skriva det i loopen? Försökt lite men jag tror jag gör fel med " tecknen för jag får sådana felmeddelanden.
Koden ser ut såhär just nu och fungerar inte, antagligen för jag tänker fel angående hur man ska skriva ut diven.

<?php mysql_connect ("localhost", "root", "hemlis") or die ('Error: ' . mysql_error()); mysql_select_db ("randomnamn"); $query = "SELECT id, rubrik, posts FROM posts"; $result = mysql_query ($query); while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "<div class="blogpost"> <b>ID: {$row['id']} <br></b>" . "Rubrik: {$row['rubrik']} <br>". "Meddelande: {$row['posts']} <br>" . "<br>" </div>"; } ?>

Permalänk
Medlem

echo "<div class="blogpost"> <b>ID: {$row['id']} <br></b>" . "Rubrik: {$row['rubrik']} <br>". "Meddelande: {$row['posts']} <br>" . "<br>" </div>";

när du skriver div class="blogpost" med dubbelfnuttar så tror php att det är slutet av echo, antingen skriver du div class='blogpost' eller div class=\"blogpost\" för att så kallat escape:a dubbelfnuttarna så den tolkar det som text istället

Permalänk
Medlem

Problemet är att du har citattecken runt klassen: "<div class="blogpost">". Du måste antingen byta ut dem mot apostrofer eller skriva \" inne i strängen: "<div class='blogpost'>" eller "<div class=\"blogpost\">".

EFB.

efb
Permalänk
Medlem
Skrivet av dEnnA:

echo "<div class="blogpost"> <b>ID: {$row['id']} <br></b>" . "Rubrik: {$row['rubrik']} <br>". "Meddelande: {$row['posts']} <br>" . "<br>" </div>";

när du skriver div class="blogpost" med dubbelfnuttar så tror php att det är slutet av echo, antingen skriver du div class='blogpost' eller div class=\"blogpost\" för att så kallat escape:a dubbelfnuttarna så den tolkar det som text istället

Skrivet av nemrod:

Problemet är att du har citattecken runt klassen: "<div class="blogpost">". Du måste antingen byta ut dem mot apostrofer eller skriva \" inne i strängen: "<div class='blogpost'>" eller "<div class=\"blogpost\">".

EFB.

Tack som fan för hjälpen
Måste lära mig hur dom där jäkla " och ' tecknen fungerar

Permalänk
Medlem

Jag skulle skrivit såhär:

echo '<div class="blogpost"> <b>ID: '.$row['id'].' <br></b> Rubrik: '.$row['rubrik'].' <br> Meddelande: '.$row['posts'].' <br> <br> </div>';

Man ska försöka använda ' alltid istället för " om man inte måste ha " av någon anledning.
PHP tolkar ' snabbare för vid " så läser den igenom strängen 2 gånger. En gång för att leta efter php variabler.
Då använder man istället ' och skriver sina variabler manuellt i strängen genom att avsluta med ' och sedan punk. tex: echo 'hej'.$minvar.'hejigen';

Permalänk
Medlem
Skrivet av =JoNaZ=:

Jag skulle skrivit såhär:

echo '<div class="blogpost"> <b>ID: '.$row['id'].' <br></b> Rubrik: '.$row['rubrik'].' <br> Meddelande: '.$row['posts'].' <br> <br> </div>';

Man ska försöka använda ' alltid istället för " om man inte måste ha " av någon anledning.
PHP tolkar ' snabbare för vid " så läser den igenom strängen 2 gånger. En gång för att leta efter php variabler.
Då använder man istället ' och skriver sina variabler manuellt i strängen genom att avsluta med ' och sedan punk. tex: echo 'hej'.$minvar.'hejigen';

Ahh har läst lite nu och har gjort som du skrivit.
Sidan laddar alltså snabbare, inte för att man märker det i just det här fallet, om man använder sig utav ' istället för "?

Permalänk
Medlem

Om du skriver det några tusen gånger så kanske det blir nån millisekund snabbare... Altså inte något man märker. Bara det bästa sättet att göra det på

Permalänk
Medlem

Dessutom ska man använda citationstecken och inte apostrofer runt attributvärden i HTML, så ' är att föredra!

Visa signatur

Kom-pa-TI-bilitet