Waarden in een listbox opslaan in db

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Karel

karel

23/04/2007 09:34:00
Quote Anchor link
Ik heb nu 2 listboxen/multiple selectboxen (hoe je ze ook noemt).

In de ene worden waarden uit een tabel ingeladen die als mogelijkheid gelden. Wanneer deze waarden zijn geselecteerd is het mogelijk om op een knop te klikken waardoor ze in een box ernaast komen te staan. Vervolgens staat er een INSERT query op deze box. Dit werkt nu wel maar alles in die box moet nog eens geselecteerd worden en dat wil ik niet. Wat ik wil is dat alles wat er in staat sowieso de database in gaat. Dit is de code die ik nu heb en ik hoop dat iemand kan helpen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$sql
=
"SELECT
    bra_brand
FROM
    tbl_brand"
;

$result = mssql_query($sql);
$rows =  mssql_num_rows($result);

echo '<select style="width:70px" name="optional_brands" id="A_s" multiple="multiple" size="7" ondblclick="SwitchBox (this, document.getElementById(A_a)">';

for($i=0;$i<$rows;$i++) {
   $optie = mssql_fetch_array($result);
   echo '<option>'.$optie['bra_brand'].'</option>';
}

echo '</select>';
?>

</div></td>
<td align="center" width="6%">
<br><input name="button2" type="button" onClick="SwitchBox (document.getElementById('A_a'), document.getElementById('A_s'))" value=" < " />
</td>
<td width="45%" rowspan="2"><span class="style8"> &nbsp;Chosen:</span><br>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
$sql
=
"SELECT
    bra_brandid,
    bra_brand
FROM
    tbl_brand"
;

$result = mssql_query($sql);
$rows =  mssql_num_rows($result);

echo '<select style="width:70px" name="bra_brandid[]" id="A_a" multiple="multiple" size="7" ondblclick="SwitchBox (this, document.getElementById(A_s))" selected>';

for($i=0;$i<$rows;$i++) {
   $optie = mssql_fetch_array($result);
   echo '<option value='.$optie['bra_brandid'].'>'.$optie['bra_brand'].'</option>';
}

echo '</select>';


$maxid = "SELECT MAX(pjt_projectid) FROM tbl_project";
$projectid= mssql_query($maxid);
echo $_POST["bra_brandid"];
while (list ($pjt_projectid) = mssql_fetch_row($projectid))
    {

    echo $pjt_projectid;
    echo $optie['bra_brandid'];
    
    $bra_brandid = $_POST["bra_brandid"];
    foreach($bra_brandid as $key => $value)
        
        {

        $query2= "INSERT INTO tbl_brand2project
        (b2p_projectid,
        b2p_brandid)"
;
    
        $query2 .="VALUES (";
        $query2 .= $pjt_projectid .",";
        $query2 .= $value .")";
        print '<pre>';
        print $query2;
        print '</pre>';
        mssql_query($query2) or die ("FOUT in query");
        }
            
    }

?>
Gewijzigd op 01/01/1970 01:00:00 door Karel
 
PHP hulp

PHP hulp

16/05/2024 14:15:50
 
Karel

karel

24/04/2007 09:14:00
Quote Anchor link
*bump* (oorspronkelijke vraag is gewijzigd)
 
Robert Deiman

Robert Deiman

24/04/2007 09:18:00
Quote Anchor link
Je zal de nieuwe selectbox zo moeten doen dat je selected="selected" toevoegd aan elke option in je select. Alleen de selected values worden meegestuurd.
 
Karel

karel

24/04/2007 09:33:00
Quote Anchor link
Dat gaat niet, als je meerdere waarden apart overzet, dan is alleen telkens de laatste geselecteerd
 
Robert Deiman

Robert Deiman

24/04/2007 09:37:00
Quote Anchor link
Je kan met JS elke option langslopen en op selected="selected" zetten. (ik weet niet precies hoe dat gaat, maar ik weet wel dat dat kan)
 
Karel

karel

24/04/2007 09:38:00
Quote Anchor link
Oké goed dan ga ik daar eens even naar zoeken, bedankt
 
Flip --

Flip --

02/11/2008 07:02:00
Quote Anchor link
Ik heb nu precies hetzelfde probleem, nog een oplossing kunnen vinden karel?

Mijn php is redelijk maar van JS weet ik bar weinig.
(de JS forms heb ik van een website gehaald)


Ik ga er vanuit dat als elke optie standaard geselecteerd is dus ook blauw is (van de selectie).

Is er niet een manier om zonder wel of niet selecteren de hele inhoud door te sturen?
Misschien (via JS??) alles selecteren op het moment dat submit button wordt geklikt?
Gewijzigd op 01/01/1970 01:00:00 door Flip --
 
Flip --

Flip --

03/11/2008 05:43:00
Quote Anchor link
Ik heb een oplossing:

<input hidden type="text" id="newList" name="newList" value="" readonly="readonly" style="border: none;">

function updateList(list, textBox) {
textBox.value = '';
for(i = 0; i < list.options.length; i++) {
if (i == 0) {
textBox.value += list.options.value;
} else {
textBox.value += ',' + list.options.value;
}
}
}

dan updatelist aanroepen bij pagina load en als je op buttons klikt (om van lijst ste verplaatsen)

window.onload = function() {
updateList(document.getElementById('list2'), document.getElementById('newList'));
}
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.