ugrás a tartalomhoz

Hírek az archívumban

Anonymous · 2006. Okt. 9. (H), 17.35
Üdvözlök minden fórumozót!

CMS írásába kezdtem pár napja, most járok a hírkezelőnél. Máris az elején akadt egy olyan problémám, hogy mivan ha több ezer hír került az adatbázisba? A régi megoldás hogy 10-20assával darabolok a híreket, és új oldalon jelenítem meg - probléma hogy 1000 hírnél ez már 100 oldal. Ezért inkább havi bontásban szeretném a híreket megjeleníteni. A lap alján szeretnék egy jumpmenüt, amiben bennevan pl hogy 2006.01, 2006.02, stb. Addig már eljutottam, hogy a másik oldalon $_GET-el megnézem a dátumot, és kiiratom ami stimmel. A baj hogy az adatábázisban 0000-00-00 00:00:00 formában vannak a dátumok, ezért a kilistázásnál még egy DISTINCT se segít. Remélem érhetően fogalmazta, várom a segítséget. Köszönöm mindenkinek!!
 
1

Hírek az archívumban

Anonymous · 2006. Okt. 9. (H), 18.34
A DATE_FORMAT lesz a te barátod:
<?
$honap=$_GET['honap']; // pl.: 2006-08
$sql='SELECT cim FROM cikk WHERE DATE_FORMAT(datum,"%Y-%m")="'.$honap.'"';
?>
Persze a $_GET-ben kapott adatot először ellenőrizni kell, de most nem ez a téma.

Gyulus
2

köszönöm

Anonymous · 2006. Okt. 9. (H), 18.37
Igazából a hónapok kilistázására lettem volna kiváncsi, de gondolom akkor ugyan úgy a DATE_FORMAT -ra lesz szükségem.
3

nem megy

Anonymous · 2006. Okt. 9. (H), 19.00
sajnos a dátumok kilistázása nem megy 0000/00 formában:(
4

nem megy

Anonymous · 2006. Okt. 9. (H), 19.50
Ezt nem értem... Pontosan mi nem megy?

Gyulus
5

dátum

Anonymous · 2006. Okt. 10. (K), 15.22
Az adatbázisban pl van ilyen: 2006-09-01 11:01:43, ugye ezt nem adhatom át $_GET -el, mivel ilyenből csak egy van, ezért legalább egy 2006-09 formába kellene hoznom, de még ez se olyan szép, ezért inkább egy 2006/09-et adnék át $_GET-el. Nem tudom hogy listázzam így ki, hónapokra bontva.
8

írd le, most mit csinálsz

Táskai Zsolt · 2006. Okt. 11. (Sze), 16.55
írd le az SQL query-t vagy PHP sort, amivel megformázod. szerintem csak a formázófüggvényt paraméterezed rosszul.
10

nem tudom formázni

Anonymous · 2006. Okt. 11. (Sze), 17.08

$query = mysql_query("SELECT id, datum FROM gta_news") or die(mysql_error());
echo"<form name=\"news-archive\" id=\"news-archive\">";
echo"<label for=\"datum\"></label><select name=\"datum\" id=\"datum\" onchange=\"MM_jumpMenu('parent',this,0)\">";
while ($rows = mysql_fetch_assoc($query)) {
echo"<option value=\"".date("n/Y", strtotime($rows['datum']))."\">".date("n/Y", strtotime($rows['datum']))."</option>";
}
echo"</select>";
echo"</form>";
A baj az, hogy minden hír ebben a hónapban íródott, ezért a jumpmenübe csak 09/2006 ot jelenít meg.
Más: ugye jumpmenüt így érdemes csinálni, itt arra a lenyiló menüdologra gondolok.
12

egyre kevésbé értelek

Táskai Zsolt · 2006. Okt. 11. (Sze), 17.35
ebből a kódból úgy látom, hogy megoldottad az eredeti _formázási_ feladatot (leglábbis ha lecserélnéd a "n/Y"-t "Y/n"-re), legalábbis ahogy azt én értettem. ellenben a dolog mégse jó, mert több ehavi hír esetén többször is kilistázódik a hónap. inkább valahogy így:

$query = mysql_query("SELECT YEAR(datum) ad ev, MONTH(datum) as honap FROM gta_news GROUP BY YEAR(datum), MONTH(datum);") or die(mysql_error());
...
echo ("<option value=\"".$rows['ev']."/".$rows['honap']."\">".$rows['ev']."/".$rows['honap']."</option>");
...
és nem mellesleg ez a kontrol nem tölti be a célzott szerepét, mert nem lesz navigálható, csak JS-es felhasználók számára. mások - például keresőrobotok - nem látnak semmit a többi tartalomból. szerintem linkeket tégy, de ez a te döntésed.
13

köszi

Anonymous · 2006. Okt. 11. (Sze), 18.19
köszönöm
9

PHP dátum formázás

Jano · 2006. Okt. 11. (Sze), 16.56
php.net és nézelődj a dátum formázó függvényeknél!
11

nem ez a baj

Anonymous · 2006. Okt. 11. (Sze), 17.10
nem a dátum formázás a kérdés, vagyis nem ebben a formában.
6

segítség

Anonymous · 2006. Okt. 11. (Sze), 13.35
Nem tudna valaki segíteni? Kilistázni kellene.
7

woow

Anonymous · 2006. Okt. 11. (Sze), 16.49
pont ugyan ez a problémám volt néhány napja nekem is. egy másik fórumon kérdeztem, ott nem tudtak segíteni, ha valaki tudná a választ annak én is örülnék.

mihel