Lien dans un tableau

Résolu/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 26/01/2015 à 18:03
Dilidim Messages postés 106 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 25 janvier 2017 - 24 févr. 2015 à 14:53
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.
A voir également:

4 réponses

Mazamazine Messages postés 81 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 10 février 2015 13
2 févr. 2015 à 20:22
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...
0
Dilidim Messages postés 106 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 25 janvier 2017
Modifié par Dilidim le 9/02/2015 à 09:58
Seulement une partie des infos sont regroupées dans le tableau. J'aimerais que lorsque je clic sur l'ID d'un client sa page formulaire s'affiche avec les données rentrées lors de l'ajout de celui-ci.
0
Mazamazine Messages postés 81 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 10 février 2015 13
10 févr. 2015 à 18:39
Alors quand tu cliques sur l'ID, tu envoies vers une page de traitement avec l'ID en paramètre. Tu fais une requête sur ta table where l'id est l'id client, et tu affiche dans ton formulaire. Je comprend mal quel est le problème en fait?
0
Dilidim Messages postés 106 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 25 janvier 2017
11 févr. 2015 à 10:02
J'ai actuellement 3 pages php:
-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 ?
0
Dilidim Messages postés 106 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 25 janvier 2017
11 févr. 2015 à 10:07
listeclient.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>
0
Dilidim Messages postés 106 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 25 janvier 2017
23 févr. 2015 à 12:20
J'ai toujours pas réussi, help svp ^^
0
jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 665
Modifié par jordane45 le 23/02/2015 à 13:44
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
<?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
0
Dilidim Messages postés 106 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 25 janvier 2017
23 févr. 2015 à 15:02
Merci pour ton aide,
malheureusement une erreur sur la ligne (listeclient.php) :
echo'<td><a href=formulaire.php?id='.$ligne['id'].'">'.$value.'</a></td>';

Notice: Undefined index: id.
Faut-il faire un select de l'id dans la table client_tb ?
0
jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 665 > Dilidim Messages postés 106 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 25 janvier 2017
Modifié par jordane45 le 23/02/2015 à 15:55
Au temps pour moi...
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>";
      }
0
Dilidim Messages postés 106 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 25 janvier 2017 > jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024
23 févr. 2015 à 16:18
Les informations du tableau sont en double après avoir modifié mysql_fetch_row en mysql_fetch_array.

Autre souci, lorsque que clic sur le lien pour éditer le formulaire les informations ne remontent pas. Notice: Undefined index: nom_e.
0
jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024 4 665 > Dilidim Messages postés 106 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 25 janvier 2017
23 févr. 2015 à 16:54
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);


}

?>

0
Dilidim Messages postés 106 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 25 janvier 2017 > jordane45 Messages postés 38173 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 10 mai 2024
Modifié par Dilidim le 23/02/2015 à 17:11
ça fonctionne, merci !
Par contre quand je clic sur mon bouton "ajouter", il y a une erreur. Comme il n'y a pas d'info à récupérer c'est logique... Faut il alors une nouvelle page "modif.php" par exemple pour ne pas confondre la demande ajouter et celle pour modifier ?
0