Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    valori select multipla errati

    Salve a tutti,

    il mio problema è questo.
    Estraggo da una query select i valori di una option multipla precedentemente caricati con una insert in questo forma:

    campo con nome "compatibilita"
    Valore: 1|2|3|4|

    Successivamente cerco di estrarre con un "explode" i dati in questo modo:

    Codice PHP:
    $mod explode('|'$compatibilita);  
    $valori=array(); 
    foreach (
    $mod as $k => $v)  
    $valori[]=$k
    Successivamente eseguo una query select dalla tabella "macchine" e cerco di settare la option multipla con i valori a selected (selezionati) in questo modo:



    Codice PHP:
    while ($row1 mysql_fetch_array($sql_result)) {
        

            
    $macchine .= "<option value=\"".$row1['id']."\"".$row1['modello_macchina']."";
            if(
    in_array($row1['id'],$valori)) {$macchine.= " selected='selected'";}
            
    $macchine .= ">" $row1['modello_macchina'] . "</option>";  
            


        


    Il problema è che in qualsiasi dei casi mi da sempre i primi in successione, ovvero:

    se sono selezionati il 5|9|11|12| mi da sempre selezionati il 1|2|3|4|
    se sono selezionati il 12|13| mi da sempre il 1|2|


    Che succede, dove sta l'errore??

  2. #2
    il punto sembra essere che la comparazione viene fatta con gli indici in $k e non con i valori in $v.

    Il problema che sembra che in $v non ho niente con questo script!!

  3. #3
    risolto grazie, era una questione di spazi vuoti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.