Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Tabela do tablicy
Forum PHP.pl > Forum > Przedszkole
cisu
Witam. Tym razem mam taki problem. Chciałbym zrzucić moją tabelkę w bazie danych do tablicy o strukturze:
  1. $table = array(
  2. array('folder_id' => 00000000001, 'name' => 'AAA', 'folder_parent' => '00000000000'),
  3. array('folder_id' => 00000000002, 'name' => 'BBB', 'folder_parent' => '00000000001'),
  4. array('folder_id' => 00000000003, 'name' => 'CCC', 'folder_parent' => '00000000002'),
  5. array('folder_id' => 00000000004, 'name' => 'DDD', 'folder_parent' => '00000000002'),
  6. array('folder_id' => 00000000005, 'name' => 'EEE', 'folder_parent' => '00000000002'),
  7. array('folder_id' => 00000000006, 'name' => 'FFF', 'folder_parent' => '00000000001'),
  8. array('folder_id' => 00000000007, 'name' => 'GGG', 'folder_parent' => '00000000006'),
  9. array('folder_id' => 00000000008, 'name' => 'HHH', 'folder_parent' => '00000000006'),
  10. array('folder_id' => 00000000009, 'name' => 'III', 'folder_parent' => '00000000000')
  11. );
Tabelka
  1. folder_id folder_name folder_parent
  2. 00000000001 AAA 00000000000
  3. 00000000002 BBB 00000000001
  4. 00000000003 CCC 00000000002
  5. 00000000004 DDD 00000000002
  6. 00000000005 EEE 00000000002
  7. 00000000006 FFF 00000000001
  8. 00000000007 GGG 00000000006
  9. 00000000008 HHH 00000000006
  10. 00000000009 III 00000000000

Chodzi mi o to, żeby zrobić to za pomocą jednego zapytania do bazy danych. Proszę o pomoc.
Ilware
Użyj mysql_fetch_array( ) z flagą MYSQL_ASSOC zwróci Ci dokładnie

  1. array('folder_id' => 00000000001, 'name' => 'AAA', 'folder_parent' => '00000000000')
cisu
Ale ja to potrzebuję na raz na całą tabelę, a nie na jeden rekord.
=====

Mam kod, który to zrobi, ale trzeba zmieniać ręcznie aktualizować nazwy pól.
  1. function generateFoldersList($q) {
  2. $q = mysqlQuery($q);
  3. for($i = 0; $i < mysql_num_rows($q); $i++) {
  4. $wiersz = mysql_fetch_row($q);
  5. $tablica[$i]['folder_id'] = $wiersz[0];
  6. $tablica[$i]['name'] = $wiersz[1];
  7. $tablica[$i]['folder_parent'] = $wiersz[2];
  8. }
  9. return $tablica;
  10. }

Ilware
po mysql_query(); robisz

  1. $newArray = array();
  2. $i = 0;
  3. while( $row = mysql_fetch_array( $result ,MYSQL_ASSOC ) ){
  4. foreach( $row as $key => $value )
  5. $newArray[$i][$key] = $value;
  6.  
  7. $i++;
  8. }
Crozin
Jest 2011 rok. PHP się nieco zmieniło od czasu swojego powstania... PDOStatement::fetchAll()
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.