Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][sql] data i wyszukiwanie po niej
Forum PHP.pl > Forum > Przedszkole
kosmic
hm..... wiec zwalczylem wkoncu formularz wyboru dni, miesiecy i roku, ale to troche lipne rozwiązanie sad.gif

bo trzeba po kolei wybierac i wogole troche lipa to sie prezntuje sad.gif

nie da sie czegos zrobic na zasadzie pobierania daty z kalendarza questionmark.gif

mmoze zaczne tak.. mam u siebie w firmie taki program do planowania produkcji i tam np. jest tak ze jak mam podac na dzien, w którym planuje produkcje to wyswitla mi sie małe okienko z kalendarzykiem i po prostu wskazuje date i tyle, to znaczy jak juz wcisne na dzien to automatycznie zamyka sie to okienko i juz mam date wybrana...

czy to bardzo skoplikowane questionmark.gif


bo moim zdaniem bardzo wygodne rozwiazanie i dosc ciekawie wygladajace
Liko
Widziałem takie rozwiązania w JS. Zajrzyj tutaj: http://www.mattkruse.com/javascript/calendarpopup/
kosmic
hmmmmm.... o takie cos mi chodziło, ale jak mam tego wogole uzyc

moze ktos pomoze jak to umiescic na stronie questionmark.gif

troche za duzo napisane, a najgorsze ze po angielsku sad.gif

a w przypadku tego co teraz mam, to:
wywala mi takie bledy:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Program Files\VertrigoServ\www\galeria_zdj\gal_wyniki.php on line 210

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\VertrigoServ\www

to po wybraniu wszystkich danych z formularza
a moje zapytanie to:
Kod
$zapytanie = mysql_query("SELECT * FROM foto WHERE $kryt BETWEEN #$rod-$mod-$dod# AND #$rdo-$mdo-$ddo# ORDER BY $sort DESC LIMIT $limit");
$licz = mysql_num_rows($zapytanie);
while($wynik = mysql_fetch_array($zapytanie)) {


ktos wie o co chodzi questionmark.gif

no i ewentualnie jak mam umiescic ten kalendarzy u siebie zamiast tego co teraz mam... questionmark.gif
bo kombinuje i nie bardzo wychodzi sad.gif
Liko
Hmm...Robisz stronę HTML, na niej robisz formularz i jedno pole - input text. Tam przypisujesz tę funkcję JS. Mniej więcej tak:
  1. <title>Nazwa strony</title>
  2.  
  3.  
  4. <script type="text/javascript" src="CalendarPopup.js"></script>
  5. <script type="text/javascript">
  6. var cal = new CalendarPopup("testdiv");
  7. document.write(getCalendarStyles());
  8. </script>
  9. </head>
  10. <form name="example" method="get">
  11. <input name="date1" value="" size="25" type="text">
  12. <a href="#" onclick="cal.select(document.forms['example'].date1,'anchor1','MM-dd-yyyy'); return false;" name="anchor1" id="anchor1">Kalendarz</a>
  13. </form>
  14.  
  15. <div id="testdiv"></div>
  16.  
  17. </body></html>


Zapisujesz plik http://www.mattkruse.com/javascript/calend...alendarPopup.js do folderu gdzie masz plik HTML i wszystko działa winksmiley.jpg
Chrom
Można tak:

  1. <?php
  2. $dzien = date("d");
  3. echo "<input name=\"dzien\" type=\"text\" value=\"$dzien\" size=\"15\" style=\"font-size: 13px; \" onfocus=\"if(this.value=='$dzien')this.value=''\"onblur=\"if(this.value=='')this.value='$dzien'\" />";
  4. ?>


oczywiście dla roku miesiąca itd
kosmic
Cytat(Liko @ 21.12.2007, 23:31:07 ) *
Hmm...Robisz stronę HTML, na niej robisz formularz i jedno pole - input text. Tam przypisujesz tę funkcję JS. Mniej więcej tak:
  1. <title>Nazwa strony</title>
  2.  
  3.  
  4. <script type="text/javascript" src="CalendarPopup.js"></script>
  5. <script type="text/javascript">
  6. var cal = new CalendarPopup("testdiv");
  7. document.write(getCalendarStyles());
  8. </script>
  9. </head>
  10. <form name="example" method="get">
  11. <input name="date1" value="" size="25" type="text">
  12. <a href="#" onclick="cal.select(document.forms['example'].date1,'anchor1','MM-dd-yyyy'); return false;" name="anchor1" id="anchor1">Kalendarz</a>
  13. </form>
  14.  
  15. <div id="testdiv"></div>
  16.  
  17. </body></html>


Zapisujesz plik http://www.mattkruse.com/javascript/calend...alendarPopup.js do folderu gdzie masz plik HTML i wszystko działa winksmiley.jpg


zrobilem tak jak mowisz i zonk.... klikam na kalendarz i nic sie nie dziej, poza pokazaniem # za adresem
Liko
Zapisałeś plik ze skryptem js w katalogu ze stroną HTML?
kosmic
no tak exclamation.gif!

i dlatego pisze, bo nie działa sad.gif
Liko
...Dziwne...bo to jest jedyna przyczyna, dla której może nie działać...Spakowane pliki, które działają u mnie: http://chomikuj.pl/Klomaster/Dokumenty/calendar.zip
kosmic
Cytat(Liko @ 21.12.2007, 23:51:02 ) *
...Dziwne...bo to jest jedyna przyczyna, dla której może nie działać...Spakowane pliki, które działają u mnie: http://chomikuj.pl/Klomaster/Dokumenty/calendar.zip


ej,... no Twoje działają sad.gif

bezsens.... zaraz porównam, ale plik html skopiowałem tenkótry Ty wkleiłes..... i js sciagnołem do tego katalogu

edit:
moj plik CalendarPopup.js wyglada inaczej niz Twoj.. ja go sciagnolem z tamtej strony nie z linka który podałes, moze dlatego...
no i twoj działa

ale teraz czy jest mozliwosc by bylo po polsku, te miesiace itp questionmark.gif
no i format daty czy jest mozliwosc zmiany questionmark.gif
na Y-M-D bo taki mam zapisywany w bazie wiec pole formularza musi byc takie same, z takim samym formatem..

no i jak wogole bedzie to zapytanie wtedy wydladało questionmark.gif
Liko
W pliku z JS masz miesiące i dni po angielsku. Przetłumacz sobie i zamień. Jeżeli chcesz sformatować datę: yyyy-MM-dd (np.: 2007-12-22) zmień: cal.select(document.forms['example'].date1,'anchor1','MM-dd-yyyy'); na cal.select(document.forms['example'].date1,'anchor1','yyyy-MM-dd'); Zapytanie normalnie. Musisz dobrze poustawiać formularz (jak wcześniej miałeś). Tzn. metodę, gdzie ma wysyłać, w pliku gdzie odbierasz dane przesłane z tego używasz pola o nazwie: date1.
kosmic
hmmmmm....

skoro mam juz ten kalendarz, to teraz chce aby to działało tak:
mam formularz a w nim dwa pola:
pole1: wybierz date od (przycisk do kalendarza)
pole2: wybierz date do (przycisk do kalendarza)

no i po wybraniu daty w obu polach, przypisac te daty do zmiennej: $dateod i $datedo no i wykonac zapytanie do bazy danych celem sprawdzenia czy cos spelnia kryteria zawarte pomiedzy $dateod a $datedo questionmark.gif

nie wiem czy dobrze mysle i czy to zadziała questionmark.gif

czy skoro mam date juz w formacie: YYYY-MM-DD i w bazie mam tak samo YYYY-MM-DD, to czy to wystarczy aby otrzymac jakies dane questionmark.gif

czy trzeba sprawdzac kazdy znak pokolei questionmark.gif nie wiem.... ucze sie dopiero i robie co moge... dlatego pytam...
a Ty kolego Liko ma odemnie pkt juz za to co mi pomogłes, smile.gif
wiec dzieki... i licze na dalszą pomoc

ps: tam na tej stronie co podales są rózne przyklady tych kalendarzy, no i powiedz mi jak teraz zastosowac ten kalendarz z css... bo chce sobie zmienic wtgla tego kalendarza i w css było by mi łatwiej bo kumam to
-kosmic-
no i jak zwykle schodzy.. i to pewnie nie przejdzie tak jak opisywalem wyzej sad.gif

otóz zrobilem formularz z dwoma polami, i jak wybieram daty jest ok, po nacisnieciu szukaj dane z formularza przypisywane sa do zmiennej, no i to działa, bo zrobilem wyswietlenie zmiennych po kilknieciu i sa daty im przypisane
"Wyniki dla: data dodania - od 2007-12-11 do 2007-12-25"

no i format daty jakby sie zgadzał itp... ale nie wyswietla zdjec.... wiec cos jest nie tak
a to zapytanie:
Kod
$zapytanie = mysql_query("SELECT * FROM foto WHERE $kryt BETWEEN $date1 AND $date2 ORDER BY $sort DESC LIMIT $limit");
$licz = mysql_num_rows($zapytanie);
while($wynik = mysql_fetch_array($zapytanie)) {


po prostu po wybraniu daty i kliknieciu, przypisuje daty do zmiennej, wyswietla zmienne i wykonuje to zapytanie, ale niestety nie wyswietla wyników sciana.gif

w bazie mam pole DATE o formacie 2007-12-22

czyli fizycznie tak jak ta z kalendarza....

POMOCY exclamation.gif!!!!
-kosmic-
aha... dam namiary jeszcze na kompletny moj plik wyszukiwarki:
link: http://cpaste.com/4365

POMOZCIE....
dadexix
hm... zmień
Kod
$zapytanie = mysql_query("SELECT * FROM foto WHERE $kryt BETWEEN $date1 AND $date2 ORDER BY $sort DESC LIMIT $limit");
$licz = mysql_num_rows($zapytanie);
na
Kod
$zapytanie = SELECT * FROM foto WHERE $kryt BETWEEN $date1 AND $date2 ORDER BY $sort DESC LIMIT $limit";
echo $zapytanie;
i usuń tę pentelkę, pokaże Ci się zapytanie.... teraz skopiuj nie naruszone do phpmyadmin, jeśli zadziała... to wiemy gdzie problem.. jak nie działa... też wiemy:P
kosmic
zrobiłem jak mówisz i tak:
wynikiem wykonania zapytania na stronie jest to:
SELECT * FROM foto WHERE data_dodania BETWEEN 2007-12-19 AND 2007-12-27 ORDER BY 1 DESC LIMIT 8

skopiowałem to w takiej postaci do phpmyadmin, weszłem do swojej bazy i wkleiłem i wykonałem
no i wyszło poprawnie, ale pokazało zero wyników:

MySQL zwrócił pusty wynik (zero rekordów). (Wykonanie zapytania trwało 0.0509 sekund(y)) zapytanie SQL: SELECT *
FROM foto
WHERE data_dodania
BETWEEN 2007 -12 -19
AND 2007 -12 -27
ORDER BY 1 DESC
LIMIT 8

link: foto

a nie wiem dlaczego tak jest sad.gif
nie rozumiem sad.gif
moze to jest spowodowane tym, ze wczesniej mialem w bazie pole "data_dodania" jako TIMESTAMP i zmieniłem na DATE questionmark.gif
no i dodaje date poprzez DATE('Y-m-m')
link do foto: zdjecie

to jak ktos pomoze questionmark.gif

bo nie wiem co sie dzieje ?
dodexix... pisałes ze wszystko jasne, ale nie dla mnie sad.gif

HELP

hmm... no i jak questionmark.gif
ktos wie o co chodzi questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.