Faire appel à p1.php ou p2.php dans action de formulaire selon une condition

Résolu/Fermé
djoab2021 - 15 juin 2021 à 16:46
 djoab2021 - 21 juin 2021 à 15:59
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
A voir également:

4 réponses

yg_be Messages postés 23509 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 1 avril 2025 Ambassadeur 1 574
15 juin 2021 à 17:07
bonjour,
le message d'erreur est-il secret?
0
jordane45 Messages postés 38458 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 avril 2025 4 740
Modifié le 15 juin 2021 à 17:17
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


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

Merci beaucoup pour votre aide précieuse.
0