![]() |
Skumt fel i PHP med PDO
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? |
Hittade felet:
<option value = $row[Home_Team]>$row[Home_Team]</option> Ska vara: <option value = '$row[Home_Team]'>$row[Home_Team]</option> |
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:
|
Tackar för tipsen.
Lade in dina ändringar. |
Alla tider är GMT +2. Klockan är nu 05:25. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson