Autor | Zpráva | ||
---|---|---|---|
radas Profil * |
#1 · Zasláno: 12. 1. 2010, 16:32:51
Zdravím,
řešim problém, v tabulce mam tyto sloupce id,datum,text a data jsou 1 ,2009-01-01, text1 2 ,2009-01-03, text2 3 ,2009-02-01, text3 4 ,2009-02-08, text4 5 ,2009-03-01, text4 6 ,2009-01-04, text6 atd podle toho jak tam jsou ty texty vkladany a ja bych potřeboval udělat vypis leden text1 text2 text6 únor text3 text4 březen text4 a nevím podle čeho by se to mělo sjednotit a jak docilit nejdříve vypsáni názvu měsíce a potom výpisu těch textu... nenapadlo by někoho jak na to? |
||
Kajman_ Profil * |
#2 · Zasláno: 12. 1. 2010, 16:36:28
Často se to řeší až v php. Získat data seřazená podle data (případně čísla měsíce, mají-li se míchat různé roky) a pamatovat si poslední vypsaný měsíc. Pokud je na dalším řádku jinačí, tak vypsat měsíc a zapamatovat si ho jako ten poslední vypsaný.
|
||
radas Profil * |
#3 · Zasláno: 12. 1. 2010, 16:42:10
takže v mem případě,načist data seskupena podle měsíce, do pole uložil nazvy měcíců (klíč->hodnota) a pak kdybych porovnával podminkou a vypisoval?
tak to bylo myšlene Kajman? |
||
bob99 Profil |
#4 · Zasláno: 13. 1. 2010, 09:49:02
Co třeba:
SELECT substr(datum, 6, 7) as mesic FROM ....... GROUP BY 1 |
||
Kajman_ Profil * |
Měl jsem na mysli, že to seskupovat nemusíte. Nadpisek leden, únor vypsaný jen jednou můžete lehce vyřešit na aplikační vrstvě.
$vysledek=mysql_query("select month(datum) mesic, `text` from tabulka order by datum"); $last_mesic=null; while ($zaznam=mysql_fetch_array($vysledek)) { if ($zaznam["mesic"]!==$last_mesic) { echo "<b>".$zaznam["mesic"]."</b><br>"; $last_mesic=$zaznam["mesic"]; } echo $zaznam["text"]."<br>"; } |
||
Časová prodleva: 14 let
|
0