roztriedenie mysql dat do skupin

Programovacie jazyky, rady, poradňa...
forfun
Light Expert
Light Expert
Príspevky: 77
Registrovaný: 03 jan 2010, 17:26

roztriedenie mysql dat do skupin

Príspevok od používateľa forfun »

Mam mensi problemik s ktorym si sam neviem poradit, preto sa obracam na Vas.

Mam v DB tabulku s odkazmy, dajme tmou ze tychto odkazov pribudne niekolko za den. A co ja potrebujem je vypisat na stranke uplne vsetky odkazy z DB ale takym stylom aby boli potriedene podla datumu kedy boli pridane v tabulkach. Pre lepsie pochopenie prikladam prilohu s nazornou ukazkou ako vyzeraju moje data v DB a ako by som to chcel zobrazit na stranke.

Dakujem za odpovede
Prílohy
group.png
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: roztriedenie mysql dat do skupin

Príspevok od používateľa harrison314 »

Kód: Vybrať všetko

SELECET nazov FROM tabulka ORDER BY cas
AK chces aby boli v opacnom poradi:

Kód: Vybrať všetko

SELECET nazov FROM tabulka ORDER BY cas DESC
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: roztriedenie mysql dat do skupin

Príspevok od používateľa audiotrack »

ešte by som tam pridal aj radenie podľa id, lebo môže mať viacero odkazov rovnaký čas

Kód: Vybrať všetko

SELECET nazov FROM tabulka ORDER BY cas, id
forfun
Light Expert
Light Expert
Príspevky: 77
Registrovaný: 03 jan 2010, 17:26

Re: roztriedenie mysql dat do skupin

Príspevok od používateľa forfun »

Mozno je to naozaj take jednoduche ako pisete ale ja si to jednoducho neviem predstavit ako to vypisat. Prikladam nazorny priklad k comu sa viem dopracovat:

Kód: Vybrať všetko

$query = mysql_query("SELECT * FROM linky WHERE schvalit = 1 ORDER BY cas DESC");
$pocet = mysql_num_rows($query);
while($rows = mysql_fetch_array($query))
	{
	echo "<table width='500' border='1'>";
	echo "<tr>";
	echo "<td colspan='3'>";
	echo $rows['cas'];
	echo "</td>";
	echo "</tr>";
	echo "<tr>";
	echo "<td>";
	echo $rows['nazov'];
	echo "</td>";
	echo "<td>";
	echo $rows['url'];
	echo "</td>";
	echo "</tr>";
	echo "</table><br/>";
	}
V prilohe je co to vypluje, ale ja by som to chcel v takom style ako som pisal v prvom prispevku. 1 tabulka pre 1 den s nadpisom daneho dna a potom uz len vypis prisluchajucich odkazov ku dnu.
Prílohy
tabulky.png
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: roztriedenie mysql dat do skupin

Príspevok od používateľa BX »

Čo tak postupne testovať, či sa predchádzajúci čas rovná tomu nasledujúcemu a podľa toho vypísať buď len nový riadok, alebo celú tabuľku pre deň?
forfun
Light Expert
Light Expert
Príspevky: 77
Registrovaný: 03 jan 2010, 17:26

Re: roztriedenie mysql dat do skupin

Príspevok od používateľa forfun »

Takze mam ten udaj cas $rows['cas'] ktory sa nachadza v slucke while, pokial sa nemylim ta slucka sa vykonava X krat a zakazdym ma ten udaj $rows['cas'] len tu hodnotu podla toho kolky krat sa to vykonava. Ako viem zistit aku hodnotu mal v predchadzajucom kroku?
propernex
Medium Star
Medium Star
Príspevky: 340
Registrovaný: 13 máj 2005, 17:59

Re: roztriedenie mysql dat do skupin

Príspevok od používateľa propernex »

Kód: Vybrať všetko

$query = mysql_query("SELECT * FROM linky WHERE schvalit = 1 ORDER BY cas DESC");
$pocet = mysql_num_rows($query);
$cas=1;
while($rows = mysql_fetch_array($query))
   {
   if ($rows['cas']!=$cas)
   {
   if ($cas!=1) echo "</table><br/>";   
   echo "<table width='500' border='1'>";
   echo "<tr>";
   echo "<td colspan='3'>";
   echo $rows['cas'];
   echo "</td>";
   echo "</tr>";
   echo "<tr>";
   echo "<td>";
   echo $rows['nazov'];
   echo "</td>";
   echo "<td>";
   echo $rows['url'];
   echo "</td>";
   echo "</tr>";
   $cas=$rows['cas'];
   }
   else 
 {
   echo "<tr>";
   echo "<td colspan='3'>";
   echo $rows['cas'];
   echo "</td>";
   echo "</tr>";
   echo "<tr>";
   echo "<td>";
   echo $rows['nazov'];
   echo "</td>";
   echo "<td>";
   echo $rows['url'];
   echo "</td>";
   echo "</tr>";
   $cas=$rows['cas'];
}   
}
javatar
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6112
Registrovaný: 12 aug 2010, 14:49
Bydlisko: I don't exist at all.

Re: roztriedenie mysql dat do skupin

Príspevok od používateľa javatar »

ono ak som ta spravne pochopil tak nehladas ORDER BY ale GROUP BY - iba nahrad to order group a napis ci je to to co hladas
forfun
Light Expert
Light Expert
Príspevky: 77
Registrovaný: 03 jan 2010, 17:26

Re: roztriedenie mysql dat do skupin

Príspevok od používateľa forfun »

Presne to co spravil propernex som potreboval, osobitna vdaka patri jemu ale taktiez vsetkym ostatnym ktory sa mi snazili pomoct.
Dakujem
Napísať odpoveď