select che non rimane selected

Silen

Utente Attivo
24 Nov 2008
64
0
0
silen.netsons.org
salve, dopo essere riuscita a capire il problema di questo form ho provato a crearne uno simile per inserire nel database dei dati che hanno gli stessi criteri, così ho creato tabella e campi con valori impostandoli uguali a quelle che avevo già, poi ho aggiunto una pagina per gestire aggiunta, modifica, eliminazione, e sembra che sia riuscita a far funzionare tutto anche qui

ho infine aggiunto la relativa parte di codice nella pagina dove ci sono anche le altre due simili, e i dati li inserisce correttamente come array, ma quando vado a modificare non mi rimane selezionato i valori come "selected" nel form

questo è il codice della pagina del form con cui inserisco i valori
PHP:
<div><label id=\"personaggi\" for \"personaggi[]\"> ".CHARS." </label><select name=\"personaggi[]\" size=\"10\" multiple=\"multiple\"><option value=\"".NESSUNO."\" selected=\"selected\"> ".NESSUNO." </option>";
	$u=mysql_query("SELECT nome_char FROM personaggi ORDER BY fandom, nome_char ASC", $conn);
	while ($s=mysql_fetch_array($u)) {
	echo "<option value=\"$s[nome_char]\">$s[nome_char]</option>";
	}
	echo "</select><label id=\"type0\" for \"type0[]\"> ".TYPE_0." </label><select name=\"type0[]\" size=\"10\" multiple=\"multiple\"><option value=\"".NESSUNO."\" selected=\"selected\"> ".NESSUNO." </option>";
	$v=mysql_query("SELECT nome_type FROM type WHERE type='0' ORDER BY nome_type ASC", $conn);
	while ($t=mysql_fetch_array($v)) {
	echo "<option value=\"$t[nome_type]\">$t[nome_type]</option>";
	}
	echo "</select><label id=\"type1\" for \"type1[]\"> ".TYPE_1." </label><select name=\"type1[]\" size=\"10\" multiple=\"multiple\"><option value=\"".NESSUNA."\" selected=\"selected\"> ".NESSUNA." </option>";
	$r=mysql_query("SELECT nome_type FROM type WHERE type='1' ORDER BY nome_type ASC", $conn);
	while ($q=mysql_fetch_array($r)) {
	echo "<option value=\"$q[nome_type]\">$q[nome_type]</option>";
	}
	echo "</select></div>
e questo il pezzo di codice relativo all'inserimento nel database
PHP:
	$type0=array();
	foreach ($_POST['type0'] as $valore) {
	$type0[]=$valore;
	}
	foreach ($type0 as $x) $ty.=$x." ";
	$type1=array();
	foreach ($_POST['type1'] as $valore) {
	$type1[]=$valore;
	}
	foreach ($type1 as $y) $typ.=$y." ";
	$personaggi=array();
	foreach ($_POST['personaggi'] as $valore) {
	$personaggi[]=$valore;
	}
	foreach ($personaggi as $z) $pg.=$z." ";
mentre questo è quello del case di modifica
PHP:
<div><label id=\"personaggi\" for \"personaggi[]\"> ".CHARS." </label><select name=\"personaggi[]\" size=\"10\" multiple=\"multiple\"><option value=\"".NESSUNO."\"";
	if ($personaggi[0]==NESSUNO) echo "selected=\"selected\"";
	echo "> ".NESSUNO." </option>";
	$u=mysql_query("SELECT nome_char FROM personaggi ORDER BY fandom, nome_char ASC", $conn);
	while ($s=mysql_fetch_array($u)) {
	echo "<option value=\"$s[nome_char]\"";
	foreach ($personaggi as $z) {
	if ($z=="$s[nome_char]") echo "selected=\"selected\"";
	}
	echo ">$s[nome_char]</option>";
	}
	echo "</select><label id=\"type0\" for \"type0[]\"> ".TYPE_0." </label><select name=\"type0[]\" size=\"10\" multiple=\"multiple\"><option value=\"".NESSUNO."\"";
	if ($genere_storia[0]==NESSUNO) echo "selected=\"selected\"";
	echo "> ".NESSUNO." </option>";
	$v=mysql_query("SELECT nome_type FROM type WHERE type='0' ORDER BY nome_type ASC", $conn);
	while ($t=mysql_fetch_array($v)) {
	echo "<option value=\"$t[nome_type]\"";
	foreach ($genere_storia as $x) {
	if ($x=="$t[nome_type]") echo "selected=\"selected\"";
	}
	echo ">$t[nome_type]</option>";
	}
	echo "</select><label id=\"type1\" for \"type1[]\"> ".TYPE_1." </label><select name=\"type1[]\" size=\"10\" multiple=\"multiple\"><option value=\"".NESSUNA."\"";
	if ($note_storia[0]==NESSUNA) echo "selected=\"selected\"";
	echo "> ".NESSUNA." </option>";
	$r=mysql_query("SELECT nome_type FROM type WHERE type='1' ORDER BY nome_type ASC", $conn);
	while ($q=mysql_fetch_array($r)) {
	echo "<option value=\"$q[nome_type]\"";
	foreach ($note_storia as $y) {
	if ($y=="$q[nome_type]") echo "selected=\"selected\"";
	}
	echo ">$q[nome_type]</option>";
	}
	echo "</select></div>
ed il relativo pezzo di codice per la modifica nel database è questo
PHP:
	$type0=array();
	foreach ($_POST['type0'] as $valore) {
	$type0[]=$valore;
	}
	foreach ($type0 as $x) $ty.=$x." ";
	$type1=array();
	foreach ($_POST['type1'] as $valore) {
	$type1[]=$valore;
	}
	foreach ($type1 as $y) $typ.=$y." ";
	$categoria=$_POST['categoria'];
	$personaggi=array();
	foreach ($_POST['personaggi'] as $valore) {
	$personaggi[]=$valore;
	}
	foreach ($personaggi as $z) $pg.=$z." ";
a me sembrano esattamente uguali sia nel metodo di selezione attraverso i due form sia nel metodo di inserimento/modifica valori nel database, e non riesco a trovare nessun errore, anche perché per TYPE_0 e TYPE_1 il selected=selected funziona perfettamente mentre per CHARS no; comunque, se nel form di modifica li riseleziono non c'è problema, se mi dimentico lascia l'array vuoto

se servisse le tabelle sono così composte
PHP:
mysql_query("CREATE TABLE `personaggi` (
  `id_char` int(11) NOT NULL auto_increment,
  `type` smallint(6) NOT NULL,
  `nome_type` varchar(200) NOT NULL,
  PRIMARY KEY  (`id_char`)
) 

mysql_query("CREATE TABLE `type` (
  `id_type` int(11) NOT NULL auto_increment,
  `type` smallint(6) NOT NULL,
  `nome_type` varchar(100) NOT NULL,
  PRIMARY KEY  (`id_type`)
)
mentre nella tabella storie i tre campi relativi sono così
PHP:
  `note_storia` text NOT NULL,
  `genere_storia` text NOT NULL,
  `personaggi` text NOT NULL,

dove sbaglio? :crying:
 

Silen

Utente Attivo
24 Nov 2008
64
0
0
silen.netsons.org
nessuno?

ma proprio nessuno che abbia un attimo per dare un'occhiata al codice che ho postato per dirmi cosa ci sia di diverso o errato? :(
 

Silen

Utente Attivo
24 Nov 2008
64
0
0
silen.netsons.org
risolto

mannaggia a me e quando mi perdo nei bicchieri d'acqua :incazz:

come per l'ultima volta, il problema non era nel codice che ho postato qui, ma a monte, nella select con cui estraevo i dati, perché non avevo sostituito la variabile correttamente

rimannaggia a me a quando cambio le cose e poi non mi ricordo perché non ho commentato il codice :incazz:

sarà meglio che continuo a studiare :book:

:byebye:
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Quando il codice diventa troppo lungo o hai fatto delle correzioni di cui non sei sicuro ti conviene inserire dei commenti per tenere a mente i passaggi, prova, ti fanno risparmiare un sacco di tempo.:beer:
 
Discussioni simili
Autore Titolo Forum Risposte Data
R Select concatenata che non funziona la seconda volta Ajax 3
S Il metodo $.getJSON() e <select> che non si popola di dati per query troppo grandey Ajax 0
asevenx [PHP] form con select che non invia dati se con apostrofo PHP 4
P due select che non vanno d'accordo fra di loro PHP 4
R switch che non funziona con select $_session PHP 3
T PHP+MYSQL: una select che cerchi un campo vuoto PHP 7
T [Javascript] un form con select dinamica che funzioni da menù... Javascript 2
C SELECT che popola in contemporanea un DIV e un'altra SELECT PHP 12
P la select che dovrebbe apaprire appare dopo l'inserimento di un record PHP 0
S Salvare dei dati in una determinata tabella in base al select che l'utente seleziona PHP 8
L menu select che visualizza le cartelle di una cartella PHP 16
D funzione AJAX che ricarica dei campi select Ajax 3
R select dinamiche che riportano valori in una textarea. Javascript 8
D Mysql - Select solo i campi che vengono compresi in una data MySQL 2
S select che si aggiornano PHP 1
L Ripetere Campi disabilitando input in riferimento ad un valore della select jQuery 0
otto9due Ordinare option di una select Javascript 5
W MySQL ciclo in SELECT MySQL 0
W MySQL SELECT list dinamica MySQL 0
M Select Option dentro una Table jQuery 2
G Colorare menu select attraverso ricerca php PHP 0
L problema con query select PHP 2
F menù select dinamico da db in php PHP 3
D popolare campi tra th alla select PHP 36
M Estrarre valore con SELECT COUNT PHP 0
M Creare un campo input select quantità di un numero intero prelevato dal db PHP 3
L Select Dinamiche...da txt? PHP 3
E Php select option e ajax PHP 23
L select join e sottrazione punti PHP 13
L input dati con inser into select ? PHP 4
V hierarchy-select jQuery 0
Emix Select concatenate php sql ajax PHP 2
F query e form con select multipla PHP 17
T recupero valori select multipla da android Javascript 3
J php, scegliere autista da select e mostrare se ha fatto un incidente PHP 8
Tommy03 Select in ordine per numero di record MySQL 7
T problema con select dinamica con jquery Javascript 0
J Far comparire e scomparire un div con un select Javascript 1
M Opzioni select da 1 a 200 PHP 0
I Fatal error: Query Failed! SQL: SELECT * INTO OUTFILE PHP 1
C input in sostituzione della select PHP 2
G Insert into select - Aiuto MySQL 0
max1974 autocomplete trigger select jQuery 0
X [Select] Valori chiave non presenti in un'altra tabella MySQL 2
M Estrarre dati da una select HTML PHP 3
MarcoGrazia jquery validate, necessità di validare almeno un elemento select su due jQuery 1
T [PHP] Autocompilazione input multiple da una select PHP 1
Alex_70 [PHP] Visualizzare foto tramite select PHP 0
S [PHP] aggiornamento table tramite select senza ricaricare la pagina PHP 5
psicomia Gestione funzione in javascript in tabella richiamare"textarea" valori preimpostati in "select" Javascript 2

Discussioni simili