Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak w prosty i szybki sposób
rafcio8405
post 3.06.2005, 20:09:09
Post #1





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 25.02.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Jak w prosty i szybki sposób zobaczyć czy jest dany rekord? Chodzi o to że mam tabele dzień (kal_day) gdzie jest są zapisywane daty w postaci RRRR-MM-DD i chcę określić czy w danym dniu była dodana notatka.


--------------------
...::: R @ F I & S @ L I :::...
PrivateServ
Go to the top of the page
+Quote Post
vala
post 3.06.2005, 20:42:07
Post #2





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 12.01.2005

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3.  
  4. $result = mysql_query('SELECT * FROM baza WHERE kal_day=RRRR-MM-DD');
  5.  
  6.  while($row = mysql_fetch_row($result))
  7.  {
  8. if(!empty($row[1]))
  9. { 
  10. echo 'cos tam jest';
  11. }  
  12.  
  13.  
  14.  
  15.  }
  16.  
  17.  
  18. ?>


--------------------
Warsztat: Easy PHP 1.7:Apache 1.3.27|PHP 4.3.3|PHPMYADMIn 2.5.3|MYSQL 4.0.15
Go to the top of the page
+Quote Post
dr_bonzo
post 3.06.2005, 20:51:51
Post #3





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Data jest stringiem wiec trzeba go o''owac:
  1. SELECT *
  2. FROM baza WHERE kal_day='RRRR-MM-DD'


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Kinool
post 4.06.2005, 00:37:35
Post #4





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

Ostrzeżenie: (0%)
-----


no mozna tez tak:
  1. SELECT 1
  2. FROM my_day WHERE day=NOW()

zwraca 1 jesli wpis istniej lub nic jesli go nie ma smile.gif


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post 4.06.2005, 05:27:54
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


A NOW() zwraca pelna date z czasem czy tylko dzien miesiac rok?


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Radarek
post 4.06.2005, 09:43:10
Post #6





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 23.05.2005

Ostrzeżenie: (0%)
-----


Cytat(dr_bonzo @ 2005-06-04 04:27:54)
A NOW() zwraca pelna date z czasem czy tylko dzien miesiac rok?

Kod
mysql> select NOW();
+---------------------+
| NOW()               |
+---------------------+
| 2005-06-04 10:42:32 |
+---------------------+
1 row in set (0.00 sec)
Go to the top of the page
+Quote Post
dr_bonzo
post 4.06.2005, 10:10:16
Post #7





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Wiem, lenistwo.
Ale teraz:
  1. SELECT 1
  2. FROM my_day WHERE day=NOW()

zwroci 1 gdy jest wpis z danego dnia | godziny, minuty, sekundy, a nie o to chodzilo.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Kinool
post 4.06.2005, 13:33:59
Post #8





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

Ostrzeżenie: (0%)
-----


NOW() jak by to powiedziec "dostosowuje" sie smile.gif i w tym przypadku zwraca tylko to co ciebie interesuje (zalezy jaki typ pola jest w tabeli)

pytanie dotyczylo jak szybko sprawdzic czy jest wpis z danego dnia, te zapytanie to robi!

Ten post edytował Kinool 4.06.2005, 13:35:10


--------------------
Go to the top of the page
+Quote Post
dr_bonzo
post 4.06.2005, 13:39:12
Post #9





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


pow( Lenistwo, 2 ); pewnie to w manualu jest opisane. Ale poza tym ciekawe rozwiazanie.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
sobstel
post 4.06.2005, 13:42:38
Post #10





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


dla wikszej wydajnosci dobrze tez dodac na koncu zapytania LIMIT 1


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
SongoQ
post 4.06.2005, 16:50:53
Post #11





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Cytat
dla wikszej wydajnosci dobrze tez dodac na koncu zapytania LIMIT 1


Jesli oczekujesz 1 rekordu to dadanie limit 1 powuduje spadek wydajnosci bo dodatkowo zadasz od bazy dodatkowej operacji, jesli spodziewasz sie wiecej rekordow a interesuje Cie czy istnieje wtedy limit jest ok. Dla pewnej ilosci rekordow mozna wykorzystac funkcje agregracji danych.


--------------------
Go to the top of the page
+Quote Post
rafcio8405
post 4.06.2005, 21:48:35
Post #12





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 25.02.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


dla jednego dnia tylko nota może być jedna ale nwesy może być ich wiele winksmiley.jpg


--------------------
...::: R @ F I & S @ L I :::...
PrivateServ
Go to the top of the page
+Quote Post
SongoQ
post 4.06.2005, 21:53:58
Post #13





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


No to dla newsow hm mozesz kobinowac i sprawdzac wydajnosc, jak to bedzie. Wtedy ten limit okaze sie ok. Wszystko kwestia testow i zlozonosci zapytania.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 13:10