29. maj 2005 - 16:45
Der er
17 kommentarer og 1 løsning
Del op ved (komma)
Hejsa Jeg har et felt i min dababase, hvor der kan stå: Sej, Cool, Doven, Taber Når det så bliver udskrevet i min select multiple, så skal alle dem, som er nævnt ove for blive selected. Ligesom den gør i nedenstående, bare at i det jeg gerne vil have kan de vælge flere og der er komma i mellem i databasen: Alkohol:<br> <select name="smoking" size="1"> <? foreach(array("Ikke angivet", "Aldrig", "Sjældent", "Til fest", "Alkoholiker") as $place){ echo "<option".($row['alcohol'] == $place ? " selected" : "")." value=\"$place\">$place</option>\n"; } ?></select><br><br>
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Ok har kigget lidt og forstår godt det, men det skal jo være sådan at alt under personlighed, som jeg er ved at lave står i alfabetisk orden. Jeg laver så sådan en her: <select name="personality" size="1"> <? foreach(array("a", "b", "v", "d", "e") as $personality){ echo "<option".($row['personality'] == $personality ? " selected" : "")." value=\"$personality\">$personality</option>\n"; } ?></select><br><br> Det skal være noget i den stil, bare at $row['personality'] bliver delt op ved komma og de rigtige felter bliver selected.
Hvad er det du mangler nu? Du har jo alle stumper du skal bruge?
Vil dette virke? <select name="personality" size="1"> <? $personality = explode(", ", $row['personality']); foreach(array("a", "b", "v", "d", "e") as $place){ echo "<option".($personality == $place ? " selected" : "")." value=\"$place\">$place</option>\n"; } ?></select><br><br>
Prøv: <select name="personality" size="1"> <? $personArr = explode(", ", $row['personality']); foreach($personArr as $stuff){ echo "<option".($personality == $stuff ? " selected" : "")." value=\"$place\">$place</option>\n"; } ?></select><br><br> Når du dog har size=1, så mener jeg ikke du kan få multiple select.
Der findes jo flere end dem der bliver udskrevet. Fx vi siger der findes Sej, Cool, Nice ogås i $row['personality'] bliver Sej, Nice udskrevet, så skal den gøre så de 2 er selected i min multiple select.
Du skal ihf ændre: <select name="personality" size="1"> til <select multiple name="personality" size="3"> Men resten ser ok ud!
Jaja ved godt at size skal være over 1 og at der skal tilføjes multiple, men hvor skal jeg skrive alle valg mulighederne?
Det gør du jo med: echo "<option".($personality == $stuff ? " selected" : "")." value=\"$stuff\">$stuff</option>\n";
Det er jo lavet sådan, ved alkohol (Det jeg viste først) at den selv ud skrev alle options bare ved denne kode: Alkohol:<br> <select name="smoking" size="1"> <? foreach(array("Ikke angivet", "Aldrig", "Sjældent", "Til fest", "Alkoholiker") as $place){ echo "<option".($row['alcohol'] == $place ? " selected" : "")." value=\"$place\">$place</option>\n"; } ?></select><br><br> Altså at jeg smed alle muligheder her ind: foreach(array("Ikke angivet", "Aldrig", "Sjældent", "Til fest", "Alkoholiker") as $place){ Også udskrev den selv alle sammen og smed selected ind, hvis $row['alcohol'] var li med $place
Jeg forstår ikke din måde at lave det på! Giver op...
Prøv at se her..
http://kdp.users.whitehat.dk/jakobdo.php Prøv at vælg en af felterne og tryk på knappen, så bliver du sendt til den samme side igen, men så har den selected den du valgte. Det er sådan jeg gerne vil have den til at gøre bare med noget der bliver udskrevet fra en database. Hvor den først skal explode indholdet, også derefter skal den sætte alle dem som fandtes i databasen til selected. Også skal det være en multiple hvor size er over 1.
<form method="POST" action="jakobdo.php" enctype="multipart/form-data">
Alkohol:<br>
<select name="alcohol" size="1">
<?
foreach(array("Ikke angivet", "Aldrig", "Sjældent", "Til fest", "Alkoholiker") as $place){
echo "<option".($_POST['alcohol'] == $place ? " selected" : "")." value=\"$place\">$place</option>\n";
}
?></select><br><br>
<input type="submit">
</form>
Prøv denne: <select name="personality" size="3"> <? $personArr = explode(", ", $row['personality']); foreach(array("a", "b", "v", "d", "e") as $personality) { echo "<option".(in_array($personality,$personArr) ? " selected" : "")." value=\"$personality\">$personality</option>\n"; } ?></select><br><br>
Virker ikke helt i databasen står der: a, v Og den makere kun v
Hov det virker manglede bare multiple. tak smider du svar?
Vi tilbyder markedets bedste kurser inden for webudvikling