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]