• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Tworzenie tablicy asocjacyjnej dla kilku rekordów z bazy danych

Object Storage Arubacloud
+1 głos
1,886 wizyt
pytanie zadane 25 kwietnia 2015 w SQL, bazy danych przez jk_kord Bywalec (2,950 p.)
edycja 25 kwietnia 2015 przez jk_kord

Witajcie!

Chciałem pobrać z bazy danych 3 ostatnie rekordy. Robię to zapytaniem:

SELECT * FROM posty ORDER BY id DESC LIMIT 3

Następnie tworzę tablicę asocjacyjną poleceniem:

$tablica = $download->fetch_assoc();

Przy takim stanie rzeczy, gdy chcę wyświetlić jakąś wartość, np. id to przeglądarka wyrzuca id najnowszego posta czyli o największym id. Z tego wynika, że tablica jest tworzona dla pierwszego rekordu, który przyjdzie z bazy danych. Moje pytanie: Jak stworzyć do każdego rekordu pobranego z bazy oddzielną tablicę?

Pozdrawiam.

2 odpowiedzi

+1 głos
odpowiedź 25 kwietnia 2015 przez Boshi VIP (100,240 p.)
wybrane 12 maja 2015 przez jk_kord
 
Najlepsza
array_chunk z wielkością tablicy- tablica dwuwymiarowa.
komentarz 25 kwietnia 2015 przez jk_kord Bywalec (2,950 p.)
mógłbyś podać przykład?

Dzięki!
komentarz 25 kwietnia 2015 przez Boshi VIP (100,240 p.)
edycja 25 kwietnia 2015 przez Boshi

Ta;

$tablica1=['marzena','kot','pies','krowa','krowa'];

		$tablica10=array_chunk($tablica1,1);
 
    echo '<pre>';
        print_r($tablica10);
        echo '</pre>';

Wynik:

http://gyazo.com/be0677d493666543a1c01f4ae5748a71

Każdą wartość z tablicy(twój rekord) dzielisz na osobną tablicę (parametr 1 w array_chunk) i tworzysz tablicę dwuwymiarową.

Jak chcesz by klucze nie były liczbami numerowane tylko kluczami z tabeli to dodaj true jako trzeci parametr array_chunk.

 

komentarz 25 kwietnia 2015 przez Boshi VIP (100,240 p.)
edycja 25 kwietnia 2015 przez Boshi

Muszę sporstowac swoją wypowiedź troszeczkę, gdyż ten przykład co podałem  stworzy  to co chcesz, ale z bazy wyciągasz tablicę wielowymiarową już więc po moim zabiegu tablica będzie trójwymiarowa- a tego nie chcesz :)

Zrób tak i wtedy masz dwuwymiarową tablicę :) Oczywiście tablica wynik to są wszystkie twoja dwuwymiarowa tablica z bazy z wynikami :)

 

 

 

$wynik = iterator_to_array(new RecursiveIteratorIterator(new RecursiveArrayIterator($wynik)), 0);
        $wynik=array_chunk($wynik,1,true);

 

Jeszcze wynik z mojej bazy:

http://gyazo.com/b2e700cdf90080c8dae9ff828443022a

 

p.s chociaż nie wiem po co tyle zachodu, przecież tablica tworzona jest podczas wyciągania z bazy ? (nie doczytałem co za problem masz i od razu do rozwiązania przystąpiłem) patrz:

http://gyazo.com/9c5d065893f184d78905f5321078db6b

Tablica ma dwa indexy, np 0 i autor w moim wypadku.

Ten przykład co ja ci wyżej podałem dzieli tablicę jeszcze na osobne kawałki.

 

Pozdrawiam :)

komentarz 25 kwietnia 2015 przez jk_kord Bywalec (2,950 p.)
Dzięki!

Daje naj!
0 głosów
odpowiedź 25 kwietnia 2015 przez jk_kord Bywalec (2,950 p.)
Może trochę źle ułożyłem pytanie. Chciałem je uprościć. Mam sytuację, gdy baza zwraca mi 3 rekordy. Jak dla każdego z nich utworzyć oddzielną tablice?
komentarz 25 kwietnia 2015 przez Boshi VIP (100,240 p.)
Tak jak podałem wyżej.  Zwrócona zostaje ci  z bazy tablica dwuwymiarowa, gdzie kluczem pierwszym jest index numeryczny a kolejnym albo numeryczny albo asocjacyjny. Zobacz mój drugi link.  Każdy wiersz jest osobną tablicą.  W sumie tablicą tablic :)

Powiedz lepiej co chcesz osiągnąć tym, bo trochę mieszasz.
komentarz 26 kwietnia 2015 przez jk_kord Bywalec (2,950 p.)
Teorzę bloga i chcę, aby na str głównej było coś takiego jak "Ostatnio na blog". Tam będą się wyświetlały 3 ostatnie posty.

Dzięki za odpowiedź. Wpadłem na pomysł, że użyję pętli. :P

Pozdrawiam.

Podobne pytania

0 głosów
2 odpowiedzi 616 wizyt
0 głosów
1 odpowiedź 808 wizyt
pytanie zadane 8 czerwca 2017 w SQL, bazy danych przez Rafik Obywatel (1,870 p.)
0 głosów
1 odpowiedź 747 wizyt
pytanie zadane 23 maja 2017 w PHP przez Michał Samolewski Bywalec (2,240 p.)

92,698 zapytań

141,611 odpowiedzi

320,122 komentarzy

62,057 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...