Autor Zpráva
cistax
Profil
Dobrý den, chtel bych se zeptat, jakým způsobem by šlo udělat, že když mám v db moc záznamů, aby se roztřídily na sloupce po čtyřech. Dejme tomu, že mám dvacet záznamů, tak by se to udělalo takto:

Zaznam1 Zaznam5 Zaznam9 Zaznam13 Zaznam17 pripadne zaznam21 (kdyz jich bude vice)
Zaznam2 Zaznam6 Zaznam10 Zaznam14 Zaznam18
Zaznam3 Zaznam7 Zaznam11 Zaznam15 Zaznam19
Zaznam4 Zaznam8 Zaznam12 Zaznam16 Zaznam20
SwimX
Profil
cistax:
například
<?php
$r = mysql_query("SELECT * FROM table");
$i = 0;
while($row = mysql_fetch_assoc($r)){
  switch ($i % 4){
  case 0: 
     break;
  case 1: 
     break;
  case 2: 
     break;
  case 3: 
     break;
  }
  $i++;
}
?>

ale možná to zvládne i DB, to nevím.
cistax
Profil
Proč je použito mysql_fetch_assoc(); a jak se pracuje s tim % ? ve switchi?
SwimX
Profil
cistax:
assoc -> vytvoří pole
$row s klíči ['nazev_sloupce']

fetch array vytvoří 2 pole
jedno $row s klíči ['nazev_sloupce']
druhé $row s klíči [0], [1], [2]...

takže je to zbytečné, stejně se téměř vždy používá associativní pole.

% je modulo. čili zbytek po celočíselném dělení
takže
0 % 4 = 0 ( 0/4 = 0 a zbyde 0)
1 % 4 = 1 ( 1/4 = 0 a zbyde 1)
2 % 4 = 2 ( 2/4 = 0 a zbyde 2)
3 % 4 = 3 ( 3/4 = 0 a zbyde 3)
4 % 4 = 0 ( 4/4 = 1 a zbyde 0)
5 % 4 = 1 ( 5/4 = 1 a zbyde 1)
6 % 4 = 2 ( 6/4 = 1 a zbyde 2)
7 % 4 = 3 ( 7/4 = 1 a zbyde 3)


používá se často při výpisu z DB na odlišení sudé a liché řádky, tam se ale samozřejmě dělí 2

//zkus tento dotaz položit v kategorii databáze na webu, protože nevím jestli i sem chodí kajman :)), možná totiž něco takovéhoto zvládne přímo mysql.)
cistax
Profil
Díky

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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