Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Tabela do tablicy
cisu
post
Post #1





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 15.03.2008
Skąd: Mirostowice Dolne

Ostrzeżenie: (0%)
-----


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.

Ten post edytował cisu 8.06.2011, 16:30:15
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Ilware
post
Post #2





Grupa: Zarejestrowani
Postów: 248
Pomógł: 31
Dołączył: 14.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Użyj mysql_fetch_array( ) z flagą MYSQL_ASSOC zwróci Ci dokładnie

  1. array('folder_id' => 00000000001, 'name' => 'AAA', 'folder_parent' => '00000000000')
Go to the top of the page
+Quote Post
cisu
post
Post #3





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 15.03.2008
Skąd: Mirostowice Dolne

Ostrzeżenie: (0%)
-----


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. }



Ten post edytował cisu 8.06.2011, 17:23:23
Go to the top of the page
+Quote Post
Ilware
post
Post #4





Grupa: Zarejestrowani
Postów: 248
Pomógł: 31
Dołączył: 14.12.2010
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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. }
Go to the top of the page
+Quote Post
Crozin
post
Post #5





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Jest 2011 rok. PHP się nieco zmieniło od czasu swojego powstania... PDOStatement::fetchAll()

Ten post edytował Crozin 8.06.2011, 17:46:26
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 06:37