Faire appel à p1.php ou p2.php dans action de formulaire selon une condition [Résolu]

Signaler
-
 djoab2021 -
Bonjour,
je veux faire un update ou insert selon que l'enregistrement existe déjà dans la base mysql ou pas encore.
pour cela , j"ai calculé le nbre d'enregistrament qui répondent au champ clé recherché (voir partie php).
ensuite dans la partie html j'ai fait un if pour la balise <form> mais il me signale un message d'erreur. donc je crois qu'il existe un autre moyen pour résoudre mon problème.

je vous remercie d'avance pour votre aide.

voici mon code

/*partie php*/

$requete_cherche=$pdo->query("SELECT * FROM f_consulte WHERE num_consult=$num_consult");
$res_recherche = $requete_cherche->fetch();
$nbr_rech=count($res_recherche);



/* partie HTML*/


<div class="panel-body">
<?php if($nbr_rech == 0)
<form method="post" action="insert_medecins.php" enctype="multipart/form-data">
else
<form method="post" action="update_medecins.php" enctype="multipart/form-data"> ?>
<input type="hidden" name="idmalade" id="idmalade" class="form-control"
value="<?php echo $le_malade['idmalade']; ?>">

<div class="row my-row">
<section>
<label for="examen_clinique" class="control-label col-sm-2 text-top"> Examens Cliniques : </label>
<div class="col-sm-4">
<textarea name="examen_clinique" id="examen_clinique" cols="50" rows="5" wrap ="on" spellcheck = "false">
<?php echo $le_malade['examen_clinique']; ?> </textarea>
</div>

<label for="traitement_prescrit" class="control-label col-sm-2 text-top"> Traitement prescrit : </label>
<div class="col-sm-4">
<textarea name="traitement_prescrit" id="traitement_prescrit" cols="50" rows="5" wrap ="on" spellcheck = "false">
<?php echo $le_malade['traitement_prescrit']; ?> </textarea>
</div>

</section>
</div>

<button type="submit" class="btn btn-success" display:inline-block>
<span class="glyphicon glyphicon-save"></span>

Enregistrer
</button>
   
<button type="reset" class="btn btn-success" display:inline-block>
<span class="glyphicon glyphicon-remove"></span>

Annuler
</button>

</form>
</div>


Configuration: Windows / Chrome 91.0.4472.101

4 réponses

Messages postés
16448
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 juillet 2021
880
bonjour,
le message d'erreur est-il secret?
Messages postés
33137
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 juillet 2021
3 639
Bonjour,

A l'avenir, merci d'utiliser les balises de code lorsque tu postes du code sur le forum
Explications ( à lire ENTIEREMENT !! ) disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Ensuite, concernant ton souci,
code à corriger par :

<?php 
  if($nbr_rech == 0) {
?>
<form method="post" action="insert_medecins.php" enctype="multipart/form-data">
<?php
} else { 
?>
<form method="post" action="update_medecins.php" enctype="multipart/form-data"> ?>

<?php
 }
?>
<input type="hidden" name="idmalade" id="idmalade" class="form-control"
value="<?php echo $le_malade['idmalade']; ?>">


Perso, moi je ne ferai qu'un seul fichier php ( par exemple traitement_medecins.php )
Dans le formulaire, j'ajouterai un champ hidden contenant le num_consult ( ou null si il n'existe pas )
<input type="hidden" name="num_consult" value="<?php echo $res_recherche['num_consult']; ?>" >

Et dans le fichier traitement_medecins.php, il suffirait de faire un IF/ELSE pour faire, soit un INSERT soit un UPDATE


.
Cordialement,
Jordane
Merci beaucoup pour votre réponse.
je vais appliquer vos conseils et vous répondre si ça marche
j'ai utilisé la 2eme solution que vous avez proposé et ça marche trés bien.

Merci beaucoup pour votre aide précieuse.