Avatar billede mazey Praktikant
05. oktober 2004 - 20:10 Der er 10 kommentarer og
1 løsning

Bildatabase som denne

Hejsa, et lille spørgsmål.

på http://www.bilbasen.dk er der et søgefelt, hvor man bliver bedt, ud fra 6 dropdown boxe, at vælge hvad man søger af bil.
Hvordan laver man lige sådan noget, hvor man ex. vælger "opel" og den så i næste felt ved modellerne fra Opel? -- Desuden må de databaser da findes, så man ikke selv behøver at skrive hver mærke samt dens modeller...?

På forhånd tak.
Avatar billede arne_v Ekspert
05. oktober 2004 - 20:12 #1
De laver vel noget smart JavaScript som ændrer valgmulighederne udfra
forrige valg.
Avatar billede googolplex Novice
05. oktober 2004 - 20:13 #2
Avatar billede arne_v Ekspert
05. oktober 2004 - 20:13 #3
Ikke sandsyneligt. Dem der indsamler de oplysninger og ligger dem ind i
en database skal jo have løn.

De vil næppe forære resultatet af deres arbejde væk.

Så vil du have de data bliver du nok nødt til selv at ligge dem ind.
Avatar billede mazey Praktikant
05. oktober 2004 - 20:15 #4
Det kan godt være.. jeg erindrer bare engang at have lært noget ud fra PHP med database hvor vi så havde en fil man kunne inkludere som havde alle postnumre eksempelvis. Det må og skal da laves med en database`??
Avatar billede googolplex Novice
05. oktober 2004 - 20:17 #5
Her er den jeg selv bruger, virker perfekt:

http://www.mattkruse.com/javascript/dynamicoptionlist/
Avatar billede arne_v Ekspert
05. oktober 2004 - 20:18 #6
Man kan hente en liste med alle postnumre hos Post Danmark.

De tjener flere penge på at folk sende noget med posten end
på at sælge data.
Avatar billede googolplex Novice
05. oktober 2004 - 20:18 #7
Jeg har sat PHP til at generere JavaScript koden, så jeg skal bare ændre I nogle arrays, så laver den selv det hele.
Avatar billede mazey Praktikant
05. oktober 2004 - 20:21 #8
Tak for svaret Googolplex... very useful!
Avatar billede googolplex Novice
05. oktober 2004 - 20:28 #9
Her kan du se mit PHP, jeg har klippet det ud af siden, jeg håber du kan se fidusen :)

<script src="/MultipleSelects.js"></script>

<script type="text/javascript">
<!--

var author = new DynamicOptionList();
author.addDependentFields("teams","author");

<?php

// Fyld på arrayet her!!!

$teams['Opel'] = array('Model1', 'Model2');
$teams['BMW'] = array('Model1', 'Model2', 'Model3');

foreach ($teams as $key => $value)
{
    sort($value);
    array_unshift($teams[$key], '--- vælg ---');
}

$teams = array_merge(array('--- vælg ---' => array('<-- vælg først Team')), $teams);

$javascript = '';

foreach ($teams as $key => $value)
{
    $javascript .= 'author.forValue("' . $key . '").addOptions(';
    sort($value);

    foreach ($value as $value2)
    {
        $javascript .= '"' . $value2 . '",';
    }

    $javascript = substr($javascript, 0, -1);
    $javascript .= ');' . "\n";

    if (isset($_POST['team']) && $_POST['team'] == $key)
    {
        $javascript .= 'author.forValue("' . $key . '").setDefaultOptions("' . $_POST['author'] . '");' . "\n";
    }
}

echo $javascript;

?>

//-->
</script>

<?php
}
?>

</head>

<body onLoad="initDynamicOptionLists();">
Avatar billede mazey Praktikant
05. oktober 2004 - 20:53 #10
Nu er jeg ikke helt inde i JavaScript, men hvis jeg forstår det rigtigt, så skal jeg lave en fil som hedder MultipleSelects.js, hvori jeg lægger
<script type="text/javascript">
<!--

var author = new DynamicOptionList();
author.addDependentFields("teams","author");

<?php

// Fyld på arrayet her!!!

$teams['Opel'] = array('Model1', 'Model2');
$teams['BMW'] = array('Model1', 'Model2', 'Model3');

foreach ($teams as $key => $value)
{
    sort($value);
    array_unshift($teams[$key], '--- vælg ---');
}

$teams = array_merge(array('--- vælg ---' => array('<-- vælg først Team')), $teams);

$javascript = '';

foreach ($teams as $key => $value)
{
    $javascript .= 'author.forValue("' . $key . '").addOptions(';
    sort($value);

    foreach ($value as $value2)
    {
        $javascript .= '"' . $value2 . '",';
    }

    $javascript = substr($javascript, 0, -1);
    $javascript .= ');' . "\n";

    if (isset($_POST['team']) && $_POST['team'] == $key)
    {
        $javascript .= 'author.forValue("' . $key . '").setDefaultOptions("' . $_POST['author'] . '");' . "\n";
    }
}

echo $javascript;

?>

//-->
</script>

<?php
}
?>


Og jeg så til sidst smider <body onLoad="initDynamicOptionLists();"> ind i min php fil?
Avatar billede googolplex Novice
05. oktober 2004 - 21:23 #11
Nejnej.

Du skal inkludere den fil der hedder MultipleSelects.js - den ligger i det andet link jeg gav dig. Derefter er det ren php.
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