Visualizzazione dei risultati da 1 a 3 su 3

Discussione: function

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    function

    ciao a tutti,

    sto uscendo pazza!!

    io ho un valore $colori = 12_1_15_6_5_
    faccio un explode per ricavare solo il numero

    $col = explode("_", $colori);

    quindi ottengo l'array $col[0] che avrà >> 12,1,15,6,5
    adesso devo confrontare tutti i dati dell'array $col con l'id che esce trammite un query, se è uguale imposto selected altrimenti no, con la funzione che ho fatto però mi escono i valori doppi, come mai?

    Codice PHP:
    function select_colori($connessione,$colori){

    $query_color_all "SELECT * FROM `colori` ORDER BY `colori` . `colore` ASC";
    $color_all mysql_query($query_color_all$connessione) or die(mysql_error());
    $totalRows_color_all mysql_num_rows($color_all);
        if(
    $totalRows_color_all 0){
            
    $stampa .='<select name="id_colore" id="id_colore" class="colori_multiple" size="5" multiple onChange="selez_1(this);">';            
            
    $row_color_all mysql_fetch_assoc($color_all);
            
    // $colori è uguale a 12_1_15_6_5_
            
    $col explode("_"$colori);
            do{
                
    $id_all $row_color_all['id'];
                
    $colore_all $row_color_all['colore'];
                
    $codice_all $row_color_all['codice'];

                foreach (
    $col as $elem => $value){
                    if(
    $id_all == $value){
                        
    $stampa .='<option value="'.$id_all.'" selected>'.$colore_all.'</option>';
                        
    $no 0;
                    }else{
                        
    $no 1;
                    }
                }
                
                if(
    $no == 1){
                    
    $stampa .='<option value="'.$id_all.'">'.$colore_all.'</option>';
                }
                
            }while(
    $row_color_all mysql_fetch_assoc($color_all));
            
    }
    $stampa .= '</select><input name="selezionati" type="hidden" id="selezionati" value="'.$colori.'">';

    return 
    $stampa;




    grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    ho fatto cosi
    Codice PHP:
    function select_colori($connessione,$colori){

    $query_color_all "SELECT * FROM `colori` ORDER BY `colori` . `colore` ASC";
    $color_all mysql_query($query_color_all$connessione) or die(mysql_error());
    $totalRows_color_all mysql_num_rows($color_all);
        if(
    $totalRows_color_all 0){
            
    $stampa .='<select name="id_colore" id="id_colore" class="colori_multiple" size="5" multiple onChange="selez_1(this);">';            
            
    $row_color_all mysql_fetch_assoc($color_all);
            
    // $colori è uguale a 12_1_15_6_5_
            
    $col explode("_"$colori);
            do{
                
    $id_all $row_color_all['id'];
                
    $colore_all $row_color_all['colore'];
                
    $codice_all $row_color_all['codice'];

                foreach (
    $col as $elem => $value){
                    if(
    $id_all == $value){
                        
    $stampa .='<option value="'.$id_all.'" selected>'.$colore_all.'</option>';
                        
    $no 0;
                        break;
                    }else{
                        
    $no 1;
                    }
                }
                
                if(
    $no == 1){
                    
    $stampa .='<option value="'.$id_all.'">'.$colore_all.'</option>';
                }
                continue;
                
            }while(
    $row_color_all mysql_fetch_assoc($color_all));
            
    }
    $stampa .= '</select><input name="selezionati" type="hidden" id="selezionati" value="'.$colori.'">';

    return 
    $stampa;


    secondo voi è corretto?

  3. #3
    se ho capito bene quello che vuoi fare....

    metti
    $no = 1; prima del foreach

    e togli l'else all'interno del foreach


    fammi sapere

    [edit]
    non avevo vosto il secondo post
    con il break dovresti andare bene
    There are 10 types of people in the world: Those who understand binary, and those who don't.

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.