login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[niet opgelost]meerdere toevoegen vanuit selectbox?

Offline gothmog - 07/08/2005 11:21 (laatste wijziging 08/08/2005 12:14)
Avatar van gothmogLid ey
ik wil meerdere dingen vanuit een selectbox in een mysql tabel toevoegen...
nu heb ik dit:
  1. $selectconsole="SELECT * FROM console";
  2. $resultaatconsole = mysql_query($selectconsole) or die (mysql_error());
  3.  
  4. echo "Selecteer een console:<br>
  5. <select name='console' size='4' multiple>";
  6. while($objconsole = mysql_fetch_object($resultaatconsole))
  7. {
  8. echo "<option name='$objconsole->naam' "; if($objconsole->naam == "$obj2->console"){ echo "selected"; }else { echo ""; } echo ">$objconsole->naam</option>";
  9. }
  10. echo "</select>


nu kan ik er toch maar 1 toevoegen, wel meerdere selecteren..
hoe doe ik dit:?:

11 antwoorden

Gesponsorde links
Offline Legolas - 07/08/2005 11:35 (laatste wijziging 07/08/2005 12:11)
Avatar van Legolas Onbekend Volgens mij als de selectbox multiple is worden de waarden die geselecteerd zijn in een array. $_POST[ $selectboxname ] bevat dan dus bijvoorbeeld als het element met de value 'commandnconquerors' dit (print_r( $_POST[ $selectboxname ] )):
  1. <?
  2. (
  3. [0] => commandnconquerors
  4. )
  5. ?>

Beetje duidelijk zo?:D


edit: *zucht* @voldemort: wat doe je zelf:s
Offline gothmog - 07/08/2005 12:04
Avatar van gothmog Lid euh....
niet echt...
waar is dat commandnconquerors voor?
(ik neem aan dat je bedoeld: command and conquer..)
maar hoe moet je dat dan via query toevoegen?

ik heb nu dit:
  1. $tid=$_GET['tid'];
  2. $update="UPDATE game SET naam='$naam', genre='$genre', console='$console' WHERE id='$tid'";
  3. mysql_query($update) or die (mysql_error());
Offline Voldemort - 07/08/2005 12:06
Avatar van Voldemort PHP ver gevorderde Begin eens met je vars buiten de quotes te brengen.
Offline gothmog - 07/08/2005 14:27
Avatar van gothmog Lid maar ik snap t nog niet helemaal...
wat moet ik nu toevoegen..?


zoiets?
en hoe moet dat dan met die arrays?
  1. $tid=$_GET['tid'];
  2. $update="UPDATE game SET naam='$naam', genre='$genre', console='$selectboxname ' WHERE id='$tid'";
  3. mysql_query($update) or die (mysql_error());
Offline Legolas - 07/08/2005 14:28
Avatar van Legolas Onbekend Wat wil je dan eigenlijk?:s
Offline gothmog - 07/08/2005 14:39 (laatste wijziging 08/08/2005 12:15)
Avatar van gothmog Lid edit: ik snap het al een beetje...
maar als je dit doet:
$blabla=$_POST['blablabla'];

dan krijg je toch bijv dit (vanuit een selectbox waar je meerdere kan selecteren):
blablablablablabla

terwijl er eigelijk dit zou moeten zijn:
bla, blabla, blablabla
Offline Legolas - 08/08/2005 12:26
Avatar van Legolas Onbekend nee, je krijgt een array van de geselecteerde opties
Offline gothmog - 08/08/2005 12:35 (laatste wijziging 08/08/2005 13:10)
Avatar van gothmog Lid edit:
ok...
ik heb nu dit:
  1. $consolee=$_POST['console'];
  2. $selectconsole['index1'] = $consolee;
  3. $update="UPDATE game SET naam=$naam, genre=$genre, console=$selectconsole[index1] WHERE id=$tid";
  4. mysql_query($update) or die (mysql_error());


maar als ik er meerdere selecteer, word er nog steeds maar 1 toegevoegd
Offline Legolas - 08/08/2005 12:40 (laatste wijziging 08/08/2005 13:12)
Avatar van Legolas Onbekend ik zie nergens staan dat je iets uit $_POST haalt:s en doe die variabelen nou eens buiten quotes 

edit: geef de selectbox eens die wordt gepost (niet de php;-) maar de output:))
Offline Thomas - 08/08/2005 13:23 (laatste wijziging 08/08/2005 13:29)
Avatar van Thomas Moderator Als ik kijk naar je oorspronkelijke code dan zie ik dat je met een while-lus alle console-opties afloopt en deze allemaal met één waarde vergelijkt (namelijk $obj2->console) - op die manier zal er ook maar maximaal één optie geselecteerd worden (tenzij eenzelfde value meerdere keren voorkomt). Hier zit je probleem waarschijnlijk (je vergelijkt maar één specifieke waarde).

EDIT: Misschien is het handig om alle opties die geselecteerd dienen te worden eerst te verzamelen in een array ($opties ofzo) en dat je dan alle opties van je console afloopt om te kijken wat er geselecteerd dient te worden.

Stel $optie is de value van je huidige optie uit je while-lus, dan kun je kijken met:

  1. if(in_array($optie, $opties)) {
  2. // selecteren die hap
  3. ...
  4. }


of deze geselecteerd dient te worden.
Offline gothmog - 08/08/2005 14:28
Avatar van gothmog Lid srry...
ik snap niet echt hoe het moet...
ik heb nooit arrays geleerd...(nooit nodig gehad)
en nu heb ik die basic tutorial doorgelezen, was best simpel...
maar ik vat t niet echt van fangorn...
(srry, maar in sommige dingen ben ik nog een noob en dat kan alleen worden verholpen met voorbeelden en vragen...)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.22s