Lav selection list
Jeg vil gerne lave en selection liste til min hjemmeside.
Det skal helst se ca. sådan her ud:
"søgefelt her"
-------------- --------------
| 1. valg | --> | indsæt her |
| 2. valg | <-- | |
| | | |
| | | |
-------------- --------------
Er der nogle som har et godt link eller lign? Det skal hente listen fra en mysql-database, og så skal man kunne indsætte til højre. Samtidig skal man kunne søge i venstre rude, sådan at antallet af valg mindskes til noget som indeholder det der står i søgefeltet.
Med venlige hilsner
Nis
- Log in to post comments
Kommentarer7
Re: Lav selection list
Hmm den smukkeste måde ville være med lidt javascript, ajax kald, samt lidt php kode.
men det kan også skrives kun i php, men kræver lidt mere tænkning.
Kan se du også har lavet et andet indlæg, hvad skal det bruges til ?
Til at lære det, for så burde du nok prøve med lidt mindre advanceret
Re: Re: Lav selection list
Det skal bruges til en database, hvor interface er noget HTML og php.
Brugerne skal kunne tilmelde sig forskellige grupper, alt efter hvor i landet de kommer fra. Så vil de modtage info om kun disse grupper de er tilmeldt.
Re: Lav selection list
Altså hvis jeg laver det for dig, lærer du jo ingen ting, dvs jeg har spildt min tid godt og grundigt.
Tja... Det er muligt
... Det er muligt at du har ret. Men omvendt har jeg googlet mig rundt hele dagen i går i jagten på en god forklaring på netop sådan en "list box". Det er meget meget svært at finde et godt eksempel som er til at forstå og som i øvrigt kan det jeg vil have det skal kunne. Der findes praksisk talt ingen tutorials på emnet, eller også googler jeg forkert.
Mit største problem er at se, hvorfor min indsatte php-kode ikke virker. Den skal hente listen fra mysql-databasen med noget query-liste... Jeg har forsøgt mig med noget som ser sådan her ud:
var from_array = new Array(1,2,
include 'config.php';
include 'opendb.php';
$query = "SELECT byer FROM byliste ORDER BY byer";
$result = mysql_query($query);
if(mysql_num_rows($result)) {
// we have at least one option, so show all options as options in select form
while($row = mysql_fetch_row($result))
{
print("$row[0]");
}
} else {
print("Ingenting tilføjet endnu.");
}
include 'closedb.php';
); // this array has the values for the source list
var to_array = new Array(); // this array has the values for the destination list(if any)
function moveoutid()
{
var sda = document.getElementById('xxx');;
var len = sda.length;
var sda1 = document.getElementById('yyy');
for(var j=0; j
{
if(sda[j].selected)
{
var tmp = sda.options[j].text;
var tmp1 = sda.options[j].value;
sda.remove(j);
j--;
var y=document.createElement('option');
y.text=tmp;
try
{sda1.add(y,null);
}
catch(ex)
{
sda1.add(y);
}
}
}
}
function moveinid()
{
var sda = document.getElementById('xxx');
var sda1 = document.getElementById('yyy');
var len = sda1.length;
for(var j=0; j
{
if(sda1[j].selected)
{
var tmp = sda1.options[j].text;
var tmp1 = sda1.options[j].value;
sda1.remove(j);
j--;
var y=document.createElement('option');
y.text=tmp;
try
{
sda.add(y,null);}
catch(ex){
sda.add(y);
}
}
}
}
Tilgængelige byerValgte byer
for(var i=0;i
{
document.write(''+from_array[i]+'');
}
>" onclick=moveoutid()>
for(var j=0;j
{
document.write(''+to_array[j]+'');
}
Jeg kan imidlertid ikke få den til at vise php/mysql listen, og jeg kan ikke se hvor jeg skal hive de ting ud, som er sat over i højre box. Jeg vil jo gerne føre dette tilbage til mysql-databasen under denne bruger!
Hvad er fejlen i mit script?
Kære ven
Det du gør nu er,
Kære ven
Det du gør nu er, at du går ind på denne side:
http://udvikleren.dk/PHP/Article.aspx/32/
Så starter du første med nogle ganske basale ting, som udtræk fra en tabel og osv.
Så senere kan du lave alle de fancy ting.
At jeg så ikke syntes nogen eller noget skal begynde på PHP er så bare min Microsoft tankegang (XSS Angreb og osv).
Det er jo ikke sql der er problemet
Jeg fandt ud af, at jeg havde døbt siden .html men den skal selvfølgelig hedde .php hvis php-scriptet skal afvikles.
Det virker nu fint.
#5
PHP er ganske udemærket, bare sørg for at bruge et ordentligt framework bagved. Der er en del at vælge imellem.