2010-03-26 12 views
5

Mam tu umysłową pustkę i nie mogę dla mnie wypracować rozwiązania.Dodawanie wyników bazy danych do tablicy

Mój scenariusz jest taki, że programuję w PHP i MySQL. Mam tabelę bazy danych zwracającą wyniki dla określonego orderid. Zapytanie może zwrócić maksymalnie 4 wiersze na zamówienie i co najmniej 1 wiersz.

Oto obraz tego, w jaki sposób chcę zwrócić wyniki. alt text http://sandbox.mcmedia.com.au/nqlsolutions/images/packages.jpg

Mam wszystkie zamówienia (nazwa, adres) przechowywane w tabeli o nazwie "zamówienia". Mam wszystkie pakiety dla tego zamówienia przechowywane w tabeli o nazwie "pakiety".

Co muszę zrobić to za pomocą pętli muszę mieć dostęp do każdego konkretnego elementu wynikach baz danych (IE package1, itemstype1, package2, itemtype2) ect

używam kwerendę tak, aby spróbować i zdobyć tylko „ilość przedmiotów:

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

muszę mieć dostęp do każdego konkretnego elementu, bo im trzeba utworzyć wypełnić szablon pDF za pomocą« FPDF»

mam nadzieję, że ma sens, każdy kierunek byłby bardzo doceniany .

Odpowiedz

14

Powinieneś zrobić coś takiego:

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

Teraz $ dane jest tablicą w której każdy element jest wiersz wyniku zapytania.

Następnie można uzyskać dostęp do wierszy jako dane $ [0], $ dane [1], a elementy w wierszach jako dane $ [1] ["pakiet"], dane $ [0] ['typtypu' ], ponieważ każdy wiersz jest tablicą asocjacyjną.

Możesz uzyskać liczbę wierszy zwróconych przy użyciu licznika (dane $).

+0

Dzięki za odpowiedź na pytanie, David, bardzo jasne i na miejscu. – Jason

Powiązane problemy