Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Tablica w tablicy, tworzona z wyników zapytania do bazy MySQL
nexis
post 3.10.2006, 21:00:41
Post #1





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Witam,

jak utworzyć coś takiego:

  1. <?php
  2. $data = array(
  3. array('name' => 'John Smith', 'home' => '555-555-5555',
  4. 'cell' => '666-555-5555', 'email' => 'john@myexample.com'),
  5. array('name' => 'Jack Jones', 'home' => '777-555-5555',
  6. 'cell' => '888-555-5555', 'email' => 'jack@myexample.com'),
  7. array('name' => 'Jane Munson', 'home' => '000-555-5555',
  8. 'cell' => '123456', 'email' => 'jane@myexample.com')
  9. );
  10. ?>


Czyli tablicę w tablicy?

Powiedzmy, że zapytanie do bazy danych wygląda tak:

  1. <?php
  2. $query = 'SELECT name, home, cell, email FROM users ORDER BY name ASC';
  3. $query = mysql_query($query);
  4. while ($result = mysql_fetch_array($query)) {
  5.  // i co tutaj ma być?
  6. }
  7. ?>


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
vallerius
post 3.10.2006, 21:11:17
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 2.03.2006
Skąd: Oświęcim

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


Nie jestem pewny, ale chyba tak: winksmiley.jpg
  1. <?php
  2. $query = 'SELECT name, home, cell, email FROM users ORDER BY name ASC';
  3. $query = mysql_query($query);
  4. $i=0;
  5. while ($result = mysql_fetch_array($query)) {
  6.  foreach ($result as $klucz => $wartosc) $data[$i][$klucz] = $wartosc;
  7.  $i++;
  8. }
  9. ?>


--------------------
vlrs
vallerius@konarski.edu.pl
Co to jest problem?
-To zjawisko, które wprawia umysł w zakłopotanie.
Go to the top of the page
+Quote Post
nospor
post 3.10.2006, 21:18:46
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2. $query = 'SELECT name, home, cell, email FROM users ORDER BY name ASC';
  3. $query = mysql_query($query);
  4. $tab = array();
  5. while ($result = mysql_fetch_array($query)) {
  6.  $tab[] = $result;
  7. }
  8. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
siemakuba
post 4.10.2006, 07:20:33
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


Kurcze, panowie, a czemu mysql_fetch_array" title="Zobacz w manualu php" target="_manual?
Skoro tablica wynikowa ma być asocjacyjna to czy nie bardziej na miejscu będzie mysql_fetch_assoc" title="Zobacz w manualu php" target="_manual?

ee, no, tak tylko zapytuje w piękny pluchowy poranek;)

pozdr.
Go to the top of the page
+Quote Post
stoprocent
post 4.10.2006, 11:57:15
Post #5





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 17.05.2003
Skąd: Kraków , Londyn

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


mysql_fetch_assoc oddaje ci tablice wygladajaca tak np
  1. <?php
  2. $tablica['imie'] = .... ;
  3. $tablica[0] = .... ;
  4.  
  5. $tablica['nazwisko'] = .... ;
  6. $tablica[1] = .... ;
  7. ?>


Czyli masz wszytsko podwonie zupelenie nie potrzebnie.
Ty potrzbujesz tylko klucze z danymi wartosciami (nazwami pol).


--------------------
Go to the top of the page
+Quote Post
siemakuba
post 4.10.2006, 13:02:24
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


@nasto: nie, pomyłka :)
to co opisałeś robi właśnie mysql_fetch_array" title="Zobacz w manualu php" target="_manual. To co powinno być robione robi mysql_fetch_assoc" title="Zobacz w manualu php" target="_manual, i tak właśnie napisałem powyżej.

pozdr.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 08:15