Multiple bij select-element
Ik krijg de optie multiple bij het select-element niet werkend.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<div class="tagline_links">
<label>Genre:</label><br />
<select name="genre" multiple="" size="5">
<?php
while($row = mysql_fetch_array($cResultGenreInvoer)) {
?>
<option value="<?php echo '[' . $row['keuze'] . ']' ; ?>"><?php echo $row['keuze'] ; ?></option>
<?php } ?>
</select><br /><br />
</div>
<label>Genre:</label><br />
<select name="genre" multiple="" size="5">
<?php
while($row = mysql_fetch_array($cResultGenreInvoer)) {
?>
<option value="<?php echo '[' . $row['keuze'] . ']' ; ?>"><?php echo $row['keuze'] ; ?></option>
<?php } ?>
</select><br /><br />
</div>
Bij het selecteren van meerdere opties wordt slechts de laatste in de rij in de variable (name="genre") vastgelegd.
Wat moet ik nu doen om meerdere selecties in de variabele te krijgen?
George
name = "genre[]" wellicht?
Dus zonder ="", want dat slaat nergens op.
En je HTML klopt ook niet helemaal.
Die <div> is niet echt nodig.
Je mist een <fieldset> waarbij je dan ook <legend> kan gebruiken (ipv <label>).
Ga je toch <label> gebruiken, zeg dan wel even waarvan het is met <label for="naam_van_input_element">.
Ik heb het even verbeterd en wat simpele CSS erover gegooid: http://codepen.io/Zunflappie/pen/uelIH
Ook dat werkt niet.
Kijk eens op http://jqz.vanbaasbank.nl/adm_cdinvoer.php en selecteer bijv eens twee of drie genbres en klok op Opslaan. Zie daar het resultaat.
Aan je andere suggesties ga ik aan werken.
George
2) Je moet de opties nu als een array behandelen: [] gebruiken dus (zoals NK al zei)
echo $genre;
}
Als ik nu het formulier doorstuur krijg ik bij de ontvanger alleen maar binnen: Array
Hoe toon ik krijg ik nu de array volledig in de variabele?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
$c19 = $_POST['genre']; // Hiert haal ik de inhoud van het select-element op.
$c20 = $_POST['vorm'];
include "include/connectie.inc.php";
//include "queries/sql_into_nieuwecd.php";
//$cResultCD = mysql_query($sql);
mysql_close($verbinding);
header("Location: adm_tracksinvoer.php?id=$c19");
exit();
$c20 = $_POST['vorm'];
include "include/connectie.inc.php";
//include "queries/sql_into_nieuwecd.php";
//$cResultCD = mysql_query($sql);
mysql_close($verbinding);
header("Location: adm_tracksinvoer.php?id=$c19");
exit();
Het is een array nu (hint)
Maar ik heb de inhoud van die array nodig om een vervolgpagina aan te kunnenn sturen
$c19 = implode("-",$_POST['genre']);
Dat is 'm Bedankt, ik kan weer verder. (Weer wat geleerd.....)