Insertion dans la base de donnee
karango
Messages postés
80
Date d'inscription
Statut
Membre
Dernière intervention
-
karango Messages postés 80 Date d'inscription Statut Membre Dernière intervention -
karango Messages postés 80 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai voudrais mettre en place un script php qui permetera au utilisateur de faire l'insertion de deux table a meme temp. le projet c'est la gestion d'ordonnance. les tables concernee sont:
consultations, ordonnane, medicamrnts, contenue_ordonnances. la table consultation et medicament sont déjà alimente, maintenant le probleme c'est de pouvoir inserer les deux autre ( ordonances et contenue_ordonnances) en un seul clic.
voici le formulaire.

je vais vous expliquer le fonctionnemet, le formulaire permet de gerer l'ordonnance et le contenue de l'ordonnance (ligne ordonnance).
le champ patient concerne l'ordonnance, les autres champ concernent contenue_ordonnances.
maintenant je veux que en ciliquant sur button Ajouter le script insert dans la table ordonnances et contenue_ordonnances en laissant les lignes vide, c'est-à-dire dans le formulaire il ya 5 ligne predefini pour le contenue_ordonnances, supposons que l'ordonnance ne contienne que 3 lignes, donc le script doit prendre les 3 lignes renseigne et laisser les 2 lignes vide.
merci en envance.
juste quelque remarq,
je utilise POSTGRESQL comme systeme de getion de donnee, et les table sont compose de:
Ordonnance (id_or, id_con(identifient de la table consultation) et le num_or (numero d'ordonance qui est auto generer)).
contenue_ordonnances(id, id_or((identifient de la table ordonnance),id_med((identifient de la table medicament), mesure et le quantite a acheter.
j'ai voudrais mettre en place un script php qui permetera au utilisateur de faire l'insertion de deux table a meme temp. le projet c'est la gestion d'ordonnance. les tables concernee sont:
consultations, ordonnane, medicamrnts, contenue_ordonnances. la table consultation et medicament sont déjà alimente, maintenant le probleme c'est de pouvoir inserer les deux autre ( ordonances et contenue_ordonnances) en un seul clic.
voici le formulaire.

je vais vous expliquer le fonctionnemet, le formulaire permet de gerer l'ordonnance et le contenue de l'ordonnance (ligne ordonnance).
le champ patient concerne l'ordonnance, les autres champ concernent contenue_ordonnances.
maintenant je veux que en ciliquant sur button Ajouter le script insert dans la table ordonnances et contenue_ordonnances en laissant les lignes vide, c'est-à-dire dans le formulaire il ya 5 ligne predefini pour le contenue_ordonnances, supposons que l'ordonnance ne contienne que 3 lignes, donc le script doit prendre les 3 lignes renseigne et laisser les 2 lignes vide.
merci en envance.
juste quelque remarq,
je utilise POSTGRESQL comme systeme de getion de donnee, et les table sont compose de:
Ordonnance (id_or, id_con(identifient de la table consultation) et le num_or (numero d'ordonance qui est auto generer)).
contenue_ordonnances(id, id_or((identifient de la table ordonnance),id_med((identifient de la table medicament), mesure et le quantite a acheter.
A voir également:
- Insertion dans la base de donnee
- Base de registre - Guide
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
3 réponses
Bonjour,
Comment as-tu nommé les différents champs dans "Médicaments", "Mesure", "Quantité) ?
Est-ce que tu pourrais poster tout le code de ton formulaire ?
Comment as-tu nommé les différents champs dans "Médicaments", "Mesure", "Quantité) ?
Est-ce que tu pourrais poster tout le code de ton formulaire ?
J'ai du modifier un peu le code du formulaire :
<?php
include '../../layout/layout.php';
$nom_pa=$_GET['nom_pa'];
$prenom_pa=$_GET['prenom_pa'];
$nom_me=$_GET['nom_me'];
$prenom_me=$_GET['prenom_me'];
$date_con=$_GET['date_con'];
$id_con=$_GET['id_con'];
echo '<br /><br />';
echo '<div id="contenair">';
echo '<div class="row">';
echo '<div class="col-xs-12 col-md-6 col-md-offset-3">';
echo '<form class="form-horizontal well bg-form" method="POST" action="ordonnances.php">';
echo '<fieldset class="fieldset">';
echo '<!-- Form Name -->';
echo '<legend><h2>Création d\'Ordonnance</h2></legend>';
echo '<input type="hidden" name="req" value="I">';
echo '<input type="hidden" name="id_con" value="'.$id_con.'">';
echo '<input type="hidden" name="nom_pa" value="'.$nom_pa.'">';
echo '<input type="hidden" name="prenom_pa" value="'.$prenom_pa.'">';
echo '<input type="hidden" name="nom_me" value="'.$nom_me.'">';
echo '<input type="hidden" name="prenom_me" value="'.$prenom_me.'">';
echo '<input type="hidden" name="date_con" value="'.$date_con.'">';
echo '<!-- Champ nom-->';
echo '<div class="form-group">';
echo '<label class="col-md-3 control-label" for="cod_or1">patient</label>';
echo '<div class="col-md-7">';
echo '<input id="cod_or1" name="id_con" value="'.$nom_pa.' '.$prenom_pa.'" class="form-control input-md input-size" readonly required="" type="text">';
echo '</div>';
echo '</div>';
echo '<table id="students" class="table table-striped table-hover table-condensed display">';
echo '<tr>';
echo '<th>Medicaments</th>';
echo '<th>Mesure</th>';
echo '<th>Quantite</th>';
echo '</tr>';
echo '</thead>';
$i=1;
while ($i <= 5) {
$id_med='id_med'.$i
$measur='measur'.$i
$qte='qte'.$i
$requete=pg_query($conn, "select * from medicaments order by nom_med");
echo '<tbody>';
echo '<tr>';
echo '<td>';
echo '<select name=$id_med class="form-control">';
while ($line=pg_fetch_assoc($requete)) {
echo '<option value="'.$line['id_med'].'">'.$line['nom_med'].'</option>';
}
echo '</select>';
echo '</td>';
echo '<td>';
echo '<input name=$measur class="form-control input-md" type="text">';
echo '</td>';
echo '<td>';
echo '<input name=$qte class="form-control input-md" type="text">';
echo '</td>';
echo '</tr>';
$i++;
}
echo '</tbody>';
echo '</table>';
echo '<hr />';
echo '<!-- Button (Double) -->';
echo '<div class="form-group">';
echo '<label class="col-md-3 control-label" for="button1id"></label>';
echo '<div class="col-md-4">';
echo '<button class="btn btn-info">Ajouter</button> ';
echo '<a href="../consultations/consultations.php" rel="nofollow noopener noreferrer" target="_blank"><span><button class="btn btn-sup">Annuler</button></span></a>';
echo '</div>';
echo '</div>';
echo '</fieldset>';
echo '</form>';
echo '</div>';
echo '</div>';
echo'</div>';
?>
Voilà la page ordonnances.php :
<?php
// on définit les variables
$dbname = nom de la base;
$user = root;
$password = mot de passe;
$req = $_POST['req'];
$id_con = $_POST['id_con'];
$nom_pa = $_POST['nom_pa'];
$prenom_pa = $_POST['prenom_pa'];
$nom_me = $_POST['nom_me'];
$prenom_me = $_POST['prenom_me'];
$date_con = $_POST['date_con'];
// on définit un tableau en 2 dimensions
$ordonnance = array( 'ligne1' => array( $_POST[$id_med1], $_POST[$measur1], $_POST[$qte1] ),
'ligne2' => array( $_POST[$id_med2], $_POST[$measur2], $_POST[$qte2] ),
'ligne3' => array( $_POST[$id_med3], $_POST[$measur3], $_POST[$qte3] ),
'ligne4' => array( $_POST[$id_med4], $_POST[$measur4], $_POST[$qte4] ),
'ligne5' => array( $_POST[$id_med5], $_POST[$measur5], $_POST[$qte5] ));
// on se connecte à la base '?????' via le driver PDO
try
{
$bdd = new PDO('pgsql:dbname=$dbname;host=localhost;port=5432;charset=utf8', $user, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch(Exception $e)
{
die('Connection failed : '.$e->getMessage());
}
// on parcourt le tableau ligne par ligne
foreach( $ordonnance as $key => $value )
{
$case_vide = 0;
$position = 1;
foreach( $value as $data )
{
if(empty($data))
{
$case_vide = 1;
}
switch ($position)
{
case 1:
$med = $data;
break;
case 2:
$mes = $data;
break;
case 3:
$qte = $data;
break;
}
$position++;
}
if ($case_vide == 0)
{
// on ajoute les données dans la table 'ordonnance'
$req = $bdd->prepare('INSERT INTO ordonnance(id_or, id_con, num_or) VALUES(:id_or, :id_con, :num_or)');
$req->execute(array('id_or' => $id_or, 'id_con' => $id_con, 'num_or' => $num_or));
$req->closeCursor();
// on ajoute les données dans la table 'contenu_ordonnances'
$req = $bdd->prepare('INSERT INTO contenu_ordonnances(id, id_or, id_med, mesure, quantite) VALUES(:id, :id_or, :id_med, :mesure, :quantite)');
$req->execute(array('id' => $id, 'id_or' => $id_or, 'id_med' => $id_med, 'mesure' => $mesure, 'quantite' => $quantite));
$req->closeCursor();
}
}
exit;
?>
la table "contenue_ordonnances" est en relation avec la table "Médicaments" et "Ordonnances", on obtienne le patient a travers la table ordonnances et le Médicaments a travers la table "Médicaments".
voici le code de formulaire:
Un grand merci vous aide!