• Home
  • Forum
  • Fare Web
  • PHP

la select per prendere dati da un campo ENUM ripete dieci volte i valori

  • Creatore Discussione Creatore Discussione odisseo83
  • Data di inizio Data di inizio 14 Apr 2010
O

odisseo83

Nuovo Utente
14 Apr 2010
6
0
0
  • 14 Apr 2010
  • #1
Ciao a tutti, ho una tabella su un DB mySql con un campo ENUM. Ho usato una funzione trovata in rete per andare a prendere i valori del suddetto campo, ma poi quando ho creato la select in maniera molto ingarbugliata come risultato mi dà ogni valore dell'enum ripetuto due volte nella tendina e tutti i valori insieme ripetuti una dozzina di volte. in più mi si impalla il browser, non riesce a caricare del tutto la pagina e va in crash.

ecco il codice, aspetto le vostre legnate e i vosti suggerimenti

PHP:
function enum_select($table,$field) {
    $result=mysql_query("SHOW COLUMNS FROM `$table` LIKE '$field'");
    if(mysql_num_rows($result)>0){
        $row=mysql_fetch_row($result);
        $options=explode("','", preg_replace("/(enum|set)\('(.+?)'\)/","\\2", $row[1]));
        $options2 = array();
        foreach ($options as $value) {
            $options2[] = array(
                'value' => $value,
                'display' => htmlentities($value)
            );
        }
        echo "<br /><br />";
        print_r($options2);
	#echo $options2;
    } else {
        $options=array();
    }
    return $options2;  
}

echo "
			<select name=\"scegli_tipo\">
		";
while ($matrioshka_tipo = enum_select("opera","opera_tipo")){
		 foreach ($matrioshka_tipo as $array_interno)
			foreach ($array_interno as $valore)
		if (isset($_POST["scegli_tipo"]) && $_POST["scegli_tipo"] == $valore)
		 echo "<option value='{$valore}' selected='selected'>{$valore}</option>";
		else
		 echo "<option value='{$valore}'>{$valore}</option>";
		}
echo "</select>";
 
P

programmatore

Utente Attivo
21 Ago 2009
111
0
0
programmatore.altervista.org
  • 15 Apr 2010
  • #2
Secondo me il problema è nel while. La funzione ti restituisce la stessa cosa ogni volta, quindi secondo me hai un loop infinito. Farei così:
PHP:
$valori_enum=enum_select("opera","opera_tipo");
foreach ($valori_enum as $array_interno) 
            foreach ($array_interno as $valore)
Così a occhio forse c'era un ciclo di troppo, ma può essere che non sia così.
 
O

odisseo83

Nuovo Utente
14 Apr 2010
6
0
0
  • 15 Apr 2010
  • #3
Grazie, avevi ragione per il loop: eliminando il while si elimina la continua ripetizione dei valori.

I valori rimanevano però ripetuti due volte ognuno, a quel problema ho ovviato modificando l'array $options2 nella funzione: ho tolto la chiave 'display' e ogni valore è dato solo una volta.

ecco il codice:

PHP:
function enum_select($table,$field) {
    $result=mysql_query("SHOW COLUMNS FROM `$table` LIKE '$field'");
    if(mysql_num_rows($result)>0){
        $row=mysql_fetch_row($result);
        $options=explode("','", preg_replace("/(enum|set)\('(.+?)'\)/","\\2", $row[1]));
        $options2 = array();
       foreach ($options as $value) {
            $options2[] = array(
                'value' => $value
            );
        }
        echo "<br /><br />";
        print_r($options2);
	
	foreach ($options as $value) 
	echo $value;
	
    } else {
        $options=array();
    }
    return $options2;  
}

		$matrioshka_tipo = enum_select("opera","opera_tipo");
		 foreach ($matrioshka_tipo as $array_interno)
			foreach ($array_interno as $valore)
		if (isset($_POST["scegli_tipo"]) && $_POST["scegli_tipo"] == $valore)
		 echo "<option value='{$valore}' selected='selected'>{$valore}</option>";
		else
		 echo "<option value='{$valore}'>{$valore}</option>";
 
Devi accedere o registrarti per poter rispondere.

Discussioni simili

Select in ordine per numero di record
  • Tommy03
  • 30 Mag 2020
  • MySQL
Risposte
7
Visite
2K
MySQL 31 Mag 2020
Tommy03
S
Il metodo $.getJSON() e <select> che non si popola di dati per query troppo grandey
  • SAC07PA
  • 24 Apr 2017
  • Ajax
Risposte
0
Visite
1K
Ajax 24 Apr 2017
SAC07PA
S
D
javascript per select condizionali
  • Domenico Cafaro
  • 13 Apr 2016
  • Javascript
Risposte
1
Visite
1K
Javascript 15 Apr 2016
criric
P
le select vanno per i fatti loro e non a fianco alle label
  • paperinik4
  • 23 Ott 2014
  • PHP
Risposte
2
Visite
2K
PHP 24 Ott 2014
paperinik4
P
P
Recupero dati per select form
  • Paperino78
  • 31 Lug 2014
  • PHP
Risposte
9
Visite
2K
PHP 9 Ago 2014
Paperino78
P
A
Aiuto per Select form dinamica
  • alessiof86
  • 15 Giu 2014
  • PHP
Risposte
0
Visite
1K
PHP 15 Giu 2014
alessiof86
A
K
query per popolare una select tramite ajaxc php e xml !
  • Kelly
  • 20 Mar 2014
  • Ajax
Risposte
14
Visite
4K
Ajax 24 Mar 2014
Kelly
K
F
unico submit per più select
  • fofo13
  • 1 Dic 2013
  • PHP
Risposte
2
Visite
2K
PHP 2 Dic 2013
fofo13
F
Select per cambiare il font
  • criric
  • 8 Set 2013
  • Snippet Javascript
Risposte
0
Visite
2K
Snippet Javascript 8 Set 2013
criric
M
Sicurezza dati form per insert e select in database
  • Malware
  • 16 Ago 2012
  • PHP
Risposte
11
Visite
4K
PHP 18 Ago 2012
Malware
M
G
Inserire un campo mysql in un select per form
  • giovy58
  • 1 Lug 2011
  • PHP
Risposte
3
Visite
2K
PHP 4 Lug 2011
giovy58
G
L
Aiuto per select dinamiche in asp
  • leftist73
  • 30 Lug 2009
  • Classic ASP
Risposte
3
Visite
3K
Classic ASP 5 Ago 2009
leftist73
L
R
Variabile per impostare la tabella di una select
  • russeppe
  • 2 Feb 2006
  • Classic ASP
Risposte
2
Visite
2K
Classic ASP 3 Feb 2006
PoLe
X
select per regioni,provincie e comuni
  • xmaxfane
  • 22 Set 2005
  • PHP
Risposte
2
Visite
1K
PHP 23 Set 2005
Eliox
B
Integrare Asp/html Per Le Select
  • BlOoDpIgS
  • 20 Ago 2004
  • Classic ASP
Risposte
0
Visite
1K
Classic ASP 20 Ago 2004
BlOoDpIgS
B
L
Ripetere Campi disabilitando input in riferimento ad un valore della select
  • Lucas1
  • 4 Apr 2023
  • jQuery
Risposte
0
Visite
4K
jQuery 4 Apr 2023
Lucas1
L
Ordinare option di una select
  • otto9due
  • 20 Feb 2023
  • Javascript
Risposte
5
Visite
2K
Javascript 22 Feb 2023
otto9due
W
MySQL ciclo in SELECT
  • wolfland
  • 26 Mag 2022
  • MySQL
Risposte
0
Visite
2K
MySQL 26 Mag 2022
wolfland
W
W
MySQL SELECT list dinamica
  • wolfland
  • 2 Feb 2022
  • MySQL
Risposte
0
Visite
2K
MySQL 2 Feb 2022
wolfland
W
M
Select Option dentro una Table
  • mapa
  • 17 Dic 2021
  • jQuery
Risposte
2
Visite
3K
jQuery 19 Dic 2021
mapa
M
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?