2010-03-26 9 views
5

Sto avendo un vuoto mentale qui e non riesco a trovare una soluzione per la vita di me.Aggiunta di risultati del database all'array

Il mio scenario è che sto programmando in PHP e MySQL. Ho una tabella di database che restituisce i risultati per un orderid specifico. La query può restituire un massimo di 4 righe per ordine e un minimo di 1 riga.

Ecco un'immagine di come voglio restituire i risultati. alt text http://sandbox.mcmedia.com.au/nqlsolutions/images/packages.jpg

Ho tutti i dettagli dell'ordine (nome, indirizzo) ect memorizzati in una tabella denominata "ordini". Ho tutti i pacchetti per quell'ordine memorizzati in una tabella denominata "pacchetti".

Che cosa devo fare è utilizzando un ciclo ho bisogno di avere accesso a ogni elemento specifico dei risultati del database (IE package1, itemstype1, Package2, itemtype2) ect

Sto usando una query come questo per provare e entrare in possesso di solo il "numero di elementi:

$sql = "SELECT * FROM bookings_onetime_packages WHERE orderid = '".$orderid."' ORDER BY packageid DESC"; 
$total = $db->database_num_rows($db->database_query($sql)); 

$query = $db->database_query($sql); 

$noitems = ''; 
while($info = $db->database_fetch_assoc($query)){ 
$numberitems = $info['numberofitems']; 

for($i=0; $i<$total; $i++){ 

$noitems .= $numberitems[$i]; 

} 

} 
print $noitems; 

ho bisogno di avere accesso a ciascun elemento specifico perché ho bisogno di loro per creare compilare un modello pdf utilizzando 'FPDF'

Spero che questo ha senso, qualsiasi direzione sarebbe molto apprezzata .

risposta

14

si dovrebbe fare qualcosa di simile:

$data = array(); 
while($row = $db->database_fetch_assoc($query)) 
{ 
    $data[] = $row; 
} 

Ora $ dati è un array in cui ogni elemento è una fila di risultato della query.

Quindi è possibile accedere alle righe come $ data [0], $ data [1] e gli elementi all'interno delle righe come $ data [1] ['pacchetto'], $ data [0] ['itemtype' ], perché ogni riga è un array associativo.

È possibile ottenere il numero di righe restituite utilizzando il conteggio ($ dati).

+0

Grazie mille per la tua risposta David, molto chiaro e azzeccato. – Jason

Problemi correlati