Naptárhoz események
Sziasztok!
Írtam egy naptár sriptet és a következő gondba ütközök vagy már fél napja.
A naptárat úgy terveztem, hogy eseményeket bele tudjak tenni. A események adatbázisban vannam nap alapján elmentve. Ez szerintem eddig okés is, de amikor kikérem és az adott naphoz szeretném tenni.
A naptárnak a napjait egy ciklus segítségével töltöm fel. Ennek a ciklusnak a belső mutatóját használom keresésre. De sajnos egyet sem jelenit meg a naptár. Csak akkor jelenik meg az adott hír ha az adatbázisban 1 van írva a napokra.Ez sajnos nem tudom használni adatbázishoz és nem tudom, hogy hogyan írja át, eddig eljutottam, hogy megírtam ezt hozzá, de utána kifutottam az ötletekböl :(
De lekérdeztem a ciklus belső mutatóját pl:
Belső mutató; Adatbázis esemény táblája, név oszlop;
1 3
2 4
3 7
Így azért bizonyolult bennem, hogy azért nem sikerül az összehasonlítás mert a belső számláló nem eggyezik a lekért adatt számával, de hogyan tudom megoldani, hogy müködjön?
Köszi!
■ Írtam egy naptár sriptet és a következő gondba ütközök vagy már fél napja.
A naptárat úgy terveztem, hogy eseményeket bele tudjak tenni. A események adatbázisban vannam nap alapján elmentve. Ez szerintem eddig okés is, de amikor kikérem és az adott naphoz szeretném tenni.
A naptárnak a napjait egy ciklus segítségével töltöm fel. Ennek a ciklusnak a belső mutatóját használom keresésre. De sajnos egyet sem jelenit meg a naptár. Csak akkor jelenik meg az adott hír ha az adatbázisban 1 van írva a napokra.
function kiemeles($szam1,$szam2){
$i = 1;
while ($i <= $szam1) {
if($i == $szam1){
echo "<strong>".$i."</strong>";
}
else{
echo $i;
}
$i++;
}
}
kiemeles (20,4);
De lekérdeztem a ciklus belső mutatóját pl:
Belső mutató; Adatbázis esemény táblája, név oszlop;
1 3
2 4
3 7
Így azért bizonyolult bennem, hogy azért nem sikerül az összehasonlítás mert a belső számláló nem eggyezik a lekért adatt számával, de hogyan tudom megoldani, hogy müködjön?
Köszi!
Nem értem a problémát
Még 1x :)
Nem érted
Te elképzeltél valamit, hogy az úgy kell működjön és megpróbálsz minket rávenni hogy mi is azon a gondolatmeneten induljunk el, ami nem is biztos hogy jó. Főleg hogy nem tudjuk hogy az adatbázisban mi az egy a kettő, stb.
Megpróbálom megint
Azaz pl Január 20 án milyen esemény volt.
Megvan a naptár, adatbázis -> év, hó, nap, esemeny, oszloppal.
Nem tudom összekapcsolni ezt a 2 dolgot.
Remélem nem bonyolítottam el ismét :)
Naptár
Ezek után egy SQL lekérést kell intézned, mondjuk így:
Mi a cél != hogyan működjön
Először is szeretném leszögezni, hogy jó szándékú a hozzászólásom! :)
Én azt szoktam mondani, hogy kétféle ügyfél létezik, egyszerű és bonyolult. Úgy ismered fel, melyik melyik, hogy az egyszerű azt megmondja mi a célja egy alkalmazással, a bonyolult el akarja magyarázni, hogyan működjön! Te, most, nekünk "ügyfél" vagy, és ha azt hajtogatod újra és újra, hogy mit mihez akarsz hozzárendelni, akkor te az ügyfelek utóbbi kategóriájába tartozol!
Azt mond el, mi a célod!
s_volenszki
A kiemeles függvény nem néz ki jónak
A ,,kiemeles'' függvényed kiír valahány számot. Tehát jobb lenne úgy elnevezni, hogy ,,napok_kiirasa'', vagy ilyesmi (nem tudom, mit akarsz vele kiírni).
Nem tudjuk, mi az a ,,szam1'' és ,,szam2'', ezeket is jobb lenne úgy elnevezni, hogy értsük.
Azt látom, hogy a függvény kiír szam1 darab számot, és az utolsót kiemeli. Szerintem az ,,if($i == $szam1)'' feltételt ,,if($i == $szam2)''-nek akartad volna írni. De ettől még nem értjük, hogy mit akartál volna.
Ezt a feladatot többféleképpen lehet megoldani, pl. így:
Van egy táblád adatbázisban, pl. ,,esemeny'' néven. Mezők:
- id
- nev
- leiras
- datum
Algoritmus:
- egy hónapnyi eseményt betöltesz tömbbe (SELECT; WHERE-rel tudsz dátumra szűrni)
- naptár megjelenítése: 2 egymásba ágyazott ciklus. Külső végigmegy a hónap napjain, belső pedig a tömbön; ha a külső és belső ciklusváltozó által jelölt nap egyezik, akkor kiírod a napot kiemeléssel, linkkel, meg minden... ha nem, akkor sima nap kiírása a külső cikluváltozó alapján.
Így gondoltad? Mert jó lenne rájönni, hogy az _elképzelés_ rossz, vagy csak a _kódod_.
Pontossan
Igen, így akarom.
Hasonlóan magyaráztam én is, csak máskép sokkal :) Mert én a probléma gondolat menetét mondtam el.
ha az adatbázisban szerepel a 20 a és a naptár ciklusa 20 á hoz ér akkor szépen kiemeli nekem. Ha nem akkor csak szépen kiemelés nálkül kiíródik a szám.
Jaaa
Megoldottam!
Köszönöm a segítséget mindenkinek!
A megoldás ez lett:
MySQL
Tervezd meg előbb az algoritmust
Ne úgy indulj neki, hogy 1.) mik vannak az adatbázisban, 2.) mit hogyan írjunk ki; hanem fordítva:
1. Külső ciklus: ez megy végig a hónap napjain
2. Ezen belül egy másik: ez megy végig az adatbázisból egy hónapra lekérdezett eseményeken.
Események elrejtése
Ismét egy provléma ütköztem, eddig oké minden, de elszeretném rejteni vagy is inkább más tartalmat jeleníttetek meg a naptáramban, az adatbázisból kikérem az adatokat és ha van találat akkor x idővel elöbbre elrejti a tartlmat. De az összehasonlítás nem megy valamiért.
MySQL saját dátumkezelése
Na de még is megoldható máshogyan :)
Valóban...