Autor Zpráva
Jendák
Profil *
Ahoj,
zase mám dotaz.
Mám 4 sloupce vytvořené pomocí divů (tabulka se v mém případě nehodila). A v každém sloupci několik dalších divů a v těch má být samotný obsah. Ještě obrázek pro lepší představu.
S PHP teprve začínám, a tak dokážu vypsat obsah jen do jednoho sloupce. Příkazem mysql_query("SELECT * FROM posts ORDER BY post_id DESC LIMIT 16") vytahávám posledních 16 příspěvků a byl bych rád, kdyby se příspěvky vypisovali po řádcích (viz. obrázek). Můžete mě zas nějak nakopnout jak na to? :) Nepotřebuju přímo řešení (i když to mi taky nevadí - dokážu se učit i přímo z toho).
gogy27
Profil
Jendák:
Skús to urobiť pomocou cyklu napríklad
while ($zaznam=mysql_fetch_array(mysql_query("SELECT * FROM posts ORDER BY post_id DESC LIMIT 16"))
Potom len musíš nájsť algoritmus na radenie div-ov vedľa seba a pod seba.
Jendák
Profil *
Jasně, to jsem ještě "dokázal" udělat sám... právě že si nevim rady s tím algoritmem.
mimochodec
Profil
Jendák:
Tohle neuděláš na jeden průchod. Vytáhni si údaje do pole a z něj si pak ty údaje ber. Nebo přestaň vymýšlet blbosti a udělej to prostě jako tabulku.
gogy27
Profil
Jendák:
Niekto možno to bude vedieť jednoduchšie, ja idem na to obkľukou, môj nápad:
$pole_zotriedit = array();
while ($zaznam=mysql_fetch_array(mysql_query("SELECT * FROM posts ORDER BY post_id DESC LIMIT 16")) 
{
$pole_zotriedit[] = $zaznam["obsah"];
}

Teraz to budeš mať všetko v poli ($pole_zotriedit) a do prvého väčšieho div-u dáš divy s obsahom z array s indexami (0, 4, 8, 12), potom druhý väčší div s obsahom z array s indexami (1, 5, 9, 13)...

Nezabudni, že do poľa sa indexuje od nuly, čiže index 0 je tvoj prvý div s obsahom.
Jendák
Profil *
mimochodec:
Nebo přestaň vymýšlet blbosti a udělej to prostě jako tabulku.
Podle mě to řešit tabulkou nejde (nebo aspoň neznám řešení). Protože ty vnitřní divy, mají různou výšku. A já chci aby následovali hned po sobě pod sebou... a chci aby se chovali nezávisle... Tady už je to vidět http://i49.tinypic.com/303codj.png.
gogy27:
Díky moc... zkusim to tak udělat :)
mimochodec
Profil
Jendák:
Tady už je to vidět http://i49.tinypic.com/303codj.png.

Tak to trochu mění situaci. V tom případě je gogy27 nejlepší řešení (ne-li jediné možné).
Jendák
Profil *
Tak se mi to povedlo. :) Díky
Vypisuju tímhle příkazem echo $pole[0].$pole[4].$pole[8]; A u ostatních sloupců naprosto stejně (jen s jinejma číslama). Ale přijde mi to zbytečně složité. Nešlo by to vypisovat cyklem, hlavně mi jde o to jak zapsat aby se vypsalo "každý čtvrtý". Našel jsem tenhle cyklus.
   for($c=1; $c<101; $c++){
echo($c." ");
}
Jenže to samozřejmě vypíše všechny čísla do 100. Ale nevím, jak napsat cyklus tak, aby to vypsalo každý čtvrtý číslo. Pak už bych si poradil a byl bych spokojený :)


*zbytečně né složité, ale neefektivní, zvlášť když se počet vypisovaných dat bude měnit (LIMIT u SQL příkazu budu asi různě přepisovat)
Jendák
Profil *
Tak jsem na to nakonec přišel přecejenom sám :)


 
$limit = count($resultsarray) - 3;   
  for($c=-3; $c<$limit; $c++){
  $c = $c + 3;
  echo $resultsarray[$c];}
mimochodec
Profil
Měnit proměnnou cyklu uvnitř toho cyklu je poněkud nepěkné. Doporučoval bych spíš for .. do hodnoty count($resultsarray)/4 a v cyklu pracovat s echo $resultsarray[4*$c];
Ale věřím, že ti tohle funguje.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: