Lien dans un tableau
Résolu
Dilidim
Messages postés
106
Date d'inscription
Statut
Membre
Dernière intervention
-
Dilidim Messages postés 106 Date d'inscription Statut Membre Dernière intervention -
Dilidim Messages postés 106 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai actuellement un tableau contenant des informations d'une table de ma BDD. Ces infos sont rentrées via un formulaire. J'aimerai donc mettre l'ID du client en lien afin de pouvoir éditer son formulaire.
J'ai actuellement un tableau contenant des informations d'une table de ma BDD. Ces infos sont rentrées via un formulaire. J'aimerai donc mettre l'ID du client en lien afin de pouvoir éditer son formulaire.
A voir également:
- Lien dans un tableau
- Tableau word - Guide
- Créer un lien pour partager des photos - Guide
- Lien url - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
4 réponses
Il faudrait être plus précis peut-être. Car si tu peux mettre les infos de ta BDD dans le tableau, pourquoi pas l'ID? Quel est le problème?
Et montrer ton code...
Et montrer ton code...
listeclient.php :
formulaire.php:
traitement.php :
<?php require_once('connect.php'); /*Recherche*/ $q = isset($_GET['q']) && !empty($_GET['q'])?$_GET['q']:NULL; $strWhere = $q ? " Where id like '%$q%' OR nom_e like '%$q%' OR nom_cl like '%$q%' " : ''; /*Contenu du tableau*/ $requet="SELECT id, nom_e, civ, nom_cl, fixe, contrat FROM client_tb" .$strWhere; $resulta=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet); ?> <form method="get" id="search" action=""> <label for="q">Recherche :</label> <input type="text" id="q" name="q" > <input type="submit" value="Ok" > </form> <h6><a onclick="open('formulaire.php', 'popup', 'scrollbars=1,resizable=1,height=750,width=750');return false;"> <input type="image" src='style/add.png' value="submit" ></a><span> <form ACTION="listeclient.php"> <input TYPE="image" src="style/refresh.png" name="submit" ></form></h6> <table id="rec"> <?php $NbrCol = 7; if($resulta){ echo "<th>ID</th><th>Entreprise</th><th>Civilité</th><th>Contact</th><th>Téléphone</th><th>Contrat</th>"; while($ligne=mysql_fetch_row($resulta)) { echo "<tr>"; foreach($ligne as $value){ echo'<td><a href=modif.php?='.$resulta.'">'.$value.'</a></td>'; /*echo "<td>".$value."</td>";*/ } echo "</tr>"; } } mysql_close(); ?> </table> </body> <footer> <div id="heure"></div> <script "type=text/javascript"> setInterval(function(){ document.getElementById('heure').innerHTML = new Date().toLocaleTimeString(); }, 1000); </script> <?php $date = date("d/m/Y"); Print("$date"); ?> </footer> </html>
formulaire.php:
<html> <meta charset="utf-8" /> <head> <link rel="stylesheet" href="style/style.css" /> </head> <body> <form name="formulaire" action="traitement.php" method="POST"> <input id="ok" type="submit" value="Valider"/> <table> <tr> <td>Entreprise</td> <td><input type="text" name="nom_e" /></td> <td>Fixe</td> <td><input type="text" name="fixe" /></td> </tr> <tr> <td>Contact </td> <td><input type="text" name="nom_cl" /></td> <td> Mobile</td> <td><input type="text" name="mob" /></td> </tr> <tr> <td>Fonction</td> <td><input type="text" name="fonc" /> </td> <td>Fax</td> <td><input type="text" name="fax" /></td> </tr> <tr> <td>Civilité</td> <td><input class="radio" name="civ" value="Mme" checked type="radio"> Madame <input class="radio" name="civ" value="M." type="radio"> Monsieur</td> <td>Email</td> <td> <input type="text" name="mail"/></td> </tr> <tr> <td>Groupe</td> <td><select name="groupe" > <option value="particulier">Particulier</option> <option value="pro">Pro</option></select></td> <td>Web</td> <td> <input type="text" name="web" /></td> </tr> <tr> <td>Contrat</td> <td> <input name="contrat" value="non" checked type="radio"> Non <input name="contrat" value="oui" type="radio"> Oui </td> <td>Adresse</td> <td><input type="text" name="adr" /></td> </tr> <tr> <td>Ville</td> <td><input type="text" name="ville" /> </td> <td>CP</td> <td><input type="text" name="cp" /></td> </tr> </table> <h3>Infos</h3> <h3><textarea name="infos" rows="3" cols="85"></textarea><h3> <table> <tr> <td>Date</td> <td>Type d'inter</td> <td>Tech</td> <td>Commentaire</td> </tr> <tr> <td> <?php $date = date("d/m/Y"); Print("$date"); ?>
traitement.php :
function getPost($variableName,$defaultValue=''){ return isset($_POST[$variableName])?$_POST[$variableName]:$defaultValue; } if(isset($_POST)){ $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"); $date = getPost("date"); $inter = getPost("inter"); $tech = getPost("tech"); $comm = getPost("comm"); $sql = "INSERT INTO client_tb (nom_e, nom_cl, fonc, civ, groupe, contrat, fixe, mob, fax, mail, web, adr, ville, cp, infos, date, inter, tech, comm) VALUES ('$nom_e','$nom_cl','$fonc','$civ','$groupe','$contrat','$fixe','$mob','$fax','$mail','$web','$adr','$ville','$cp','$infos',( CURDATE($date)),'$inter', '$tech', '$comm')"; $requete = mysql_query($sql) or die( mysql_error()."<br>REQUETE:<pre>".$sql."</pre>"); if($requete) { echo("<br>L'insertion a ete correctement effectuee"); } else { echo("<br>L'insertion a echouee"); } } else { echo "<pre>Aucune donnee presente dans _POST </pre>"; } ?> <html> <meta charset="utf-8" /> echo "<script language='javascript'>window.close()</script>"; </html>
Bonjour,
Si j'ai bien compris.. tu veux pouvoir cliquer sur une ligne... et ça te réaffiche le formulaire de création/modification avec les données correspondantes ?
Dans ce cas... quelque chose de ce genre devrait t'aller
Je ne t'ai complété que les premières données... je te laisse faire les suivantes histoire que tu comprennes comment faire.
Cordialement,
Jordane
Si j'ai bien compris.. tu veux pouvoir cliquer sur une ligne... et ça te réaffiche le formulaire de création/modification avec les données correspondantes ?
Dans ce cas... quelque chose de ce genre devrait t'aller
<?php //listeclient.php //--------------------------------------------------------- require_once('connect.php'); /*Recherche*/ $q = isset($_GET['q']) && !empty($_GET['q'])?$_GET['q']:NULL; $strWhere = $q ? " Where id like '%$q%' OR nom_e like '%$q%' OR nom_cl like '%$q%' " : ''; /*Contenu du tableau*/ $requet="SELECT id, nom_e, civ, nom_cl, fixe, contrat FROM client_tb " .$strWhere; $resulta=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet); ?> <form method="get" id="search" action=""> <label for="q">Recherche :</label> <input type="text" id="q" name="q" > <input type="submit" value="Ok" > </form> <h6><a onclick="open('formulaire.php', 'popup', 'scrollbars=1,resizable=1,height=750,width=750');return false;"> <input type="image" src='style/add.png' value="submit" ></a><span> <form ACTION="listeclient.php"> <input TYPE="image" src="style/refresh.png" name="submit" ></form></h6> <table id="rec"> <?php $NbrCol = 7; if($resulta){ echo "<th>ID</th><th>Entreprise</th><th>Civilité</th><th>Contact</th><th>Téléphone</th><th>Contrat</th>"; while($ligne=mysql_fetch_row($resulta)) { echo "<tr>"; foreach($ligne as $value){ echo'<td><a href=formulaire.php?id='.$ligne['id'].'">'.$value.'</a></td>'; /*echo "<td>".$value."</td>";*/ } echo "</tr>"; } } mysql_close(); ?> </table> </body> <footer> <div id="heure"></div> <script "type=text/javascript"> setInterval(function(){ document.getElementById('heure').innerHTML = new Date().toLocaleTimeString(); }, 1000); </script> <?php $date = date("d/m/Y"); Print("$date"); ?> </footer> </html>
<?php //formulaire.php: //----------------------------------------------- require_once('connect.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 Where id='$id'"; $result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet); // on stocke le résultat dans un array $a_data = array(); while($res = mysql_fetch_array($result, MYSQL_ASSOC)) { $a_data[] = $res; } } ?> <html> <meta charset="utf-8" /> <head> <link rel="stylesheet" href="style/style.css" /> </head> <body> <form name="formulaire" action="traitement.php" method="POST"> <input id="ok" type="submit" value="Valider"/> <table> <tr> <td>Entreprise</td> <td><input type="text" name="nom_e" value="<?php echo $a_data['nom_e'];?>" /></td> <td>Fixe</td> <td><input type="text" name="fixe" value="<?php echo $a_data['fixe'];?>"/></td> </tr> <tr> <td>Contact </td> <td><input type="text" name="nom_cl" value="<?php echo $a_data['nom_cl'];?>"/></td> <td> Mobile</td> <td><input type="text" name="mob" /></td> </tr> <tr> <td>Fonction</td> <td><input type="text" name="fonc" /> </td> <td>Fax</td> <td><input type="text" name="fax" /></td> </tr> <tr> <td>Civilité</td> <td><input class="radio" name="civ" value="Mme" checked type="radio"> Madame <input class="radio" name="civ" value="M." type="radio"> Monsieur</td> <td>Email</td> <td> <input type="text" name="mail"/></td> </tr> <tr> <td>Groupe</td> <td><select name="groupe" > <option value="particulier">Particulier</option> <option value="pro">Pro</option></select></td> <td>Web</td> <td> <input type="text" name="web" /></td> </tr> <tr> <td>Contrat</td> <td> <input name="contrat" value="non" checked type="radio"> Non <input name="contrat" value="oui" type="radio"> Oui </td> <td>Adresse</td> <td><input type="text" name="adr" /></td> </tr> <tr> <td>Ville</td> <td><input type="text" name="ville" /> </td> <td>CP</td> <td><input type="text" name="cp" /></td> </tr> </table> <h3>Infos</h3> <h3><textarea name="infos" rows="3" cols="85"></textarea><h3> <table> <tr> <td>Date</td> <td>Type d'inter</td> <td>Tech</td> <td>Commentaire</td> </tr> <tr> <td> <?php $date = date("d/m/Y"); Print("$date"); ?>
Je ne t'ai complété que les premières données... je te laisse faire les suivantes histoire que tu comprennes comment faire.
Cordialement,
Jordane
Au temps pour moi...
Je n'avais pas vu que tu avais utilisé mysql_fetch_row
Utilises plutôt : mysql_fetch_array
Je n'avais pas vu que tu avais utilisé mysql_fetch_row
Utilises plutôt : mysql_fetch_array
while($ligne=mysql_fetch_array($resulta)) { echo "<tr>"; foreach($ligne as $value){ echo'<td><a href=formulaire.php?id='.$ligne['id'].'">'.$value.'</a></td>'; /*echo "<td>".$value."</td>";*/ } echo "</tr>"; }
Les informations du tableau sont en double après avoir modifié mysql_fetch_row en mysql_fetch_array.
Modifie en mysql_fetch_assoc dans ce cas...
while($ligne=mysql_fetch_assoc($resulta)) { echo "<tr>"; foreach($ligne as $value){ echo'<td><a href=formulaire.php?id='.$ligne['id'].'">'.$value.'</a></td>'; /*echo "<td>".$value."</td>";*/ } echo "</tr>"; }
Autre souci, lorsque que clic sur le lien pour éditer le formulaire les informations ne remontent pas. Notice: Undefined index: nom_e.
... essayes ça
<?php //formulaire.php: //----------------------------------------------- require_once('connect.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 Where id='$id'"; $result=mysql_query($requet) or die("Erreur ! <br>".mysql_error()."<br>Requête =<br>". $requet); $a_data = mysql_fetch_assoc($result); } ?>
-listeclient.php (elle comporte un tableau regroupant une partie des infos client)
-formulaire.php (Pour ajouter un client)
-traitement.php (permet d'envoyer mes infos dans la bdd)
Dois je créer une copie du formulaire.php puis ensuite la modifier ?