Avatar billede weeelo Nybegynder
28. oktober 2006 - 11:47 Der er 3 kommentarer og
1 løsning

Pre-selected option udfra variabler

Hej eksperter,

Jeg har en select, hvori der er flere optioner, som bliver trukket ud fra en database.

<select name="sites[]" multiple>
<?php
$sql=mysql_query("SELECT * FROM rss_news GROUP BY site");
    for ($i=1; $t = mysql_fetch_array($sql); $i++){
?>
<option value="<?php echo $t[site]; ?>"<?php if ( preg_match( "§^$t[site]§", $row[sites] )) { echo " selected"; } ?>><?php echo $t[site]; ?></option>
<?php
}
?>
</select>

Hvis $t[site] findes i $row[sites], skal optionen være forud markeret, men problemet er at preg_match stopper efter den først fundnu.

Jeg har en ide om at man kan bruge preg_match_all, men så udskrives det i et array, og så kommer jeg ikke rigtig videre.

Er der nogle der har en bedre ide eller kan hjælpe mig videre, så min funktion kommer til at fungere.

På forhånd tak.

MHV Weeelo
Avatar billede kinderaeg Nybegynder
28. oktober 2006 - 22:54 #1
Jeg er ret overbevist om, at det ikker er din sammenligning den stopper på, men derimod den lykke. Ville nok i dit tilfælde bruge et while-loop end et for-loop.

while($t = mysql_fetch_array($sql)) {

i stedet for

for ($i=1; $t = mysql_fetch_array($sql); $i++) {
Avatar billede weeelo Nybegynder
29. oktober 2006 - 14:21 #2
Jeg har ikke helt styr på hvordan de forskellige lykker fungerer og bruger dem faktisk ret tilfældigt..

Det var dog ikke problemet denne gang, da den stadig kun vælger den første..
Avatar billede weeelo Nybegynder
29. oktober 2006 - 21:36 #3
Nogen der kan hjælpe?
Avatar billede weeelo Nybegynder
30. oktober 2006 - 04:03 #4
Jeg klarede den med strpos..
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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