Search the web
Sign In
New User? Sign Up
RoPHP · Lista de discutii despre PHP
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Message search is now enhanced, find messages faster. Take it for a spin.

Best of Y! Groups

   Check them out and nominate your group.

Messages

  Messages Help
Advanced
PHP+MySQL - cum sa faci un orar (program de functionare)?   Message List  
Reply Message #6878 of 6906 |
RE: [RoPHP] PHP+MySQL - cum sa faci un orar (program de functionare)?

Din Mysql o sa fie complicat, nu zic ca nu se poate face, dar e ca si
cum ai incerca sa faci curse cu tractoru. Scopul  tractoruui e sa traga
lucruri grele dupa el si sa nu se impotmoleasca.

Cred ca numaru de coloane trebuie determinat din PHP (mai ales ca e mai mult
relativa la layout decat la date).



Cand parsezi datele le bagi intr-un array cu key zi+user



while($row=mysql_fetch_array($result)){

  $dates[$row["user"]][$row["zi"]][]=datele ...

}



foreach($dates as $data){

  $elements=count($data)

  if($elements>1){

   multiple coloane

}

elseif($elements==1){

  o singura coloana

}

else{

  erroare, da-ti un email :D

}



}

--- On Sun, 3/15/09, Radu BIGHIU <radu@...> wrote:

From: Radu BIGHIU <radu@...>
Subject: RE: [RoPHP] PHP+MySQL - cum sa faci un orar (program de functionare)?
To: RoPHP@yahoogroups.com
Date: Sunday, March 15, 2009, 4:11 AM

Merci Mihai,

Deci pentru fiecare interval orar as avea cate o linie:

mysql> SELECT * FROM `orar`;
sau
mysql> SELECT * FROM orar WHERE medic_id=1;
+----+----------+------+-----------+----------+
| id | medic_id | zi   | ora_start | ora_end  |
+----+----------+------+-----------+----------+
|  1 |        1 |    1 | 09:00:00  | 11:00:00 |
|  2 |        1 |    1 | 15:00:00  | 18:00:00 |
|  3 |        1 |    2 | 14:00:00  | 20:00:00 |
|  4 |        1 |    3 | 09:00:00  | 11:00:00 |
|  5 |        1 |    3 | 15:00:00  | 18:00:00 |
|  6 |        1 |    4 | 09:00:00  | 20:00:00 |
|  7 |        1 |    5 | 09:00:00  | 11:00:00 |
|  8 |        1 |    5 | 15:00:00  | 18:00:00 |
+----+----------+------+-----------+----------+

//cauta medic care este luni dimineata la 10:30

mysql> SELECT * FROM orar WHERE zi=1 AND '10:30:00' BETWEEN ora_start AND
ora_end;

+----+----------+------+-----------+----------+
| id | medic_id | zi   | ora_start | ora_end  |
+----+----------+------+-----------+----------+
|  1 |        1 |    1 | 09:00:00  | 11:00:00 |
+----+----------+------+-----------+----------+

...Se pare ca functioneaza.


Acum, in php, cum pot genera un tabel care sa aiba doar 3 sau 5 coloane in
functie de intervalele orare?

Spre exemplu daca un medic lucreaza Lu-Mi de la 9 la 11 ar trebui sa generez
doar 3 coloane

+------+-----------+----------+
|    1 | 09:00:00  | 11:00:00 |
+------+-----------+----------+
|    2 | 09:00:00  | 11:00:00 |
+------+-----------+----------+
|    3 | 09:00:00  | 11:00:00 |
+------+-----------+----------+

Dar pentru un medic care lucreaza si dupa amiaza as genera 5 coloane.


+------+-----------+----------+----------+----------+
|    1 | 09:00:00  | 11:00:00 | 15:00:00 | 18:00:00 |
+------+-----------+----------+----------+----------+
|    2 | 09:00:00  | 11:00:00 | 15:00:00 | 18:00:00 |
+------+-----------+----------+----------+----------+
|    3 | 09:00:00  | 11:00:00 | 15:00:00 | 18:00:00 |
+------+-----------+----------+----------+----------+





________________________________________
From: RoPHP@yahoogroups.com [mailto:RoPHP@yahoogroups.com] On Behalf Of
Uricaru Mihai
Sent: Sunday, March 15, 2009 10:44 AM
To: RoPHP@yahoogroups.com
Subject: Re: [RoPHP] PHP+MySQL - cum sa faci un orar (program de
functionare)?

Pune 3 coloane doar:

date, start_time, end_time

In felul acesta si daca ai 5 intervale pentru un singur doctor intr-o zi, nu
ai probleme

Selectul o sa il faci ceva de genu "Select * from TABELA where date='DATA'
and cautare between start_time AND end_time)  "

Uitate la Between daca nu stii cum functioneaza:
http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html

Mihai

--- On Sat, 3/14/09, Radu BIGHIU <radu@...> wrote:

From: Radu BIGHIU <radu@...>
Subject: [RoPHP] PHP+MySQL - cum sa faci un orar (program de functionare)?
To: RoPHP@yahoogroups.com
Date: Saturday, March 14, 2009, 2:25 PM

Salut,
Doresc sa realizez o aplicatie in php care sa cuprinda o baza de date cu
medici in care sa poti cauta medicul disponibil la o anumita ora.

Programul de functionare al medicului este in urmatorul format:

L :  09:00 - 11:00, 15:00 - 18:00
M :  14:00 - 20:00
Mi : 09:00 - 11:00, 15:00 - 18:00
J:   09:00 - 14:00
V :  09:00 - 11:00, 15:00 - 18:00

Ma gandeam sa fac un table cu zilele saptamanii si sa am campurile: "medic",
"zi", "de_la" si "pana_la"

Dar nu stiu cum sa manipulez cazul in care programul de lucru intr-o zi este
si dimineata si dupa-amiaza.

Are cineva idée cum se poate face asta sau sa-mi indice cateva surse de
documentare?

Intrebarea mea este cum as putea sa tin orarul intr-o baza de date MySQL si
cum pot extrage medicii disponibili la o anumita ora?

Va multumesc!

Radu

------------------------------------

________________________________________
Ghidoo. Descopera internetul interesant
http://www.ghidoo.ro Yahoo! Groups Links

[Non-text portions of this message have been removed]




------------------------------------

________________________________________
Ghidoo. Descopera internetul interesant
http://www.ghidoo.ro Yahoo! Groups Links





[Non-text portions of this message have been removed]




Sun Mar 15, 2009 11:28 am

muricaru
Offline Offline
Send Email Send Email

Message #6878 of 6906 |
Expand Messages Author Sort by Date

Salut, Doresc sa realizez o aplicatie in php care sa cuprinda o baza de date cu medici in care sa poti cauta medicul disponibil la o anumita ora. Programul de...
Radu BIGHIU
brb_bart
Online Now Send Email
Mar 14, 2009
9:25 pm

Pune 3 coloane doar: date, start_time, end_time In felul acesta si daca ai 5 intervale pentru un singur doctor intr-o zi, nu ai probleme Selectul o sa il faci...
Uricaru Mihai
muricaru
Offline Send Email
Mar 15, 2009
9:43 am

Merci Mihai, Deci pentru fiecare interval orar as avea cate o linie: mysql> SELECT * FROM `orar`; sau mysql> SELECT * FROM orar WHERE medic_id=1; ...
Radu BIGHIU
brb_bart
Online Now Send Email
Mar 15, 2009
11:11 am

Din Mysql o sa fie complicat, nu zic ca nu se poate face, dar e ca si cum ai incerca sa faci curse cu tractoru. Scopul  tractoruui e sa traga lucruri grele...
Uricaru Mihai
muricaru
Offline Send Email
Mar 15, 2009
11:28 am

... cred ca cel mai simplu ar fi : creezi un tabel separat pt ore si atribui valori, pt ca dupa cate vad orele sant cam aceleasi si se repeta; pt intervalul...
vonkojak
Offline Send Email
Apr 6, 2009
11:28 am
Advanced

Copyright © 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help