Sziasztok!
Szóval lenne egy tartalom amit szeretnék megosztani másokkal de mindig csak a következő 3 jelenjen meg.
Azaz ha ma 2011.09.20. van akkor a következő 3 aktuális fesztivál jelenjen meg.(adatbázis van a fesztiválokról)
Ebben kérnék segítséget.
Köszi előre is
- 1614 megtekintés
Hozzászólások
Megírod a lekérdezést amivel megkapod a fesztiválokat majd sorbarakod dátum szerint és "LIMIT 3" amit keresel.
- A hozzászóláshoz be kell jelentkezni
SELECT * FROM fesztivalok WHERE fesztival_napja > aktualis_datum ORDER BY fesztival_napja ASC LIMIT 3;
--
A gyors gondolat többet ér, mint a gyors mozdulat.
- A hozzászóláshoz be kell jelentkezni
esetleg:
... where fesztivaldatum > '2011-09-20' limit 3;
- A hozzászóláshoz be kell jelentkezni
az aktuális dátumhoz képest ez hogyan megy?
mert a limittel nem az aktuálishoz képest 3 jelenik meg hanem az adatbázisból 3 .
Rosszul gondolom?
- A hozzászóláshoz be kell jelentkezni
az aktuális dátumot add meg neki paraméterként a híváskor..
- A hozzászóláshoz be kell jelentkezni
Nem vagyok még ennyire otthon a témában.
Gyakorlatban ez hogyan néz ki?
Köszi
- A hozzászóláshoz be kell jelentkezni
fesztival_napja > (SELECT CURDATE())
a WHERE feltételbe
--
A gyors gondolat többet ér, mint a gyors mozdulat.
- A hozzászóláshoz be kell jelentkezni
helyett fesztival_napja > CURDATE()
minek al lekérdezés?
- A hozzászóláshoz be kell jelentkezni
fesztdatum>NOW()
- A hozzászóláshoz be kell jelentkezni
Ahogy fentebb már leírták...
- A hozzászóláshoz be kell jelentkezni
próbálkozok de nem nagyon jön össze ez lekérdezés.
- A hozzászóláshoz be kell jelentkezni
Ezen nem tud senki segíteni. Írd le mi a hiba, másold be a lekérdezést. Nem azt adja amit vársz, vagy nem működik? Stb.
- A hozzászóláshoz be kell jelentkezni
azt nem tudom hogy hogyan kellene a lekérdezést pontosan megírni az általatok adott függvényekkel.
Eddig itt tartok:
<?php
$kapcsolat=mysql_connect("localhost","xx","xx")
or die (print"HIBA!".mysql_error());
mysql_select_db("fesztival",$kapcsolat);
mysql_query("SET NAMES utf8");
$parancs = "SELECT*FROM feszt ORDER BY datum DESC";
$eredmeny = mysql_query($parancs, $kapcsolat);
while ($sor = mysql_fetch_array($eredmeny))
{
?>
<?=$sor[fesztido]; ?> |
<?=$sor[fesztnev]; ?> |
<?php
}
mysql_close($kapcsolat);
?>
De ugye ez dátum szerint fordítva kiír mindent.
- A hozzászóláshoz be kell jelentkezni
$parancs = "SELECT*FROM feszt ORDER BY datum DESC";
legyen ilyesmi:
$parancs = "SELECT * FROM feszt WHERE datum > CURDATE() ORDER BY datum ASC LIMIT 3";
Ennél egyszerűbben nincs mit magyarázni rajta.
--
A gyors gondolat többet ér, mint a gyors mozdulat.
- A hozzászóláshoz be kell jelentkezni