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

    [PHP]Sbagliata creazione Array

    ciao a tutti,ho un problema nella creazione di un array multidimensionale con dei dati prelevati da un database.
    Devo creare degli array con i generi delle categorie presenti nel database e distinguendoli tra quelli che sono dei generi già presenti per default o generi che ho inserito IO UTENTE.. mi spiego meglio

    ho una tabella categoria fatta in questo modo:
    ID_Categoria
    Nome_Categoria

    questa tabella ha solo 3 record: Film,SerieTV e SerieAnimate

    ho una tabella genere che conterrà tutti i generi
    ID_Genere
    Nome_Genere
    User_Personalize (conterrà 0 se il genere è inserito di Default o l'id dell'utente se l'ha inserito lui)

    ho una tabella Cat_Gen che mi associa i generi alle categorie in quanto un genere può anche essere presente in 2 categorie e il record non deve essere duplicato...

    bene ho pensato di creare degli array con 1 sola query impostandolo in questo modo

    Array['Film']['Default'][ID_GENERE][NOME_GENERE] Conterrà tutti i generi della categoria film di default
    Array['Film']['Personalizzato'][ID_GENERE][NOME_GENERE] Conterrà tutti i generi della categoria film che ho creato io

    stessa cosa per SerieTV e SerieAnimate

    bene io avrei creato un codice in questo modo:
    Codice PHP:
        for($cat=1$cat<3$cat++){    //    apertura del FOR
            
    $strSQL "SELECT Genere.ID_Genere, Genere.Nome_Genere, Genere.User_Personalize
                       FROM Genere
                       INNER JOIN Cat_Gen ON Genere.ID_Genere = Cat_Gen.ID_Gen
                       INNER JOIN Categoria ON Categoria.ID_Categoria = Cat_Gen.ID_Cat
                       WHERE Categoria.ID_Categoria = 
    $cat AND ((Genere.User_Personalize=$id_utente)OR(Genere.User_Personalize=0))";
            
    $dbh=mysql_query($strSQL) OR die("Errore 003, contattare l'amministratore ".mysql_error()) ;
            while (
    $riga mysql_fetch_array($dbh)) {
            
    $ID_Genere $riga['ID_Genere'];
            
    $Nome_Genere $riga['Nome_Genere'];
            
    $User_Personalize $riga['User_Personalize'];
                if(
    $cat==1)    
                    
    $categoryName='Film';
                else if(
    $cat==2)    
                    
    $categoryName='SerieTv';
                else if(
    $cat==3)    
                    
    $categoryName='SerieAnimate';
                    
                if(
    $User_Personalize==0
                    
    $genereType='Default';
                else if(
    $User_Personalize==$id_utente)    
                    
    $genereType='Personalizzato';
                
                    
    $genereArray["$categoryName"]["$genereType"] = array( 'id' => "$ID_Genere"'nome' => "$Nome_Genere"); 
            }
        }    
    //    chiusura del FOR 
    però se lo vado a stampare in questo modo non funziona:
    Codice PHP:
        echo 'Select Film Default';
        echo 
    '<select>';
                foreach(
    $genereArray["Film"]["Default"] as $value=>$text)
                {
                        echo 
    '<option value="'.$value.'">'.$text.'</option>';
                }
        echo 
    '</select> 
    '

    ma nella select visualizzo 1 solo record e in una option l'id del record e in un'altra option il nome del genere...Dove sbaglio?

  2. #2
    Ho provato anche a mettere degli indici ma non capisco bene dove sbaglio...

  3. #3
    ho provato a cambiarlo in questo modo

    Codice PHP:
    $genereArray["$index"]= array(array(categoryName => "$categoryName",
                                           
    genereType => "$genereType"
                                                
    id => "$ID_Genere"
                                         
    nome => "$Nome_Genere")); 
    $index++; 
    e mi crea tutto l'array con tutti i dati ma per selezionare solo alcuni dati come faccio? ad esempio voglio titar fuori solo i record che sono dei film e che sono di default...Come si fa?

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.