La funzione mysql_fetch_assoc come la funzione mysql_fetch_array traduce in un array associtivo la tabella di dati.Originariamente inviato da rocco.mod
sale come sempre vi chiedo aiuto ho una funzione che estraggo i dati degli amministratori sarebbe a dire nome cogniome gruppoid email ecc ecc..... adesso io dal l id del gruppo dovrei risalire al nome del gruppo cosa fare ????
questa e la funzione:
Codice PHP:function GetStaff()
{
global $dbcore;
global $settings;
$sql = mysql_query("select * from tech order by displayorder asc") or die(mysql_error());
$return = array();
while ($row = mysql_fetch_assoc($sql))
{
$return[] = $row;
}
return $return;
}
COnsidera di avere un array multidimensionale a 2 dimensioni al quale puoi accere sia con indici interi che con le etichette.
ti faccio esempio :
Se hai una tabella come
table prova
id int auto increment .....
etichetta text
Quando esegui al query
select * from prova
lui usera' un puntatore alla struttura dati.
quindi
while( $riga = mysql_fetch_array($dati) )
{
/*
scorre tutte le righe di dati e a
ogni ciclo si sposta sulla ria successiva
Se nn ci sono piu' righe restituisce false e il ciclo termina
*/
var_dump($riga);
echo "<hr />";
/*
Stampera' il contenuto della variabile $riga e vedrai tutti i campi.
Per accedere al dato della riga corrente/colonna etichetta
*/
echo "
ETICHETTA: ".$riga['etichetta']."<hr />";
}
Questa tecnica si usa insieme allla query che devi fare quindi sulla query puoispecificare tti i tipi di select che vuoi.I dati tabellari verranno sempre tradotti in array associativi in php.
se devi caricari dati ch stanno da un'altra parte puoi usare o sottoselect oppure join e li bisogna smanacciare con l'sql.
Esempio
table prova
id int auto increment .....
etichetta text
categoria int
table categorie
id int .....
etichetta text ...
COme vedi ho aggiunto al tabella categorie Ogni categoria ha un id e un'etichetta
Se voglio vedere che categoria ha un dato nella tabella prova faro' una cosa come :
select p.id pid , p.etichetta p_etichetta , c.id cid , c.etichetta c_etichetta
from prova p
left join categorie c
on p.etichetta = c.id

Rispondi quotando