Avatar billede Slettet bruger
21. maj 2010 - 13:26 Der er 3 kommentarer

Hvordan får jeg en htmlform SELECT til at vise forskelligt sql indhold i textarea??

Jeg er interesseret i at man ved valg af forskellige OPTIONS i en htmlform til at vise forskelligt indhold i et textarea. Begge dele henter indholdet fra sql-database.

eksmp. Jeg har en form med et select-tag der henter navne på alle oprettede medlemmer. Til hvert medlem følger en beskrivelse som skal vises i textarea. Således kommer den text som står i textarea til at stemme overens med det valgte medlem. Jeg kan ikke regne ud hvordan dette gøres. eller hvordan jeg søger på løsningen.

Tak til eventuel hjælp : )


/MALTHE
Avatar billede claes57 Ekspert
21. maj 2010 - 14:31 #1
1) du skal hente navne og beskrivelser på en gang
2) du lader php lave en tabel i javascript med beskrivelserne
3) når der vælges et brugernavn, så via javascript finde beskrivelsen og vise den.
Avatar billede Slettet bruger
21. maj 2010 - 15:08 #2
Ja, hvis der er under 1-200 medlemmer, og funktionen ikke bruges hele tiden (db-data kan jo ikke caches på klienten)
Har du 150.000 medlemmer og/eller skal select & textarea vises ofte, må du over i et Ajax-opslag eller evt. en IFRAME (i stedet for textarea'et).

En select (med bare 100 options) er nu heller specielt sjov at danse med...
- hvad med typeahead i stedet for, du ved:
[ mon|                ]  =>  [ Mona Von Schwartzennageln| ]
Avatar billede cronaldo Nybegynder
22. maj 2010 - 01:06 #3
hvorfor ikke bare lave det med en onchange og så lave noget ala:

function changeUrl() {
var redirect;
redirect = document.getElementById('newUrl').value;
document.location.href = redirect;
}

<select onchange="changeURL();">
<option value="/side.php?id=[brugerid]">Bruger nr. 1</option>
</select>

if( isset($_GET['id']) && !empty($_GET['id']) && is_numeric($_GET['id']) )
{
  $data = mysql_query( "SELECT felt FROM tabel WHERE id = '".mysql_real_escape_string($_GET['id'])."' ORDER BY id DESC LIMIT 1" );
  $r = mysql_fetch_array( $data );
  echo '<textarea name="information>'.$r['information'].'</textarea>';
}

eller misforstår jeg hvad du vil? Det kan selvfølgelig blive en kæmpe <select>, men så kan du jo i stedet for en select lave en opdelt liste der viser 20 brugere pr. side med en søgefunktion - det bruger jeg selv :)
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