2 L'implémentation des données et des
traitements
On va prendre quelques exemples de code source de quelques
fonctionnalités de notre site :
2.1 Code de
recherche d'un médecin
<?php
session_start();// ouverture de la session
header('Content-type: text/html; charset=UTF-8');
$cnx = mysql_connect( "localhost", "root", "" ) ; //connexion
au serveur
$db = mysql_select_db( "dawi.dz" ) ; // selection de la
base de donnée
mysql_query("SET NAMES 'utf8'"); //format des
caractères des résultats desrequêtes
$mon_tableau = array();
$tabd=array();
$tabr=array();
$table_af=array();
$lat=doubleval($_POST['Latitude1']);
$long=doubleval($_POST['Longitude1']);
$sel=$_POST['nom'];
if ($sel==='nom'){ // la recherche par nom
$pse=$_POST['nom_med'];
$req="select * from medecin where valide_med = 1 AND
nom_med='".$pse."' or nom_med LIKE '%".$pse."%' or prenom_med='".$pse."' or
prenom_med LIKE '%".$pse."%'" ;
$res =mysql_query($req);
while($resultat =mysql_fetch_assoc($res)){
$mon_tableau[] = $resultat['id_med'];
}}else { // la recherche par spécialité
$specialite=$_POST['select'];
$req="select * from specialite where
nom_specialite='".$specialite."'";
$res = mysql_fetch_array(mysql_query($req));
$spece=$res['id_spec'];
$re="select * from med_spec where id_spec='".$spece."'";
$resss = mysql_query($re);
while($resultat =mysql_fetch_assoc($resss)){
$mon_tableau[] = $resultat['id_med'];
} }
for($i=0;$i<sizeof($mon_tableau);$i++) {
$don= ucfirst($mon_tableau[$i]);
$reqq= "select * from medecin where id_med='".$don."' and
valide_med= 1";
$ress = mysql_fetch_array(mysql_query($reqq));
$id_med = stripslashes($ress['id_med']);
$latb=$ress['latitude_med'];
$longb = $ress['longitude_med'];
$dis= sqrt(pow($longb - $long,2)+pow($latb - $lat,2)); //
le calcule de la distance entre le patient et les médecins
$tabd[$id_med]=array($dis);
}
asort($tabd); // le tri des distances
foreach($tabd as $key => $value){
$tabr[]=$key; }?>
2.2 Code de la
prise de rendez-vous
<?php
$req="select * from calendrier whereid_med='".$id_med."'"; //
récupération des informations concernant le temps de travail de
médecin choisit
$res = mysql_fetch_array(mysql_query($req));
$jd=$res['jour_d'];
$jf=$res['jour_f'];
$hd=$res['heur_d'];
$hf=$res['heur_f'];
$tc=$res['temps_c'];
$semaine=array('samedi','dimanche','lundi','mardi','mercredi', 'jeudi',
'vendredi');
$jdi=0;
for($i=0;$i<sizeof($semaine);$i++){
if ($semaine[$i]===$jd){
$jdi=$i;
} }
$jfi=0;
for($i=0;$i<sizeof($semaine);$i++){
if ($semaine[$i]===$jf){
$jfi=$i;
} }
$jourt=array();
$z=0;
for($i=$jdi;$i<=$jfi;$i++){
$jourt[$z]=$semaine[$i];
$z+=1; }
$parsedhd = date_parse($hd);
$hds = $parsedhd['hour'] * 3600 + $parsedhd['minute'] * 60 +
$parsedhd['second'];
$parsedhf = date_parse($hf);
$hfs = $parsedhf['hour'] * 3600 + $parsedhf['minute'] * 60 +
$parsedhf['second'];
$debut_mois = date("m");
$debut_jour = date("d")+1;
$debut_annee =date("Y");
$fin_mois = $debut_mois +1;
$fin_jour = $debut_jour ;
$fin_annee = $debut_annee;
$debut_date = mktime(0, 0, 0, $debut_mois, $debut_jour,
$debut_annee);
$fin_date = mktime(0, 0, 0, $fin_mois, $fin_jour,
$fin_annee);
?>
<h1>Calendrier du médecin</h1> // code
d'affichage du calendrier de médecin
<thead>
<tr>
<?php
for($i = $debut_date; $i<= $fin_date; $i+=86400)
{ ?>
<th scope="col" data-tablesaw-sortable-col
data-tablesaw-sortable-default-col data-tablesaw-priority="3" style= " color :
white ; background-color : #3391E7"><?php echo strftime("%A %d %B
%Y",$i); ?></th>
<?php } ?></tr>
<?php
for($j = $hds; $j <= $hfs; $j+=$tc*60)
{
echo "<tr>" ;
$col=1;
for($i = $debut_date; $i<= $fin_date; $i+=86400)
{$bo=false;
for($l=0;$l<sizeof($tab_f);$l++){
$jf=$tab_f[$l];
$df=date("Y-m-d",$i);
if($df===$jf){
$bo=true;}}
$bool=false;
$jour=strftime("%A",$i);
for($k=0;$k<sizeof($jourt);$k++){
if($jour===$jourt[$k]){
$bool=true;}}
if($bo===false){
if($bool===true){
$dd=date("Y-m-d",$i);
$hh= date("H:i:s",$j);
$dh=$dd." ".$hh;
$dhs = strtotime($dh);
$dhss=date('Y-m-d H:i:s', $dhs);
$bol=false;
for($m=0;$m<sizeof($mon_tableau);$m++)
{ $don= $mon_tableau[$m];
$dons = strtotime($don);
$donss=date('Y-m-d H:i:s', $dons);
if($donss===$dhss){
$bol=true;}}
if($bol===false){
if($col===1){ // temps disponible
echo "<td><input type='radio' name='inscrit'
value='$dhss' required/> $hh</td> ";
$col=0;} else {
echo "<td style= 'color : white ; background-color :
#C0C0C0'><input type='radio' name='inscrit' value='$dhss' required/>
$hh</td> " ;
$col=1;}}else {// temps réservé en orange
echo "<td style= ' color : white ; background-color :
#FFA500'>reservé</td>";
if($col===1){
$col=0;}else{
$col=1 }} }else{ // jour annulé ou hors de travail en
rouge
echo "<td style= 'background-color :
#FF6347'></td>";}}else{
echo "<td style= ' background-color :
#FF6347'></td>";}} </tr>
<?php } ?>
</tbody>
</table>
|