2010-03-26 19 views
5

Estoy teniendo un espacio mental en blanco aquí y no puedo por la vida de encontrar una solución.Agregando resultados de la base de datos a la matriz

Mi situación es que estoy programando en PHP y MySQL. Tengo una tabla de base de datos que devuelve los resultados para un orderid específico. La consulta puede devolver un máximo de 4 filas por pedido y un mínimo de 1 fila.

Aquí hay una imagen de cómo quiero devolver los resultados. alt text http://sandbox.mcmedia.com.au/nqlsolutions/images/packages.jpg

Tengo todos los detalles del pedido (Nombre, dirección) ect almacenados en una tabla llamada "pedidos". Tengo todos los paquetes para esa orden almacenados en una tabla llamada "paquetes".

Lo que necesito hacer es usar un bucle que necesita tener acceso a cada elemento específico de los resultados de base de datos (IE package1, itemstype1, envase2, itemtype2) ect

Estoy utilizando una consulta como esta para tratar y hacerse con sólo el "número de elementos:

$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; 

necesito tener acceso a cada elemento específico porque los necesitan para crear los pasos de una plantilla pdf usando 'FPDF'

espero que este tiene sentido. Cualquier dirección sería muy apreciada .

Respuesta

14

que debe hacer algo como esto:

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

Ahora $ de datos es una matriz donde cada elemento es una fila del resultado de la consulta.

Luego puede acceder a las filas como $ data [0], $ data [1], y los elementos dentro de las filas como $ data [1] ['package'], $ data [0] ['itemtype' ], porque cada fila es una matriz asociativa.

Puede obtener el número de filas devueltas usando count ($ data).

+0

Gracias a un millón por su respuesta David, muy claro y en el clavo. – Jason

Cuestiones relacionadas