• 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,851 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 586 wizyt
0 głosów
1 odpowiedź 763 wizyt
pytanie zadane 8 czerwca 2017 w SQL, bazy danych przez Rafik Obywatel (1,870 p.)
0 głosów
1 odpowiedź 740 wizyt
pytanie zadane 23 maja 2017 w PHP przez Michał Samolewski Bywalec (2,240 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...