Problemes de formulaire
Fermé
Dilidim
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
-
Modifié par Dilidim le 19/05/2015 à 11:37
Dilidim Messages postés 106 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 25 janvier 2017 - 2 juin 2015 à 16:06
Dilidim Messages postés 106 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 25 janvier 2017 - 2 juin 2015 à 16:06
A voir également:
- Problemes de formulaire
- Formulaire de réclamation facebook - Guide
- Récupérer compte hotmail sans formulaire ✓ - Forum Hotmail / Outlook.com
- L'auteur de ce formulaire a indiqué les champs que vous pouvez renseigner - Forum PDF
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Google Chrome
- Confirmation de l'envoi d'un formulaire html ✓ - Forum HTML
5 réponses
Dilidim
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
26 mai 2015 à 15:27
26 mai 2015 à 15:27
Une âme charitable svp ^^
jordane45
Messages postés
38178
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mai 2024
4 667
26 mai 2015 à 23:56
26 mai 2015 à 23:56
Bonsoir,
L'erreur est pourtant assez claire il me semble :
Comme tu peux le voir dans la requête qui s'affiche.. il semble que tu aies un champ (le deuxième) qui est complétement vide....
Ajoutes des QUOTES autour de ton champ $date ...
Et... RETIRES l' ID .. qui, vu qu'il est auto-incrémenté, n'est pas nécessaire ans cette requête....
Ce qui donne :
L'erreur est pourtant assez claire il me semble :
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''', '', '', '')' at line 3
REQUETE:
INSERT INTO inter
(id_client, date, inter, tech, comm, temps)
VALUES (4, ,'', '', '', '')"
Comme tu peux le voir dans la requête qui s'affiche.. il semble que tu aies un champ (le deuxième) qui est complétement vide....
Ajoutes des QUOTES autour de ton champ $date ...
Et... RETIRES l' ID .. qui, vu qu'il est auto-incrémenté, n'est pas nécessaire ans cette requête....
Ce qui donne :
$sql_inter = "INSERT INTO inter (date, inter, tech, comm, temps) VALUES ('$date','$inter', '$tech', '$comm', '$temps')"; $requete = mysql_query($sql_inter) or die( mysql_error()."<br>REQUETE:<pre>".$sql_inter."</pre>");
Dilidim
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
28 mai 2015 à 10:55
28 mai 2015 à 10:55
Bonjour,
J'ai modifié comme tu me l'as dit est j'ai ça maintenant :
Cannot add or update a child row: a foreign key constraint fails (`intervention`.`inter`, CONSTRAINT `inter_ibfk_1` FOREIGN KEY (`id_client`) REFERENCES `client_tb` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
REQUETE:
INSERT INTO inter
(date, inter, tech, comm, temps)
VALUES ('','', '', '', '')
J'ai modifié comme tu me l'as dit est j'ai ça maintenant :
Cannot add or update a child row: a foreign key constraint fails (`intervention`.`inter`, CONSTRAINT `inter_ibfk_1` FOREIGN KEY (`id_client`) REFERENCES `client_tb` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
REQUETE:
INSERT INTO inter
(date, inter, tech, comm, temps)
VALUES ('','', '', '', '')
jordane45
Messages postés
38178
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mai 2024
4 667
>
Dilidim
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
28 mai 2015 à 11:38
28 mai 2015 à 11:38
Deux choses :
1 - Comme tu peux le voir dans la REQUETE qui s'affiche :
... tous tes champs sont vides ..... donc tu n'as pas récupéré les variables avant de les utiliser....
2 - Il te parle de contrainte liée a des clés étrangères ( foreign key) ....
Tu as donc mis en place des Foreign Key dans tes tables....
Il faut donc respecter l'ordre d'ajout ...
( Mais cela est sûrement du au souci N°1 ... les champs étant vides.. il ne trouve pas de correspondance avec la table client_tb .... normal ! )
Peux tu ajouter un
Au début de ton code PHP et nous dire ce qu'il contient ?
( à condition bien entendu que tu aies renseigné des champs dans ton formulaire avant de faire le submit ...)
1 - Comme tu peux le voir dans la REQUETE qui s'affiche :
INSERT INTO inter
(date, inter, tech, comm, temps)
VALUES ('','', '', '', '')
... tous tes champs sont vides ..... donc tu n'as pas récupéré les variables avant de les utiliser....
2 - Il te parle de contrainte liée a des clés étrangères ( foreign key) ....
Tu as donc mis en place des Foreign Key dans tes tables....
Il faut donc respecter l'ordre d'ajout ...
( Mais cela est sûrement du au souci N°1 ... les champs étant vides.. il ne trouve pas de correspondance avec la table client_tb .... normal ! )
Peux tu ajouter un
print_r($_POST);
Au début de ton code PHP et nous dire ce qu'il contient ?
( à condition bien entendu que tu aies renseigné des champs dans ton formulaire avant de faire le submit ...)
Dilidim
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
Modifié par Dilidim le 28/05/2015 à 12:05
Modifié par Dilidim le 28/05/2015 à 12:05
Je suis en train de séparer les requêtes clients et interventions, l'idéal serait que mon "formulaire.php" traite l'ajout/modification d'un client et que "l'inter.php" traite ajout/modification.
Après ça je supprime le traitement.php.
J'avance étape par étape tout en vérifiant que ça fonctionne...
Après ça je supprime le traitement.php.
J'avance étape par étape tout en vérifiant que ça fonctionne...
Dilidim
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
28 mai 2015 à 17:23
28 mai 2015 à 17:23
J'ai intégré les parties en php dans les formulaires mais ça ne fonctionne pas.
Quand je clic sur le bouton + sur ma page "listeclient.php" ça ajoute directement un client mais sans passer par le formulaire.
Pour l'inter.php :
Cannot add or update a child row: a foreign key constraint fails (`intervention`.`inter`, CONSTRAINT `inter_ibfk_1` FOREIGN KEY (`id_client`) REFERENCES `client_tb` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
REQUETE:
INSERT INTO inter
(date, inter, tech, comm, temps)
VALUES ('','', '', '', '')
Soit j'ai oublié quelque chose ou alors pas le bon endroit...
Quand je clic sur le bouton + sur ma page "listeclient.php" ça ajoute directement un client mais sans passer par le formulaire.
Pour l'inter.php :
Cannot add or update a child row: a foreign key constraint fails (`intervention`.`inter`, CONSTRAINT `inter_ibfk_1` FOREIGN KEY (`id_client`) REFERENCES `client_tb` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
REQUETE:
INSERT INTO inter
(date, inter, tech, comm, temps)
VALUES ('','', '', '', '')
Soit j'ai oublié quelque chose ou alors pas le bon endroit...
jordane45
Messages postés
38178
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mai 2024
4 667
>
Dilidim
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
28 mai 2015 à 18:51
28 mai 2015 à 18:51
Je pense qu'on ne s'en sortira pas si tu ne nous montres pas le code de ton fichier
inter.php
.... car je persiste .. actuellement .. tu ne passes AUCUNE variable dans ta requête...
Comme tu peux le voir.. dans le VALUES ...... c'est VIDE !
inter.php
.... car je persiste .. actuellement .. tu ne passes AUCUNE variable dans ta requête...
Comme tu peux le voir.. dans le VALUES ...... c'est VIDE !
INSERT INTO inter
(date, inter, tech, comm, temps)
VALUES ('','', '', '', '')
Dilidim
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
Modifié par Dilidim le 29/05/2015 à 09:42
Modifié par Dilidim le 29/05/2015 à 09:42
Formulaire.php modifié :
Inter.php modifié
<?php session_start(); // Start la session if (!isset($_SESSION['login'])) { header ('Location: index.php'); exit(); } //formulaire.php: //----------------------------------------------- require_once('connect.inc.php'); // Recuperation de l'id si disponible dans l'URL $id = isset($_GET['id'])?$_GET['id']:NULL; //Lancement de la requete si $id if($id){ $requet="SELECT * FROM client_tb c Where id='$id'"; $result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet); $a_data = mysql_fetch_assoc($result); } $nom_e = isset($a_data['nom_e'])?$a_data['nom_e']:''; $nom_cl = isset($a_data['nom_cl'])?$a_data['nom_cl']:''; $fixe = isset($a_data['fixe'])?$a_data['fixe']:''; $fonc = isset($a_data['fonc'])?$a_data['fixe']:''; $civ = isset($a_data['civ'])?$a_data['civ']:''; $groupe = isset($a_data['groupe'])?$a_data['groupe']:''; $contrat = isset($a_data['contrat'])?$a_data['contrat']:''; $fax = isset($a_data['fax'])?$a_data['fax']:''; $mob = isset($a_data['mob'])?$a_data['mob']:''; $mail = isset($a_data['mail'])?$a_data['mail']:''; $web = isset($a_data['web'])?$a_data['web']:''; $adr = isset($a_data['adr'])?$a_data['adr']:''; $ville = isset($a_data['ville'])?$a_data['ville']:''; $cp = isset($a_data['cp'])?$a_data['cp']:''; $infos = isset($a_data['infos'])?$a_data['infos']:''; if($id){ $requet="SELECT i.* FROM inter i, client_tb c WHERE c.id = i.id_client AND c.id = '$id'"; $result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet); $a_data = mysql_fetch_assoc($result); } $date = isset($a_data['date'])?$a_data['date']:''; $inter = isset($a_data['inter'])?$a_data['inter']:''; $tech = isset($a_data['tech'])?$a_data['tech']:''; $comm = isset($a_data['comm'])?$a_data['comm']:''; $temps = isset($a_data['temps'])?$a_data['temps']:''; /*Contenu du tableau*/ $requet="SELECT id, date, inter, tech, comm, temps FROM inter where id_client='$id'"; $resulta=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet); ?> <meta http-equiv="refresh" content="1200;deconnexion.php" /> <html> <meta charset="utf-8" /> <head> <link rel="stylesheet" href="style/style.css" /> <nav> <ul id="menu_horizontal"> <li><a href="index.php">Accueil</a></li> <li><a href="listeclient.php">Liste des clients</a></li> <li><a href="agenda.php">Agenda</a></li> </ul> </nav> </head> <body> <form name="formulaire" action="" method="POST"> <table> <tr> <td>Entreprise</td> <td><input type="text" name="nom_e" value="<?php echo $nom_e ;?>" /></td> <td>Fixe</td> <td><input type="tel" name="fixe" value="<?php echo $fixe ;?>"/></td> </tr> <tr> <td>Contact </td> <td><input type="text" name="nom_cl" value="<?php echo $nom_cl ;?>"/></td> <td> Mobile</td> <td><input type="tel" name="mob" value="<?php echo $mob ;?>"/></td> </tr> <tr> <td>Fonction</td> <td><input type="text" name="fonc" value="<?php echo $fonc ;?>"/> </td> <td>Fax</td> <td><input type="tel" name="fax" value="<?php echo $fax ;?>"/> </td> </tr> <tr> <td>Civilité</td> <?php $checked_Mme = ($civ =="Mme")? "checked='checked'" : '' ; $checked_M = ($civ =="M.")? "checked='checked'" : '' ; echo '<td><input class="radio" name="civ" value="Mme" '.$checked_Mme.' type="radio"> Madame <input class="radio" name="civ" value="M." '.$checked_M.' type="radio"> Monsieur</td>' ?> <td>Email</td> <td> <input type="email" name="mail" value="<?php echo $mail ;?>"/></td> </tr> <tr> <td>Groupe</td> <?php $selected_Association = ($groupe =="Association")? "selected='selected'" : '' ; $selected_Liberale = ($groupe =="Liberale")? "selected='selected'" : '' ; $selected_Particulier = ($groupe =="Particulier")? "selected='selected'" : '' ; $selected_Pro = ($groupe =="Pro")? "selected='selected'" : '' ; echo '<td><select name="groupe"> <option value="Association" '.$selected_Association.'> Association </option> <option value="Liberale" '.$selected_Liberale.'> Liberale </option> <option value="Particulier" '.$selected_Particulier.'> Particulier </option> <option value="Pro" '.$selected_Pro.'> Pro</option></select></td>' ?> <td>Web</td> <td> <input type="text" name="web" value="<?php echo $web ;?>"/></td> </tr> <tr> <td>Contrat</td> <?php $checked_Non = ($contrat =="Non")? "checked='checked'" : '' ; $checked_Oui = ($contrat =="Oui")? "checked='checked'" : '' ; echo '<td><input class="radio" name="contrat" value="Non" '.$checked_Non.' type="radio"> Non <input class="radio" name="contrat" value="Oui" '.$checked_Oui.' type="radio"> Oui</td>' ?> <td>Adresse</td> <td><input type="text" name="adr" value="<?php echo $adr ;?>"/></td> </tr> <tr> <td>Ville</td> <td><input type="text" name="ville" value="<?php echo $ville ;?>"/> </td> <td>CP</td> <td><input type="text" name="cp" value="<?php echo $cp ;?>"/></td> </tr> </table> <h3>Infos <h3><textarea name="infos" rows="2" cols="80" ><?php echo $infos ;?></textarea></h3> <h6><form ACTION="inter.php"> <input TYPE="image" src="style/add.png" name="submit" ><span></form> <input type="submit" value="Valider"/></form></h6> </form> <table id="rec"> <?php $NbrCol = 6; if($resulta){ echo "<th>N°</th><th>Date</th><th>Type d'inter</th><th>Tech</th><th>Commentaire</th><th>Temps</th>"; while($ligne=mysql_fetch_assoc($resulta)) { echo "<tr>"; foreach($ligne as $value){ echo'<td><a href=inter.php?id='.$ligne['id'].'">'.$value.'</a></td>'; } echo "</tr>"; } } mysql_close(); ?> <input type="hidden" name="id" value="<?php echo $id; ?>"> </body> <?php include('footer.php'); ?> </html>
Inter.php modifié
<?php session_start(); // Start la session if (!isset($_SESSION['login'])) { header ('Location: index.php'); exit(); } ?> <?php //formulaire.php: //----------------------------------------------- require_once('connect.inc.php'); // Recuperation de l'id si disponible dans l'URL $id = isset($_GET['id'])?$_GET['id']:NULL; //Lancement de la requete si $id if($id){ $requet="SELECT * FROM inter i, client_tb c WHERE c.id = i.id_client AND c.id = '$id'"; $result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet); $a_data = mysql_fetch_assoc($result); } $date = isset($a_data['date'])?$a_data['date']:''; $inter = isset($a_data['inter'])?$a_data['inter']:''; $tech = isset($a_data['tech'])?$a_data['tech']:''; $comm = isset($a_data['comm'])?$a_data['comm']:''; $temps = isset($a_data['temps'])?$a_data['temps']:''; ?> <html> <meta charset="utf-8" /> <head> <link rel="stylesheet" href="style/style.css" /> </head> <body> <form name="form" action="" method="POST"> <table> <tr> <td>Date</td> <td>Type d'inter</td> <td>Tech</td> <td>Commentaire</td> <td> Temps (en min)</td> </tr> <tr> <td> <input type="date" name="date" value="<?php echo $date ;?>"/> </td> <?php $selected_Teamviewer = ($inter =="Teamviewer")? "selected='selected'" : '' ; $selected_Telephonie = ($inter =="Telephonie")? "selected='selected'" : '' ; $selected_Deplacement = ($inter =="Deplacement")? "selected='selected'" : '' ; $selected_Bureau = ($inter =="Bureau")? "selected='selected'" : '' ; echo '<td><select name="inter"> <option value="Teamviewer" '.$selected_Teamviewer.'> Teamviewer </option> <option value="Telephonie" '.$selected_Telephonie.'> Téléphonie</option> <option value="Deplacement" '.$selected_Deplacement.'> Déplacement</option> <option value="Bureau" '.$selected_Bureau.'> Bureau</option> </select></td>' ?> <?php $selected_Christophe = ($tech =="Christophe")? "selected='selected'" : '' ; $selected_Dimitri = ($tech =="Dimitri")? "selected='selected'" : '' ; $selected_Gwenaelle = ($tech =="Gwenaelle")? "selected='selected'" : '' ; $selected_Lucas = ($tech =="Lucas")? "selected='selected'" : '' ; $selected_Patrick = ($tech =="Patrick")? "selected='selected'" : '' ; echo '<td><select name="tech"> <option value="Christophe" '.$selected_Christophe.'> Christophe </option> <option value="Dimitri" '.$selected_Dimitri.'> Dimitri</option> <option value="Gwenaelle" '.$selected_Gwenaelle.'> Gwenaelle</option> <option value="Lucas" '.$selected_Lucas.'> Lucas</option> <option value="Patrick" '.$selected_Patrick.'> Patrick</option> </select></td>' ?> <td> <textarea name="comm" rows="1" cols="50" ><?php echo $comm ;?></textarea> </td> <td> <input type="number" name="temps" value="<?php echo $temps;?>"/> </td> </tr> </table> <?php function getPost($variableName,$defaultValue=''){ return isset($_POST[$variableName])?$_POST[$variableName]:$defaultValue; } if(isset($_POST)){ $id = getPost("id"); $date = getPost("date"); $inter = getPost("inter"); $tech = getPost("tech"); $comm = getPost("comm"); $temps = getPost("temps"); if($id){ // Mise à jour via un UPDATE $sql_inter = "UPDATE inter SET date = '$date' , inter = '$inter' , tech = '$tech' , comm = '$comm' , temps = '$temps' WHERE id ='$id' "; $requete = mysql_query($sql_inter) or die( mysql_error()."<br>REQUETE:<pre>".$sql_inter."</pre>"); }else{ // Création nouveau ( INSERT ) $sql_inter = "INSERT INTO inter (date, inter, tech, comm, temps) VALUES ('$date','$inter', '$tech', '$comm', '$temps')"; $requete = mysql_query($sql_inter) or die( mysql_error()."<br>REQUETE:<pre>".$sql_inter."</pre>"); } if($requete) { echo("<br>L'insertion a ete correctement effectuee"); header('Location: listeclient.php'); exit(); } else { echo("<br>L'insertion a echouee"); } } else { echo "<pre>Aucune donnee presente dans _POST </pre>"; } ?> <input type="submit" value="ok"/> </form> </body> </html>
jordane45
Messages postés
38178
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mai 2024
4 667
29 mai 2015 à 11:02
29 mai 2015 à 11:02
Heuuu....
Les variables que tu insères dans ta requête .. proviennent de :
.... si tu n'as pas d'ID ... tu ne remplis pas tes variables donc ...
Et donc ..
Quand tu est dans le ELSE .... tu n'as pas de données à insérer ...
Les variables que tu insères dans ta requête .. proviennent de :
if($id){ $requet="SELECT * FROM inter i, client_tb c WHERE c.id = i.id_client AND c.id = '$id'"; $result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet); $a_data = mysql_fetch_assoc($result); } $date = isset($a_data['date'])?$a_data['date']:''; $inter = isset($a_data['inter'])?$a_data['inter']:''; $tech = isset($a_data['tech'])?$a_data['tech']:''; $comm = isset($a_data['comm'])?$a_data['comm']:''; $temps = isset($a_data['temps'])?$a_data['temps']:''; ?>
.... si tu n'as pas d'ID ... tu ne remplis pas tes variables donc ...
Et donc ..
if($id){ // Mise à jour via un UPDATE $sql_inter = "UPDATE inter SET date = '$date' , inter = '$inter' , tech = '$tech' , comm = '$comm' , temps = '$temps' WHERE id ='$id' "; $requete = mysql_query($sql_inter) or die( mysql_error()."<br>REQUETE:<pre>".$sql_inter."</pre>"); }else{ // Création nouveau ( INSERT ) $sql_inter = "INSERT INTO inter (date, inter, tech, comm, temps) VALUES ('$date','$inter', '$tech', '$comm', '$temps')"; $requete = mysql_query($sql_inter) or die( mysql_error()."<br>REQUETE:<pre>".$sql_inter."</pre>"); }
Quand tu est dans le ELSE .... tu n'as pas de données à insérer ...
Dilidim
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
>
jordane45
Messages postés
38178
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mai 2024
29 mai 2015 à 11:53
29 mai 2015 à 11:53
Il m'affiche ça directement quand je suis sur la page inter.php donc champs non remplient. Quand ils sont remplis il m'affiche le même message mais avec tous les champs remplient.
Dilidim
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
29 mai 2015 à 16:30
29 mai 2015 à 16:30
J'ai réussi a reglé ce souci.
il me reste :
- Le bouton "+" du formulaire.php ne fonctionne pas, il ne renvoie pas a la page inter.php
- Lors d'une modif d'un client ça m'en ajoute un avec les modif qui s'ajoute au nouveau.
Nouvelle page formulaire.php :
Nouvelle page inter.php :
Merci en tout cas pour ton aide !
il me reste :
- Le bouton "+" du formulaire.php ne fonctionne pas, il ne renvoie pas a la page inter.php
- Lors d'une modif d'un client ça m'en ajoute un avec les modif qui s'ajoute au nouveau.
Nouvelle page formulaire.php :
<?php session_start(); // Start la session if (!isset($_SESSION['login'])) { header ('Location: index.php'); exit(); } //formulaire.php: //----------------------------------------------- require_once('connect.inc.php'); // Recuperation de l'id si disponible dans l'URL $id = isset($_GET['id'])?$_GET['id']:NULL; //Lancement de la requete si $id if($id){ $requet="SELECT * FROM client_tb c Where id='$id'"; $result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet); $a_data = mysql_fetch_assoc($result); } $nom_e = isset($a_data['nom_e'])?$a_data['nom_e']:''; $nom_cl = isset($a_data['nom_cl'])?$a_data['nom_cl']:''; $fixe = isset($a_data['fixe'])?$a_data['fixe']:''; $fonc = isset($a_data['fonc'])?$a_data['fixe']:''; $civ = isset($a_data['civ'])?$a_data['civ']:''; $groupe = isset($a_data['groupe'])?$a_data['groupe']:''; $contrat = isset($a_data['contrat'])?$a_data['contrat']:''; $fax = isset($a_data['fax'])?$a_data['fax']:''; $mob = isset($a_data['mob'])?$a_data['mob']:''; $mail = isset($a_data['mail'])?$a_data['mail']:''; $web = isset($a_data['web'])?$a_data['web']:''; $adr = isset($a_data['adr'])?$a_data['adr']:''; $ville = isset($a_data['ville'])?$a_data['ville']:''; $cp = isset($a_data['cp'])?$a_data['cp']:''; $infos = isset($a_data['infos'])?$a_data['infos']:''; if($id){ $requet="SELECT i.* FROM inter i, client_tb c WHERE c.id = i.id_client AND c.id = '$id'"; $result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet); $a_data = mysql_fetch_assoc($result); } $date = isset($a_data['date'])?$a_data['date']:''; $inter = isset($a_data['inter'])?$a_data['inter']:''; $tech = isset($a_data['tech'])?$a_data['tech']:''; $comm = isset($a_data['comm'])?$a_data['comm']:''; $temps = isset($a_data['temps'])?$a_data['temps']:''; /*Contenu du tableau*/ $requet="SELECT id, date, inter, tech, comm, temps FROM inter where id_client='$id'"; $resulta=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet); ?> <meta http-equiv="refresh" content="1200;deconnexion.php" /> <html> <meta charset="utf-8" /> <head> <link rel="stylesheet" href="style/style.css" /> <?php include('nav.php'); ?> </head> <body> <form name="formulaire" action="<?= $_SERVER["PHP_SELF"] ?>" method="POST"> <table> <tr> <td>Entreprise</td> <td><input type="text" name="nom_e" value="<?php echo $nom_e ;?>" /></td> <td>Fixe</td> <td><input type="tel" name="fixe" value="<?php echo $fixe ;?>"/></td> </tr> <tr> <td>Contact </td> <td><input type="text" name="nom_cl" value="<?php echo $nom_cl ;?>"/></td> <td> Mobile</td> <td><input type="tel" name="mob" value="<?php echo $mob ;?>"/></td> </tr> <tr> <td>Fonction</td> <td><input type="text" name="fonc" value="<?php echo $fonc ;?>"/> </td> <td>Fax</td> <td><input type="tel" name="fax" value="<?php echo $fax ;?>"/> </td> </tr> <tr> <td>Civilité</td> <?php $checked_Mme = ($civ =="Mme")? "checked='checked'" : '' ; $checked_M = ($civ =="M.")? "checked='checked'" : '' ; echo '<td><input class="radio" name="civ" value="Mme" '.$checked_Mme.' type="radio"> Madame <input class="radio" name="civ" value="M." '.$checked_M.' type="radio"> Monsieur</td>' ?> <td>Email</td> <td> <input type="email" name="mail" value="<?php echo $mail ;?>"/></td> </tr> <tr> <td>Groupe</td> <?php $selected_Association = ($groupe =="Association")? "selected='selected'" : '' ; $selected_Liberale = ($groupe =="Liberale")? "selected='selected'" : '' ; $selected_Particulier = ($groupe =="Particulier")? "selected='selected'" : '' ; $selected_Pro = ($groupe =="Pro")? "selected='selected'" : '' ; echo '<td><select name="groupe"> <option value="Association" '.$selected_Association.'> Association </option> <option value="Liberale" '.$selected_Liberale.'> Liberale </option> <option value="Particulier" '.$selected_Particulier.'> Particulier </option> <option value="Pro" '.$selected_Pro.'> Pro</option></select></td>' ?> <td>Web</td> <td> <input type="text" name="web" value="<?php echo $web ;?>"/></td> </tr> <tr> <td>Contrat</td> <?php $checked_Non = ($contrat =="Non")? "checked='checked'" : '' ; $checked_Oui = ($contrat =="Oui")? "checked='checked'" : '' ; echo '<td><input class="radio" name="contrat" value="Non" '.$checked_Non.' type="radio"> Non <input class="radio" name="contrat" value="Oui" '.$checked_Oui.' type="radio"> Oui</td>' ?> <td>Adresse</td> <td><input type="text" name="adr" value="<?php echo $adr ;?>"/></td> </tr> <tr> <td>Ville</td> <td><input type="text" name="ville" value="<?php echo $ville ;?>"/> </td> <td>CP</td> <td><input type="text" name="cp" value="<?php echo $cp ;?>"/></td> </tr> </table> <h3>Infos <h3><textarea name="infos" rows="2" cols="80" ><?php echo $infos ;?></textarea></h3> <h6><form ACTION="inter.php"> <input TYPE="image" src="style/add.png" name="submit" ><span></form> <input type="submit" name="valider" value="Valider"/></form></h6> </form> <?php if ( isset($_POST['valider']) == "Valider") { function getPost($variableName,$defaultValue=''){ return isset($_POST[$variableName])?$_POST[$variableName]:$defaultValue; } if(isset($_POST)){ $id = getPost("id"); $nom_e = getPost("nom_e"); $nom_cl = getPost("nom_cl"); $fonc = getPost("fonc"); $civ = getPost("civ"); $groupe = getPost("groupe"); $contrat = getPost("contrat"); $fixe = getPost("fixe"); $mob = getPost("mob"); $fax = getPost("fax"); $mail = getPost("mail"); $web = getPost("web"); $adr = getPost("adr"); $ville = getPost("ville"); $cp = getPost("cp"); $infos = getPost("infos"); if($id){ // Mise à jour via un UPDATE $sql_client = "UPDATE client_tb SET nom_e = '$nom_e' , nom_cl = '$nom_cl' , fonc = '$fonc' , civ = '$civ' , groupe = '$groupe' , contrat = '$contrat' , fixe = '$fixe' , mob = '$mob' , fax = '$fax' , mail = '$mail' , web = '$web' , adr = '$adr' , ville = '$ville' , cp = '$cp' , infos = '$infos' WHERE id='$id' "; $requete = mysql_query($sql_client) or die( mysql_error()."<br>REQUETE:<pre>".$sql_client."</pre>"); }else{ // Création nouveau ( INSERT ) $sql_client = "INSERT INTO client_tb (nom_e, nom_cl, fonc, civ, groupe, contrat, fixe, mob, fax, mail, web, adr, ville, cp, infos) VALUES ('$nom_e','$nom_cl','$fonc','$civ','$groupe','$contrat','$fixe','$mob','$fax','$mail','$web','$adr','$ville','$cp','$infos')"; $requete = mysql_query($sql_client) or die( mysql_error()."<br>REQUETE:<pre>".$sql_client."</pre>"); $client_id=mysql_insert_id(); } if($requete) { echo("<br>L'insertion a ete correctement effectuee"); header('Location: listeclient.php'); exit(); } else { echo("<br>L'insertion a echouee"); } } else { echo "<pre>Aucune donnee presente dans _POST </pre>"; } } ?> <table id="rec"> <?php $NbrCol = 6; if($resulta){ echo "<th>N°</th><th>Date</th><th>Type d'inter</th><th>Tech</th><th>Commentaire</th><th>Temps</th>"; while($ligne=mysql_fetch_assoc($resulta)) { echo "<tr>"; foreach($ligne as $value){ echo'<td><a href=inter.php?id='.$ligne['id'].'">'.$value.'</a></td>'; } echo "</tr>"; } } mysql_close(); ?> <input type="hidden" name="id" value="<?php echo $id; ?>"> </body> <?php include('footer.php'); ?> </html>
Nouvelle page inter.php :
<?php session_start(); // Start la session if (!isset($_SESSION['login'])) { header ('Location: index.php'); exit(); } ?> <?php //formulaire.php: //----------------------------------------------- require_once('connect.inc.php'); // Recuperation de l'id si disponible dans l'URL $id = isset($_GET['id'])?$_GET['id']:NULL; //Lancement de la requete si $id if($id){ $requet="SELECT * FROM inter i, client_tb c WHERE c.id = i.id_client AND c.id = '$id'"; $result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet); $a_data = mysql_fetch_assoc($result); } $id = isset($a_data['id'])?$a_data['id']:''; $date = isset($a_data['date'])?$a_data['date']:''; $inter = isset($a_data['inter'])?$a_data['inter']:''; $tech = isset($a_data['tech'])?$a_data['tech']:''; $comm = isset($a_data['comm'])?$a_data['comm']:''; $temps = isset($a_data['temps'])?$a_data['temps']:''; ?> <html> <meta charset="utf-8" /> <head> <link rel="stylesheet" href="style/style.css" /> <?php include('nav.php'); ?> </head> <body> <form name="form" action="<?= $_SERVER["PHP_SELF"] ?>" method="POST"> <input type="submit" name="ok" value="Ok"/> <table> <tr> <td>Date</td> <td>Type d'inter</td> <td>Tech</td> <td>Commentaire</td> <td> Temps (en min)</td> </tr> <tr> <td> <input type="date" name="date" value="<?php echo $date ;?>"/> </td> <?php $selected_Teamviewer = ($inter =="Teamviewer")? "selected='selected'" : '' ; $selected_Telephonie = ($inter =="Telephonie")? "selected='selected'" : '' ; $selected_Deplacement = ($inter =="Deplacement")? "selected='selected'" : '' ; $selected_Bureau = ($inter =="Bureau")? "selected='selected'" : '' ; echo '<td><select name="inter"> <option value="Teamviewer" '.$selected_Teamviewer.'> Teamviewer </option> <option value="Telephonie" '.$selected_Telephonie.'> Téléphonie</option> <option value="Deplacement" '.$selected_Deplacement.'> Déplacement</option> <option value="Bureau" '.$selected_Bureau.'> Bureau</option> </select></td>' ?> <?php $selected_Christophe = ($tech =="Christophe")? "selected='selected'" : '' ; $selected_Dimitri = ($tech =="Dimitri")? "selected='selected'" : '' ; $selected_Gwenaelle = ($tech =="Gwenaelle")? "selected='selected'" : '' ; $selected_Lucas = ($tech =="Lucas")? "selected='selected'" : '' ; $selected_Patrick = ($tech =="Patrick")? "selected='selected'" : '' ; echo '<td><select name="tech"> <option value="Christophe" '.$selected_Christophe.'> Christophe </option> <option value="Dimitri" '.$selected_Dimitri.'> Dimitri</option> <option value="Gwenaelle" '.$selected_Gwenaelle.'> Gwenaelle</option> <option value="Lucas" '.$selected_Lucas.'> Lucas</option> <option value="Patrick" '.$selected_Patrick.'> Patrick</option> </select></td>' ?> <td> <textarea name="comm" rows="1" cols="50" ><?php echo $comm ;?></textarea> </td> <td> <input type="number" name="temps" value="<?php echo $temps;?>"/> </td> </tr> </table> <?php if ( isset($_POST['ok']) == "Ok") { function getPost($variableName,$defaultValue=''){ return isset($_POST[$variableName])?$_POST[$variableName]:$defaultValue; } if(isset($_POST)){ $id = getPost("id"); $date = getPost("date"); $inter = getPost("inter"); $tech = getPost("tech"); $comm = getPost("comm"); $temps = getPost("temps"); if($id){ // Mise à jour via un UPDATE $sql_inter = "UPDATE inter SET date = '$date' , inter = '$inter' , tech = '$tech' , comm = '$comm' , temps = '$temps' WHERE id ='$id' "; $requete = mysql_query($sql_inter) or die( mysql_error()."<br>REQUETE:<pre>".$sql_inter."</pre>"); }else{ // Création nouveau ( INSERT ) $sql_inter = "INSERT INTO inter (date, inter, tech, comm, temps) VALUES ('$date','$inter', '$tech', '$comm', '$temps')"; $requete = mysql_query($sql_inter) or die( mysql_error()."<br>REQUETE:<pre>".$sql_inter."</pre>"); } if($requete) { echo("<br>L'insertion a ete correctement effectuee"); header('Location: listeclient.php'); exit(); } else { echo("<br>L'insertion a echouee"); } } else { echo "<pre>Aucune donnee presente dans _POST </pre>"; } } ?> </form> </body> </html>
Merci en tout cas pour ton aide !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dilidim
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
1 juin 2015 à 09:50
1 juin 2015 à 09:50
J'ai corrigé mon erreur pour l'accès a la page inter via le bouton "add".
Par contre il m'indique une erreur de clé étrangère alors que j'ai bien référencé la clé étrangère...
Cannot add or update a child row: a foreign key constraint fails (`intervention`.`inter`, CONSTRAINT `inter_ibfk_1` FOREIGN KEY (`id_client`) REFERENCES `client_tb` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
REQUETE:
INSERT INTO inter
(date, inter, tech, comm, temps)
VALUES ('2015-06-01','Bureau', 'Dimitri', 'Test', '5')
Table Client_tb iD, table Inter client_iD (clé étrangère)
Par contre il m'indique une erreur de clé étrangère alors que j'ai bien référencé la clé étrangère...
Cannot add or update a child row: a foreign key constraint fails (`intervention`.`inter`, CONSTRAINT `inter_ibfk_1` FOREIGN KEY (`id_client`) REFERENCES `client_tb` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
REQUETE:
INSERT INTO inter
(date, inter, tech, comm, temps)
VALUES ('2015-06-01','Bureau', 'Dimitri', 'Test', '5')
Table Client_tb iD, table Inter client_iD (clé étrangère)
Dilidim
Messages postés
106
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
25 janvier 2017
2 juin 2015 à 16:06
2 juin 2015 à 16:06
help !