• 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

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
+1 głos
1,983 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 796 wizyt
0 głosów
1 odpowiedź 1,020 wizyt
pytanie zadane 8 czerwca 2017 w SQL, bazy danych przez Rafik Obywatel (1,870 p.)
0 głosów
1 odpowiedź 807 wizyt
pytanie zadane 23 maja 2017 w PHP przez Michał Samolewski Bywalec (2,240 p.)

93,164 zapytań

142,176 odpowiedzi

321,938 komentarzy

62,493 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 688p. - dia-Chann
  2. 676p. - CC PL
  3. 675p. - Łukasz Piwowar
  4. 664p. - Marcin Putra
  5. 662p. - Łukasz Eckert
  6. 649p. - Michal Drewniak
  7. 641p. - rucin93
  8. 641p. - rafalszastok
  9. 629p. - Piotr Aleksandrowicz
  10. 621p. - Dawid128
  11. 606p. - Mariusz Fornal
  12. 602p. - Michał Telesz
  13. 597p. - Hubert Chęciński
  14. 572p. - ssynowiec
  15. 527p. - Adrian Wieprzkowicz
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...