Avatar billede artico Novice
29. oktober 2005 - 19:20 Der er 12 kommentarer og
1 løsning

Hiv værdier ud af select

Jeg har denne select, hvor jeg gerne vil have alle værdier ud og ind i en session, men jeg kan ikke få det til at virke ?

<? echo " <select id=\"raavare_id\" name=\"raavare_id\" size=\"1\" >";     $mysqlGetmenu = mysql_query("SELECT    id, raavare_navn FROM raavare WHERE sb_butiks_id=$_SESSION[redigere_butik] "); while($mysqlRow = mysql_fetch_array($mysqlGetmenu)) {

Her fanges "kun" den sidste værdi ?>>>>>>>  $_SESSION['box2'] = $mysqlRow['id']; 
                            echo "<option value=\"$_SESSION[box2]\">".$mysqlRow[raavare_navn]."</option>"; } echo " </select>"; ?>
Avatar billede jaw Nybegynder
29. oktober 2005 - 19:21 #1
$_SESSION['box2'][] = $mysqlRow['id']; 

Så får du et array, hvor de så ligger som [0], [1] osv.
Avatar billede artico Novice
29. oktober 2005 - 19:38 #2
Kan jeg så bruge dem således:

$box2 = $_SESSION[box2] == $skarelisteRow[raavare_id];

($_SESSION[box2] skal være lige med et udtræt i en ny select)
Avatar billede jaw Nybegynder
29. oktober 2005 - 19:40 #3
Den forstår jeg ikke. Du har jo nu et array der indeholder alle dine raavare_id'er.
Avatar billede artico Novice
29. oktober 2005 - 19:46 #4
raavare_id fra select box 1 skal bruges til select box 2:

<? echo " <select id=\"skareliste_id\" name=\"skareliste_id\" size=\"1\" >";
                    $get_skareliste_row = mysql_query("SELECT
                id,skareliste_navn, raavare_id     FROM skareliste
    WHERE sb_butiks_id=$_SESSION[redigere_butik]
                                                  "); while($skarelisteRow = mysql_fetch_array($get_skareliste_row)) { $box2 = $_SESSION[box2] == $skarelisteRow[raavare_id];
  echo "<option class=\"$box2\" value=\"$skarelisteRow[id]\">".$skarelisteRow[skareliste_navn]."</option>"; }  echo " </select>"; ?>
Avatar billede jaw Nybegynder
29. oktober 2005 - 20:05 #5
Det kan du jo ikke før brugeren har valgt, og så skal du refreshe siden, hvis du vil lave det som en php-løsning
Avatar billede artico Novice
29. oktober 2005 - 20:10 #6
der er også blandet lidt javascript ind i det og bassere på output i box 2 class=\"$box2\" det virkede fint dog fik jeg kun den sidste værdi ud som jeg brugte som:$_SESSION[box2] men hvordan udskriver jeg den nu efter den er rettet til:
$_SESSION['box2'][] = $mysqlRow['id']; ?
Avatar billede jaw Nybegynder
29. oktober 2005 - 20:12 #7
Så skal du vide, hvilket nummer i rækken i selectboxen brugeren har valgt, da første række hedder [0], 2. række [1] osv.

Altså $_SESSION['box2'][0]
Avatar billede artico Novice
29. oktober 2005 - 20:19 #8
Jeg vil gerne have alle idér kørt ud i selectbox 1 for at finde de rette idér
der skal lægges ind i selectbx 2, noget lignene:

$box2 = $_SESSION['box2'][0] == $skarelisteRow[raavare_id];

echo "<option class=\"$box2\" value=\"$skarelisteRow[id]\">".$skarelisteRow[skareliste_navn]."</option>"; }  echo " </select>"; ?>
Avatar billede jaw Nybegynder
29. oktober 2005 - 20:21 #9
Hvad er det du prøver på?

$box2 = $_SESSION['box2'][0] == $skarelisteRow[raavare_id]; <- Hvad skal det?

Du kan jo ikke sætte 2 ting, der ikke er lig hinanden, til at være lig hinanden.
Avatar billede artico Novice
29. oktober 2005 - 20:28 #10
$box2 skal være lige med de idér hvor $_SESSION['box2'][0] == $skarelisteRow[raavare_id]; er lig med hindanden ? men, hvordan skiver jeg så den ?
Avatar billede jaw Nybegynder
29. oktober 2005 - 20:37 #11
Det ved jeg ikke, for jeg ved stadig ikke hvad du mener. Og jeg er heller ikke 100% overbevist om, at du ved hvad det array gør?!
Avatar billede artico Novice
29. oktober 2005 - 20:54 #12
Det dette jeg forsøger at skrive om:

<form action="#">
    <select id="pda-brand">
        <option value="select">Select PDA brand...</option>
        <option value="dell">Dell</option>
        <option value="hp">HP</option>
        <option value="palmone">PalmOne</option>
    </select>
    <select id="pda-type">
        <option class="select" value="select">Select PDA type...</option>
        <option class="dell" value="aximx30">Axim X30</option>
        <option class="dell" value="aximx50">Axim X50</option>
        <option class="hp" value="ipaqhx2750">iPAQ hx2750</option>
        <option class="hp" value="ipaqrx3715">iPAQ rx3715</option>
        <option class="hp" value="ipaqrz1710">iPAQ rz1710</option>
        <option class="palmone" value="tungstene2">Tungsten E2</option>
        <option class="palmone" value="tungstent5">Tungsten T5</option>
        <option class="palmone" value="zire72">Zire 72</option>
    </select>
</form>

Med dette java script:
function dynamicSelect(id1, id2) {
    // Feature test to see if there is enough W3C DOM support
    if (document.getElementById && document.getElementsByTagName) {
        // Obtain references to both select boxes
        var sel1 = document.getElementById(id1);
        var sel2 = document.getElementById(id2);
        // Clone the dynamic select box
        var clone = sel2.cloneNode(true);
        // Obtain references to all cloned options
        var clonedOptions = clone.getElementsByTagName("option");
        // Onload init: call a generic function to display the related options in the dynamic select box
        refreshDynamicSelectOptions(sel1, sel2, clonedOptions);
        // Onchange of the main select box: call a generic function to display the related options in the dynamic select box
        sel1.onchange = function() {
            refreshDynamicSelectOptions(sel1, sel2, clonedOptions);
        };
    }
}
function refreshDynamicSelectOptions(sel1, sel2, clonedOptions) {
    // Delete all options of the dynamic select box
    while (sel2.options.length) {
        sel2.remove(0);
    }
    // Create regular expression objects for "select" and the value of the selected option of the main select box as class names
    var pattern1 = /( |^)(select)( |$)/;
    var pattern2 = new RegExp("( |^)(" + sel1.options[sel1.selectedIndex].value + ")( |$)");
    // Iterate through all cloned options
    for (var i = 0; i < clonedOptions.length; i++) {
        // If the classname of a cloned option either equals "select" or equals the value of the selected option of the main select box
        if (clonedOptions[i].className.match(pattern1) || clonedOptions[i].className.match(pattern2)) {
            // Clone the option from the hidden option pool and append it to the dynamic select box
            sel2.appendChild(clonedOptions[i].cloneNode(true));
        }
    }
}
// Attach our behavior onload
window.onload = function() {
    dynamicSelect("pda-brand", "pda-type");
}
Avatar billede artico Novice
15. maj 2006 - 23:45 #13
Lukker smid et svar
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