Message

lamisse34 Messages postés 6 Statut Membre -  
Colbi97 Messages postés 643 Statut Membre -
bonjour,
je veux afficher un message d'erreur quand un patient prend un rendez vous qui déja pris voila mon script
<?php
include ('connexion.php');
if(isset($_POST['Submit2']))
{

$Heurdat=$_POST['Heurdat'];
$Nom=$_POST['Nom'];
$Prenom=$_POST['Prenom'];
$tel=$_POST['tel'];
$b=mysql_query("select rendez_vous where Heurdat_RDV='".$Heurdat."'");
while($d =mysql_fetch_array($b);
{
echo"Non disponible";}
{
mysql_query("insert into rendez_vous(Heurdat_RDV,Nom_pat,Pren_pat, Ntel_pat)
values('$Heurdat','$Nom','$Prenom','$tel')")or die(mysql_error());}
?>
<script type="text/javascript">
alert(" le rendez-vous est enregisté avec succés");
</script>
<?php
}
?>

2 réponses

  1. Colbi97 Messages postés 643 Statut Membre 12
     
    Bonjour,

    @Varec : OK, le code n'est pas opérationnel, mais on a tous commencé un jour et je ne pense pas que ton message l'aide beaucoup...

    @lamisse34 : En effet, en l'état actuel, ton code ne test pas la présence d'un rendez-vous dans ta base de données, on va essayer de t'expliquer pourquoi et comment t'en sortir.

    $b=mysql_query("select rendez_vous where Heurdat_RDV='".$Heurdat."'"); -> OK, là tu fait une requête pour voir si il existe déjà un rendez-vous à la date et l'heure choisie

    while($d =mysql_fetch_array($b);
    {
    echo"Non disponible";}
    -> là par contre tu fais une boucle demandant d'inscrire chaque ligne du résultat de ta requête dans une ligne d'une variable de type array nommé $d et d'afficher à l'écran "Non disponible" autant de fois qu'il y a de rendez-vous déjà présent en base.

    { -> D'où vient cette ouverture ?

    mysql_query("insert into rendez_vous(Heurdat_RDV,Nom_pat,Pren_pat, Ntel_pat)
    values('$Heurdat','$Nom','$Prenom','$tel')")or die(mysql_error());}
    -> et maintenant tu rentre le rendez-vous dans la bdd sans avoir réellement effectué ton test.

    Je te propose :

    $b=mysql_query("select rendez_vous where Heurdat_RDV='".$Heurdat."'"); -> on conserve la requête permettant de savoir si un rendez-vous existe déjà

    $nb_rdv = mysql_num_rows($b); -> on compte le nombre de rdv retrouvés dans la bdd et on inscrit ce nombre dans une variable nommée $nb_rdv

    if ($nb_rdv==0) { -> on regarde si le nombre de rendez-vous déjà présent est bien de 0

    mysql_query("insert into rendez_vous(Heurdat_RDV,Nom_pat,Pren_pat, Ntel_pat)
    values('$Heurdat','$Nom','$Prenom','$tel')")or die(mysql_error());}<ital> -> on rentre le rendez-vous dans la base

    <ital>?>
    <script type="text/javascript">
    alert(" le rendez-vous est enregisté avec succés");
    </script>
    <?php
    -> et on affiche ton message de succès

    } else { -> si le nombre de rendez-vous déjà présent est différent de 0

    ?>
    <script type="text/javascript">
    alert(" un rendez-vous existe déjà");
    </script>
    <?php }
    -> là j'ai juste repris ton message de réussite pour l'appliquer sur une erreur

    Fatal error: Call to undefined function think() in /me/head/brain.php on line 11
    In a world without walls and fences, who needs windows and gates ?
    0
  2. Varec
     
    Il n'y a aucune méthode de vérification dans le code que tu nous a mis ...
    il manque un rowcount () ou un mysql_num_rows avant de faire un echo...
    Le while est complétement inutile ici.

    bref, un peu baclée comme code...
    -1