Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158

    array - stampa nome campi

    Ciao a tutti!
    ho una tabella nel db chiamata colori con 4 campi (id, rosso,giallo,blu).

    questo è l'esempio di un record
    id => 1
    rosso => si
    giallo => no
    blu => si

    ora io ho bisogno di stampare, di quel record, il nome del campi in cui compare un si.

    ad esempio devo avere come output per il record con id 1:

    rosso
    blu


    --------

    Per farlo io inserisco in un array il record e poi faccio un controllo su ogni campo ad esempio:


    codice:
    $query = "select * from colori where id='1'";
    $result = mysql_query($query);
    $row = mysql_fetch_array($result);
    
    if ($row['rosso'] == 'si'){
       echo "giallo";
    }
    ora che i campi colore sono sono tre ho strutturato così... pero vorrei sapere se c'è qualche modo più compatto per scrivere una cosa del genere...
    del tipo:

    Selezione il record che voglio -> stampa i nomi dei campi dove trovi scritto 'si'

    senza dover fare il controllo per ogni campo...

    spero di essermi spiegato bene....

    grazie a tutti!

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    se ho compreso quello che vuoi fare, potresti ciclare tutti gli elementi dell'array $row per verificarne il valore e stampare quello che vuoi
    una cosa tipo
    Codice PHP:
    foreach($row as $k=>$v) {
         if(
    $v == 1) {
             echo 
    "alla chiave $k ho il valore $v <br />";
         }
         else echo 
    "il valore di $k non è quello che voglio <br />";


  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158
    funziona... solo che oltre che a stamparmi il nome del campo mi stampa anche l'indice dell'array...

    esempio:
    1rosso
    2giallo
    3blu

    io vorrei togliere l'indice e lasciare solo il nome del campo

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    prova a non stampare $k...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158
    Ho risolto inserendo il record in un oggetto (mysql_fetch_object)...
    dovrebbero essere logica come soluzione?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    158
    cosi...

    Codice PHP:
            $query "select * from colori where id = '1'";        $result mysql_query($query);                $row mysql_fetch_object($result);                foreach($row as $k=>$v) {                        if($v == "si") {                echo  $k "<br>";            }         } 

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.