![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 493 Pomógł: 0 Dołączył: 14.06.2003 Skąd: Tomaszów Lubelski/Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Chce pobrac dane z bazy i zapisac do postaci tablicy wielowymiarowej. I dąze do otrzymania takie struktury tablicy
Kod Array
( [1] => Array ( [id] => 1 [idm] => 1 [name] => telefony stacjonarne ) [1] => Array ( [id] => 2 [idm] => 1 [name] => telefony komórkowe ) [1] => Array ( [id] => 3 [idm] => 1 [name] => telefony jakies inne ) [2] => Array ( [id] => 4 [idm] => 2 [name] => telewizory ) [2] => Array ( [id] => 5 [idm] => 2 [name] => radia ) ) Jak zauwazyliscie pierwszy index ma byc równy tyle ile [idm]. Upss... Troche namotalem ![]() Ale potrzebne mi to jest pózniej do wyświetlania danych w petli gdzie jest zmienny pierwszy index. Mam nadzieje ze zrozumieliscie o co mi chodzi ![]() -------------------- |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Otrzymanie takiej stryktury jest fizycznie niemożliwe...
Nie mogą istnieć w jednej tablicy 3 takie same klucze. Proponuję takie rozwiązanie: Kod Array
( [1] => Array ( [0] => Array ( [id] => 1 [idm] => 1 [name] => telefony stacjonarne ) [1] => Array ( [id] => 2 [idm] => 1 [name] => telefony komórkowe ) [2] => Array ( [id] => 3 [idm] => 1 [name] => telefony jakies inne ) ) [2] => Array ( [0] => Array ( [id] => 4 [idm] => 2 [name] => telewizory ) [1] => Array ( [id] => 5 [idm] => 2 [name] => radia ) // itd... ) ) Strukturę tą można przedstawić w prosty sposób: [php:1:20746b898e]<?php $tab[1][0]['id'] = 1; $tab[1][0]['idm'] = 1; $tab[1][0]['name'] = 'telefony stacjonarne'; $tab[1][1]['id'] = 2; $tab[1][1]['idm'] = 1; $tab[1][1]['name'] = 'telefony komorkowe'; $tab[1][2]['id'] = 3; $tab[1][2]['idm'] = 1; $tab[1][2]['name'] = 'telefony jakies tam'; // itd... ?>[/php:1:20746b898e] -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 493 Pomógł: 0 Dołączył: 14.06.2003 Skąd: Tomaszów Lubelski/Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Wiem że stworzenie takiej tablicy jaka podalem jest nie realne, ale chodzilo mi o przedstawienie problemu. Albo moze ja źle mysql i da sie to jakos inaczej zrobic
![]() Zazwyczaj gdy musialem wyswietlic w petli np. strukture kategorii i for (tak jak na phpbb) to robilem tak[php:1:10d538156e]<?php $query = mysql_query( "SELECT * FROM kategorie" ); while( $cat = mysql_fetch_assoc( $query ) ) { echo '<b>'.$cat['name'].'</b><br />'; $query = mysql_query( "SELECT * FROM fora WHERE cid = '".$cat['id']."'" ); while( $for = mysql_fetch_assoc( $query ) ) { echo $for['title']; } } ?>[/php:1:10d538156e] Oczywiscie to uproszczony kod. Ale takie rozwiazanie jest mocno nieefektywne gdyz musi pobierac duzo zapytan do bazy danych. Pomyslalem wiec ze mozna wszytskie fora wrzucic do jednej tablicy wielowymiarowej. [php:1:10d538156e]<?php $query = mysql_query( "SELECT * FROM fora" ); while( $q = mysql_fetch_assoc( $query ) ) { $for[] = $q; //Oczywiscie inaczej powinno wygladac stworzenie tej tablicy, lecz nie mam koncepcji ![]() } $query = mysql_query( "SELECT * FROM kategorie" ); while( $cat = mysql_fetch_assoc( $query ) ) { //Teraz tu bedziemy wyswietlali jakos fora tylko ze wlasnie nie wiem jak ![]() //Oczywiscie powinna tu byc petla wyswietlajaca fora nalezace do danej kategorii echo $for[$cat['id']]['title']; } ?>[/php:1:10d538156e]Tak to schematycznie wyglada. Teraz powinniscie zalapac i moze podac rozwiazanie ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 4.07.2025 - 20:11 |