Avatar billede gubien Nybegynder
24. juli 2008 - 07:56 Der er 9 kommentarer og
1 løsning

Php, select boks, få den til at vælge data fra tabel.

Jeg har nogle selectbokse, som bliver udfyld fra en tabel, derudover har jeg nogle teksbokse.

Jeg ønsker at kunne hente data til begge fra en tabel, således at hvis jeg ligger på et link, så fyldes teksbokse og select boksen har valgt de korrekte data. 
Jeg er klar over man kan bruge value="'.$fill0['Vendor'].'" til tekstbokse, men kan man gøre noget ligende med en select box?
Avatar billede riversen Nybegynder
24. juli 2008 - 08:00 #1
ja, det er bare <option value="...">
Avatar billede gubien Nybegynder
24. juli 2008 - 08:32 #2
Ahhh ak ja, det havde jeg da ikke lige prøvet, nu er problemet bare er der er to af den "hentet" data. LOL
Avatar billede gubien Nybegynder
24. juli 2008 - 08:52 #3
Har du nogen idé om hvordan jeg får den til at lade været med at fylde select boksen, med den valgte data.

min select ser således ud;

$query1 = mssql_query("SELECT typen FROM typen ORDER BY typen");
if(mssql_num_rows($query1)>0){
$FillEdit_Form .= '<td><select name="typen">';
$FillEdit_Form .= '<option value="'.$fill0['Typen'].'">'.$fill0['Typen'].'</option>';
while($row = mssql_fetch_assoc($query1)){


$FillEdit_Form .= '<option value="'.$row['typen'].'">'.$row['typen'].'</option>';
}
$FillEdit_Form .= '</select></td>';
}

Som du kan se, vælger den rigtigt nok de data som bliver hentet ud, men når den looper elementerne igennem, bliver den samme data jo fyldt i igen.
Spørgsmålet er bare om man kan få loopet til at springe det valgte element over?
Avatar billede janpolsen Nybegynder
24. juli 2008 - 09:17 #4
Du skal enten igang med noget javascript eller poste den valgte data til samme side, som så tager højde for netop den valgte data.

Sidstnævnte er nemmest, men i disse "Web 2.0"-tider så er javascript det smarteste.

... eller også har jeg misforstået dig.
Avatar billede w13 Novice
24. juli 2008 - 09:52 #5
$FillEdit_Form .= '<option value="'.$row['typen'].'">'.$row['typen'].'</option>';
skal vel så være:
if($row['typen']!=$fill0['Typen']) $FillEdit_Form .= '<option value="'.$row['typen'].'">'.$row['typen'].'</option>';
hvis jeg har forstået dig ret.
Avatar billede gubien Nybegynder
24. juli 2008 - 10:26 #6
Jeg fik lavet det således:

$query1 = mssql_query("SELECT typen FROM typen ORDER BY typen");
if($all = mssql_num_rows($query1)>0){
$FillEdit_Form .= '<td><select name="typen">';
$FillEdit_Form .= '<option value="'.$fill0['Typen'].'">'.$fill0['Typen'].'</option>';
while($row = mssql_fetch_assoc($query1)){

if($row['typen'] == $fill0['Typen'])
{
//ingenting her
}
    else
    {
    $FillEdit_Form .= '<option value="'.$row['typen'].'">'.$row['typen'].'</option>';
    }
}
$FillEdit_Form .= '</select></td>';
}
Avatar billede w13 Novice
24. juli 2008 - 10:37 #7
Hvorfor ikke sådan her? :)

$query1 = mssql_query("SELECT typen FROM typen ORDER BY typen");
if($all = mssql_num_rows($query1)>0){
    $FillEdit_Form .= '<td><select name="typen">';
    $FillEdit_Form .= '<option value="'.$fill0['Typen'].'">'.$fill0['Typen'].'</option>';
    while($row = mssql_fetch_assoc($query1)){
        if($row['typen'] != $fill0['Typen']){
            $FillEdit_Form .= '<option value="'.$row['typen'].'">'.$row['typen'].'</option>';
        }
    }
    $FillEdit_Form .= '</select></td>';
}

Der er jo ikke nogen grund til at lave en betingelse, som intet gør.

"!=" tjekker, om de er forskellige i stedet for ens.
Avatar billede gubien Nybegynder
24. juli 2008 - 10:48 #8
Ja, det kan du jo så have ret i, tænkte jeg ikke lige over..hehe... lidt noob er man vel altid...LOL
Avatar billede w13 Novice
24. juli 2008 - 11:27 #9
Husk at lukke spørgsmålet.
Avatar billede w13 Novice
25. juli 2008 - 08:44 #10
:)
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