Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Date <=> (manji jedna i veci)

[es] :: PHP :: Date <=> (manji jedna i veci)

[ Pregleda: 1077 | Odgovora: 16 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

-pixi-
dk

Član broj: 134302
Poruke: 23
..eneric-hostname.arrownet.dk.



Profil

icon Date <=> (manji jedna i veci)17.05.2007. u 22:08

Nisam znao dali da ovdje postavim ovo pitanje ili pod MySQL, ali evo ipak sam odlucio ovdje.

Znaci imam neke rezervacije koje medju ostalim sadrze polja od_datuma i do_datuma. Trebam da selektujem sve rezervacije koje su vece od nekog odredjenom datuma, ali mi nesto ne radi kako treba. Evo php kode koju koristim:

Code:

$od_mjeseca = 6;
$od_dana = 26;
$od_godine = 2007;

$od_datuma = mktime(0, 0, 0, $od_mjeseca, $od_dana, $od_godine);
$od_datuma = date("Y n j", $od_datuma);

$query = "SELECT * FROM rezervacije WHERE od_datuma > '$od_datuma';";

$rezultat = mysql_query($query) or die('Error, query failed');


ali kad $query ispisem sa echo onda mi ispise:
Citat:
SELECT * FROM rezervacije WHERE od_datuma > '2007 6 26';


Pokusao sam poslije da ubacim sledeci kod:
Code:
$query = "SELECT * FROM rezervacije WHERE od_datuma > '2007-6-26';";


Ali ni to nije pomoglo, zato molim ako neko zna zasto ovaj zadnji kod nece da radi kad ga koristim iz php a kada ga koristim direktno u MySql console onda radi kako treba

U naprijed vam puno Hvala
17.05.2007. u 22:08 

mVeliki
Miroslav Ćurčić
Novi Sad

Član broj: 19034
Poruke: 678
*.dynamic.sbb.co.yu.



Profil

icon Re: Date <=> (manji jedna i veci)18.05.2007. u 09:59
Jel radi ovako:

Code:
$od_datuma = mktime(0, 0, 0, $od_mjeseca, $od_dana, $od_godine);

$query = "SELECT * FROM rezervacije WHERE od_datuma > $od_datuma";

"The quieter you become, the more you are able to hear."
18.05.2007. u 09:59 

-pixi-
dk

Član broj: 134302
Poruke: 23
..eneric-hostname.arrownet.dk.



Profil

icon Re: Date <=> (manji jedna i veci)18.05.2007. u 18:46
To ranije nisam pokusavao, ali evo sad sam pokusao i ni to neradi tom sintaksom $query mi bude ovakav:

$query = SELECT * FROM rezervacije WHERE od_datuma > '1182808800';

koliko ja znam mktime pravi integer koji je broj sekundi od 1970 ili tako nesto, zato to u sustini nebi trebalo da radi. Ipak hvala na odgovoru. Nadam se mVeliki da imas jos kojiu ideju ili neko drugi ako moze?
18.05.2007. u 18:46 

glavince
Ohrid/Macedonia

Član broj: 66412
Poruke: 246
62.162.91.*

Sajt: ohridnews.com


Profil

icon Re: Date <=> (manji jedna i veci)18.05.2007. u 21:09
A u kom formatu je upisan "od_datuma" u bazi?
18.05.2007. u 21:09 

-pixi-
dk

Član broj: 134302
Poruke: 23
..eneric-hostname.arrownet.dk.



Profil

icon Re: Date <=> (manji jedna i veci)18.05.2007. u 21:24
Pa kao sto rekoh u prvoj poruci kada mi je sledeci:
Code:
$query = "SELECT * FROM rezervacije WHERE od_datuma > '2007-6-26';";
onda radi.. ja ne znam jeli ti mislis na taj format, UTF-8 Unicode ili nesto drugo!?
18.05.2007. u 21:24 

Whois

Član broj: 92214
Poruke: 34
195.252.79.*



Profil

icon Re: Date <=> (manji jedna i veci)18.05.2007. u 23:34
format zapisa datuma u mysql ti je yyyy-mm-dd hh:mm:ss zbog toga nece da ti radi ni jedan primer.

1. izmeni
$od_datuma = date("Y n j", $od_datuma);

u

$od_datuma = date("Y-m-d", $od_datuma);


2. a ovo: $query = "SELECT * FROM rezervacije WHERE od_datuma > '2007-6-26';";

u ovo:

$query = "SELECT * FROM rezervacije WHERE od_datuma > '2007-06-26';";
18.05.2007. u 23:34 

-pixi-
dk

Član broj: 134302
Poruke: 23
..eneric-hostname.arrownet.dk.



Profil

icon Re: Date <=> (manji jedna i veci)19.05.2007. u 00:12
Format mi se prepravio ali mi jos uvjek dobijam poruku: Error, query failed Format je sad kako treba biti, samo sto rezultat ovoga query:
Code:
$result  = mysql_query($query) or die('Error, query failed');
bude Error, query failed
19.05.2007. u 00:12 

afwt
AF Web Team
Novi Sad/Chicago

Član broj: 8220
Poruke: 327
*.hsd1.il.comcast.net.

Sajt: milos.srdjevic.net/blog


Profil

icon Re: Date <=> (manji jedna i veci)19.05.2007. u 09:24
Onda ti ne valja upit. Ili nema tabele, ili nema polja, ali u svakom slucaju nemoguce je reci na slepo.

Procitaj sta radi funkcija mysql_error() i koristi nju da skontas sta ne valja u upitu. Samo tako ces znati.
ZelenaLutrija.com - Saznajte sve o lutriji za zelenu kartu (doživotni boravak u Sjedinjenim Američkim Državama)
19.05.2007. u 09:24 

glavince
Ohrid/Macedonia

Član broj: 66412
Poruke: 246
62.162.91.*

Sajt: ohridnews.com


Profil

icon Re: Date <=> (manji jedna i veci)20.05.2007. u 15:57
Ako ti je format u bazi datetime t.e. yyyy-mm-dd hh:mm:ss

kod bi trebao da bude sledeci:
Code:

$od_datuma = '2007-6-26';
$query = "SELECT * FROM rezervacije WHERE date_format(od_datuma,'%Y-%m-%d') > '".$od_datuma."'";

20.05.2007. u 15:57 

-pixi-
dk

Član broj: 134302
Poruke: 23
..eneric-hostname.arrownet.dk.



Profil

icon Re: Date <=> (manji jedna i veci)20.05.2007. u 22:19
Citat:
Onda ti ne valja upit. Ili nema tabele, ili nema polja, ali u svakom slucaju nemoguce je reci na slepo.

Procitaj sta radi funkcija mysql_error() i koristi nju da skontas sta ne valja u upitu. Samo tako ces znati.


Evo znaci pobjednickog odgovora :D hehe nije skroz ali mi je pomogao da shvatim u cemu je problem. Znaci sa ovom sintaksom:
Code:
SELECT * FROM rezervacije WHERE od_datuma > '2007-06-26';
Dobio sam, koristeci mysql_error(), sledecu poruku: Unknown column 'od_datuma' in 'where clause'
Poslije cega sam prepravio svoj select u:
Code:
SELECT * FROM rezervacije WHERE 'od_datuma' > '$od_datuma';

i odmah je cudo proradilo :). Znaci jedino sto je bilo potrebno je da stavim 'od_datuma' pod navodnike i sve je bilo uredu.
Hvala svima na pomoci i afwt-u na ideji da koristim mysql_error(). Ovakve stvari stvarno covjeka naljute jer je pitanje o dva znaka koja cine svu razliku a koliko sam ja mogao da vidim u primjerima googl-ajuci nisu bile potrebni navodni znaci.

Eto naucise i experti nesto hehe :) Hvala PoZ
20.05.2007. u 22:19 

mVeliki
Miroslav Ćurčić
Novi Sad

Član broj: 19034
Poruke: 678
*.dynamic.sbb.co.yu.



Profil

icon Re: Date <=> (manji jedna i veci)21.05.2007. u 11:28
Mislim da nisi dobio ništa,
trebalo ti je filtriranje liste po vrednosti kolone od_datuma a ti si mu sad zadao da poredi dva konstatna stringa čime dobijaš isti odgovor za sve redove tabele.
Lepo ti piše da kolona (polje) s tim imenom ne postoji, najverovatnije si pogrešio u nekom slovu.
"The quieter you become, the more you are able to hear."
21.05.2007. u 11:28 

-pixi-
dk

Član broj: 134302
Poruke: 23
..eneric-hostname.arrownet.dk.



Profil

icon Re: Date <=> (manji jedna i veci)22.05.2007. u 22:04
mVeliki moze biti da si upravu jer i ako ne dobije mysql error onda mi pokaze da ima vise polja u bazi nego sto bi trebalo da ima. Tako da izgleda jos nisam rjesio svoj problem. Cini mi se da si upravu da poredim char-vrijednost 'od_datuma' sa vrijednosti koju ima odredjeno polje.
Znaci kad maknem navodnike od_datuma onda mi kaze da: Unknown column 'od_datuma' in 'where clause' a polje postoji u biranoj tabeli, tako da ne razumim zasto dobijam ovu poruku. Ponovo molim da dodjete sa nekim predlozima za korigovanje ovog select query-a.

Hvala unaprijed
22.05.2007. u 22:04 

dakipro
Dalibor Jovic
PHP Developer, SMDesign, Ciplex
Novi Sad

Moderator
Član broj: 31848
Poruke: 741
*.adsl.beotel.net.



Profil

icon Re: Date <=> (manji jedna i veci)22.05.2007. u 22:51
Uzmi iz phpMyAdmin-a i Exportuj strukturu te tabele, pa postuj ovde sql naredbu za pravljenje te tabele, jer ovo nije nikakva nauka, vec vrlo verovatno neki trivijalni propust, mozda ne tvojom krivicom. Znaci, daj ovde strukturu baze, pa da vidimo sta se tu sve desava.
22.05.2007. u 22:51 

-pixi-
dk

Član broj: 134302
Poruke: 23
..eneric-hostname.arrownet.dk.



Profil

icon Re: Date <=> (manji jedna i veci)23.05.2007. u 19:03
Evo i strukture pravljena uz pomoc PhpMyAdmin:


Code:

-- 
-- Structure-dump for table `rezervacije`
-- 

CREATE TABLE `rezervacije` (
  `id_rezervacije` varchar(7) NOT NULL,
  `id_sobe` int(11) NOT NULL,
  `lezaja` tinyint(10) NOT NULL,
  `status` tinyint(4) NOT NULL,
  `ime` varchar(50) NOT NULL,
  `prezime` varchar(50) NOT NULL,
  `adresa` varchar(100) NOT NULL,
  `telefon` varchar(20) NOT NULL,
  `email` varchar(50) NOT NULL,
  `komentar` varchar(500) NOT NULL,
  `od_datuma` date NOT NULL,
  `do_datuma` date NOT NULL,
  `registrovno_dana` date NOT NULL,
  PRIMARY KEY  (`id_rezervacije`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
23.05.2007. u 19:03 

pajko111
PHP/MySQL Developer 1 klase po ugovoru
Pancevo

Član broj: 89073
Poruke: 31
212.200.115.*

Sajt: www.scriptfanatic.com


Profil

icon Re: Date <=> (manji jedna i veci)23.05.2007. u 19:53
Sefe probaj ovo

Code:

$od_mjeseca = 6;

$od_dana = 26;
$od_godine = 2007;
$od_datuma = mktime(0, 0, 0, $od_mjeseca, $od_dana, $od_godine);
$od_datuma = date("Y-m-d", $od_datuma);
echo $od_datuma;//Treba da ti ispise 2007-06-26
$query="SELECT * FROM rezervacije WHERE od_datuma > '$od_datuma'";
$result = mysql_query($query) or die('Error, query failed');


Kod mene ovo radi.
U bazi je format polja DATETIME ali trebalo bi da moze i DATE kao sto je kod tebe.
Pretpostavljam da je ceo problem u tome sto si prevideo da imas dva puta ; u queriju.

Nadam se da je bilo od pomoci:)
Moj kung-fu je bolji od tvog kung-fua.
23.05.2007. u 19:53 

-pixi-
dk

Član broj: 134302
Poruke: 23
..eneric-hostname.arrownet.dk.



Profil

icon Re: Date <=> (manji jedna i veci)23.05.2007. u 22:21

Eto pokusao sam da konvertujem DATE u DATETIME ali ni to nije pomoglo! Ako si pratio temu onda sam gore ranije napisao da mi je query tacan i da radi u consol-i. Ali iz PHP-a mi neradi... :S
23.05.2007. u 22:21 

BorisMB
Boris Maksimovic
Pljevlja-Beograd

Član broj: 145101
Poruke: 42
*.adsl-1.sezampro.yu.



Profil

icon Re: Date <=> (manji jedna i veci)23.05.2007. u 23:16
Citat:
pajko111: Sefe probaj ovo

Code:

$od_mjeseca = 6;

$od_dana = 26;
$od_godine = 2007;
$od_datuma = mktime(0, 0, 0, $od_mjeseca, $od_dana, $od_godine);
$od_datuma = date("Y-m-d", $od_datuma);
echo $od_datuma;//Treba da ti ispise 2007-06-26
$query="SELECT * FROM rezervacije WHERE od_datuma > '$od_datuma'";
$result = mysql_query($query) or die('Error, query failed');


Kod mene ovo radi.
U bazi je format polja DATETIME ali trebalo bi da moze i DATE kao sto je kod tebe.
Pretpostavljam da je ceo problem u tome sto si prevideo da imas dva puta ; u queriju.

Nadam se da je bilo od pomoci:)


Burazeru kako sam razumio ti trebas da dobijes na izlazu koje su sve rezervacije koje su validne znaci koje nisi istekle a ti u upitu koristis kljuc od_datuma
Citat:
-pixi-:
CREATE TABLE `rezervacije` (
`id_rezervacije` varchar(7) NOT NULL,
`id_sobe` int(11) NOT NULL,
`lezaja` tinyint(10) NOT NULL,
`status` tinyint(4) NOT NULL,
`ime` varchar(50) NOT NULL,
`prezime` varchar(50) NOT NULL,
`adresa` varchar(100) NOT NULL,
`telefon` varchar(20) NOT NULL,
`email` varchar(50) NOT NULL,
`komentar` varchar(500) NOT NULL,
`od_datuma` date NOT NULL,
`do_datuma` date NOT NULL,
`registrovno_dana` date NOT NULL,
PRIMARY KEY (`id_rezervacije`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
[/code]

a ti imas i kolonu do_datuma to znaci da je greska samog upita tj. da si selektovo pogresan kljuc jer normalno je da je svaki da posle dana rezervacije veci od od dana rezervacije znaci ide
Code:
 $query="SELECT * FROM rezervacije WHERE do_datuma > '$datum'";

ja cu samo da ti dam predlog ako dautmu koristis samo za ovo ovde to jeste da ti nije potreban u obliku 10.05.2007 preporucio bih ti da vrijednos datuma stavis u int tip int[8] to je maksimalna duzina godine i da ide u obliku 20070510 svaki naredni dan ima vecu vrijednos od ove. to sam tako koristio ja u jedoj lokalnoj aplikaciji za jednu prodavnicu gdje je admin imao jedu opciju "istekle porudzbine" na koju dobija listu svih isteklih porudzbina koje nisu uplacene i imao je da svakom racunu koji nije naplacen ostampa prijavu i da jos jedno dugme sa koima automacki stampa sve istekle neplacene porudzbine
kod je isao nesto ovako:
$query="SELECT * FROM racuni WHERE rok - '$datuma' < 0 ";
covjek mi se nije ni jednom pozalio za vec 11 mjeseci
to ti je moj predlog a pogledaj jesam li bio upravu za kljuc u tvom upitu
23.05.2007. u 23:16 

[es] :: PHP :: Date <=> (manji jedna i veci)

[ Pregleda: 1077 | Odgovora: 16 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.