FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Har ett skumt fel när jag ska skapa en dropdown-lista i ett formulär med fotbollslag.
Koden ser ut som följer: <form name="placementStudents" method="post"><br /> <select name = 'studentrow'> <?php include("inc/db.php"); $getTeams= $dbh ->query("SELECT DISTINCT Home_Team FROM tbl_matches WHERE League = 'E0'"); $rowarray2 = $getTeams->fetchAll(); $teamrow = 0; foreach($rowarray2 as $row) { echo "<option value = $row[Home_Team]>$row[Home_Team]</option>"; $teamrow++; } ?> </select> <input type="submit" value="Select Student"> </form> ?> Den skapar en dropdown med alla lagnamn korrekt MEN, kikar man i koden så ser man följande: <select name="studentrow"> <option value="Arsenal">Arsenal</option> <option villa="" value="Aston">Aston Villa</option> <option value="Chelsea">Chelsea</option> <option value="Liverpool">Liverpool</option> <option city="" value="Man">Man City</option><option </select> Som ni ser så byter denut "value" mot det andra ordet om ett av lagnamnen består av två ord. Aston Villa blir då: <option villa="" value="Aston">Aston Villa</option> Någon som ser något direkt fel i min kod? |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Medlem
|
Hittade felet:
<option value = $row[Home_Team]>$row[Home_Team]</option> Ska vara: <option value = '$row[Home_Team]'>$row[Home_Team]</option> |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Medlem
|
Ja. Det är konstigt att det fungerar alls om jag ska vara ärlig. Attribut till html-element ska alltid omges med dubbla citattecken. Dessutom ska man alltid ange enkla citattecken runt text-nycklar för associativa arrayer i PHP. Annars tror PHP först att det är en konstant och gör en del onödigt processande. Dessutom så bör du omge mer avancerade variabeluttryck i PHP-strängar med måsvingar för att undvika att PHP tolkar det fel.
Så din kod Citat:
PHP-kod:
|
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Medlem
|
Tackar för tipsen.
Lade in dina ändringar. |
||
![]() |
![]() |
Svara |
|
|