Problemi con select multipla

piero60

Utente Attivo
26 Gen 2015
71
2
8
Salve a tutti, mi sono appena iscritto e saluto tutti i membri.
chiedo un aiuto:

ho un form perfettamente funzionante nel quale esiste una select per singola voce, questa:

PHP:
<label class="left_label">Categoria attività:</label>
<select name="competenze">
<option value="">Selezionare</option>     
<option value="voce1">Voce1</option>
<option value="voce2">Voce2</option>
<option value="voce3">Voce3</option>
<option value="voce4">Voce4</option>
<option value="voce5">Voce5</option> 
<option value="voce6">Voce6</option>     
</select>
    <?php 
$_POST['competenze'];
    echo('<br>');
        
    echo('Categoria attuale:&nbsp;<font size="2" color="#008000">');
    print "$competenze";
echo('</font><br><br>');    
    ?>

devo sostituire questa select singola con una select multipla, e l'ho modificata così:

PHP:
<select multiple="multiple" name="competenze[]">
<option value="">Selezionare</option>     
<option value="voce1">Voce1</option>
<option value="voce2">Voce2</option>
<option value="voce3">Voce3</option>
<option value="voce4">Voce4</option>
<option value="voce5">Voce5</option> 
<option value="voce6">Voce6</option>
</select>

<?php
if (isset($_POST['competenze'])) {
$competenze = $_POST['competenze'];
foreach ($competenze as $competenze)
{
echo $competenze."
";
}
}
?>

Accade che nella echo trovo e visualizzo le selezioni effettuate
Invece nel database mi viene scritta la parola "Array", qualsiasi numero di voci io abbia selezionato.

Qualcuno sa darmi qualche lume ?

Grazie in anticipo a tutti.
 
Ultima modifica di un moderatore:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, hai usato la stessa variabile nel foreach
PHP:
foreach ($competenze as $competenze)
non ho provato ma probabilmete il problema è quello
PHP:
foreach ($competenze as $valore)
{
echo $valore;
}
 

piero60

Utente Attivo
26 Gen 2015
71
2
8
Ciao Criric,
Grazie per la risposta, ma non cambia assolutamente nulla, continua a scrivere nel database la parola "Array" invece ciò che visualizza la echo è esattamente la selezione multipla effettuata.
Mistero, non riesco a capire.
Buona serata.
 

piero60

Utente Attivo
26 Gen 2015
71
2
8
Ciao, hai usato la stessa variabile nel foreach
PHP:
foreach ($competenze as $competenze)
non ho provato ma probabilmete il problema è quello
PHP:
foreach ($competenze as $valore)
{
echo $valore;
}

Ciao Criric,
grazie per la risposta, ho provato ma niente da fare nel database continua a scrivere "Array" invece la echo
visualizza correttamente la selezione effettuata.
Misteroooooooo !

Buona serata.
 

piero60

Utente Attivo
26 Gen 2015
71
2
8
Ecco la query:

PHP:
	$competenze = $_POST['competenze'];

	$sqlUpdate = mysql_query("UPDATE professional SET categoria='$categoria', lingue_parlate='$lingue_parlate', lingue_scritte='$lingue_scritte', spostamenti='$spostamenti', competenze='$competenze' WHERE id='$mioid' ");
	if ($sqlUpdate) {
			$successo = "Informazioni aggiornate";
		} else{
			$errore= "Errore nell'aggiornamento dei dati, riprova di nuovo";
		}

Il campo del database è un semplice varchar
Ripeto se io utilizzo una select singola tutto funziona perfettamente.
Grazie
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
se non erro il problema può essere qui: competenze[]
da cui la variabile $competenze = $_POST['competenze'] è un array di array per cui
PHP:
<?php
//....
foreach ($competenze as $arr){//echo $arr output 'Array'
	foreach($arr as $valore){
		echo $valore;
	}
}
//...
?>
eventualmente prova al massimo non funziona
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
metti un var_dump
PHP:
<?php
//....
$competenze = $_POST['competenze'];
var_dump($competenze );
//....
?>
e riporta cosa risulta

ps
quindo scrivi del codice usa gli appositi bcccode (seconda riga formattazione del post ultime tre iconcine, nell'ordine HTML, CODE, PHP)
 

piero60

Utente Attivo
26 Gen 2015
71
2
8
Ciao Borgo Italia, grazie ma non funziona ugualmente anzi compare un altro errore, questo:

CAPT_010.jpg

Credo che il problema sia un altro, probabilmente devo utilizzare in qualche modo l'istruzione implode() prima di effettuare il salvataggio sul database.
come è strutturato il form il campo dove si va a scrivere è un campo text, presumo quindi
che bisogna in qualche modo trasformare l'array di selezione multipla in stringa di testo.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
scusa una cosa, per capirsi meglio
tu dalla select selezioni es voce1, voce2, voce 3
nel campo competenze vuoi trovare tutte e tre le voci?
se è cosi come dici devi usare l'implode
PHP:
<?php
$competenze = implode(",",$_POST['competenze']); //o altro separatore. con "," risulta voce1,voce2,voce3
//....
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
come ti avevo detto metti un var_dump così si capisce che tipo è la variabile e cosa contiene
PHP:
 <?php
//....
$competenze = $_POST['competenze'];
var_dump($competenze );
//....
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
ho sumulato il $_POST come proveniente da una selezione multipla
se provi questo miniscript funziona
PHP:
<?php
$_POST['competenze'][0]="pinco";
$_POST['competenze'][1]="pallo";
echo "<pre>";
var_dump($_POST['competenze']);
$competenze = implode(",",$_POST['competenze']); //o altro separatore. con "," risulta voce1,voce2,voce3
var_dump($competenze);
echo "</pre>";
?>
output
array(2) {
[0]=>
string(5) "pinco"
[1]=>
string(5) "pallo"
}
string(11) "pinco,pallo"
il problema può essere che il $_POST['competenze'] non sia un array cioè non prende la selezione multipla
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] Problemi con select PHP 6
E Problemi auto increment con query Insert Into Select MySQL 2
L problemi con select Javascript 1
M Upload immagine con javascript problemi con FormData() Javascript 1
A Problemi con move_uploaded_file PHP 7
M Problemi con la stampa dei valori in php PHP 1
L Problemi con il login PHP 2
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
Z problemi con foreach insert into PHP 10
B javascript per problemi con pdf e Safari Javascript 0
M Problemi con creazione maschere Presentati al Forum 1
M Problemi con query a più tabelle PHP 3
S Problemi delle funzioni eliminate con PHP e MySQL PHP 4
M Problemi con blog Grav CMS (Content Management System) 0
S incoerenza di stampa. problemi con il magenta Photoshop 3
A problemi con paypall Java 1
felino [Windows 8.1] Problemi con connessione WiFi Windows e Software 0
E [PHP] problemi nuova riga con fwrite su piattaforma android PHP 5
O [HTML] problemi con la regola "background-attachment: fixed" in EDGE HTML e CSS 0
M [PHP] Problemi con query unione PHP 11
ANDREA20 [HTML] problemi con il footer HTML e CSS 1
D [MS Access] problemi con inserimento campo in una maschera MS Access 6
M [PHP] Problemi con il riconoscimento login. PHP 21
A [WordPress] problemi con xampp WordPress 2
M Problemi con database Apache/2.4.37 (Win32) OpenSSL/1.1.1a PHP/7.3.1 PHP 6
S [PHP] problemi con le sessioni PHP 3
T [PHP] problemi con il browser PHP 0
Andrea_Ventura [HTML] Problemi con effetto hover HTML e CSS 5
M [PHP] Problemi con login facebook PHP 0
Andrea_Ventura [HTML] Problemi con visualizzazione Navigation Bar HTML e CSS 10
andreas88 Creare file .htaccess per risolvere alcuni problemi con il tester SEO SEO e Posizionamento 0
Eugene [Joomla] Problemi con modulo per strutture alberghiere JHotelreservation starter Joomla 6
F [PHP] Problemi di base con bot di telegram PHP 9
M [Photoshop] Problemi con importazione immagini trasparenti in indesign Photoshop 0
E [Photoshop] Problemi con dimensioni immagini Photoshop 12
G [HTML] Problemi con inserimento immagini HTML e CSS 7
L Problemi con Javascript e Mustache Javascript 0
G Invio Mail con PHPMailer, problemi SMTP PHP 7
A [Javascript] problemi con javascrip e posizione GPS html5 Javascript 6
D Due problemi con Photoshop... Photoshop 1
G Problemi con pagina online.php di una chat in php PHP 38
S Problemi con impostazioni php PHP 3
P Problemi con AndroidStudio Sviluppo app per Android 0
S Problemi con Dell Precision T5400 Windows e Software 2
F ciao, sono ferro e ho bisogno di aiuto per problemi con la mail di alice.it Presentati al Forum 1
S [PHP] Problemi con Login e pagina Utente PHP 5
Z problemi con swf e chrome o sistemi portatili Webdesign e Grafica 5
N Problemi connettività con Tp Link EAP 110 Reti LAN e Wireless 0
S [HTML] Problemi con Blueimp image gallery su Chrome e Firefox HTML e CSS 2
W [HTML] problemi con sito responsive CMS (Content Management System) 1

Discussioni simili