Comment afficher les détails d une écriture de base de donnée dans une autre pag

Résolu
flexi2202 -  
flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   -
bonjour a tous

je viens de créer une base de donnée que j arrive a alimenter avec un formulaire
dans cette table il y +- 25 colonnes

ensuite je parviens a récupérer les données dans une liste

mais je n ai pas assez de place sur la ligne pour tout afficher de façon correcte
d ou l idée d avoir deux pages la première un résumé pour chaque id
donc j aurais
id prenom nom adresse mail
et la deuxieme le detail pour chaque id donc
id prenom nom adresse mail loisirs travail hobbies vacances

la ou je bloque c est pour la redirection vers la page 2 et un lien de la page 1 vers la 2

de tel facon que quand l id 1 clic sur detail sa page de detail apparait
si c est id 2 ben c est sa feuille de detail qui apparait

merci de l aide

voici les codes

database.php

<?php
$servername='localhost';
$username='root';
$password='';
$dbname = "detail";
$conn=mysqli_connect($servername,$username,$password,"$dbname");
if(!$conn){
   die('Could not Connect My Sql:' .mysql_error());
}
?>


insert.php

<!DOCTYPE html>
<html>
  <body>
	<form method="post" action="process.php">
		First name:<br>
		<input type="text" name="first_name">
		<br>
		Last name:<br>
		<input type="text" name="last_name">
		<br>
		City name:<br>
		<input type="text" name="city_name">
		<br>
		Email Id:<br>
		<input type="email" name="email">
		<br><br>
		<input type="loisirs" name="loisirs">
		<br><br>
		<input type="travail" name="travail">
		<br><br>
		<input type="hobbies" name="hobbies">
		<br><br>
		<input type="vacances" name="vacances">
		<br><br>
		<input type="submit" name="save" value="submit">
	</form>
  </body>
</html>
 


process.php

<?php
include_once 'database.php';
if(isset($_POST['save']))
{	 
	 $first_name = $_POST['first_name'];
	 $last_name = $_POST['last_name'];
	 $city_name = $_POST['city_name'];
	 $email = $_POST['email'];
	 $email = $_POST['loisirs'];
	 $email = $_POST['travail'];
	 $email = $_POST['hobbies'];
	 $email = $_POST['vacances'];
	 $sql = "INSERT INTO employee (first_name,last_name,city_name,email,loisirs,travail,hobbies,vacances)
	 VALUES ('$first_name','$last_name','$city_name','$email','$loisirs','$travail','$hobbies','$vacances')";
	 if (mysqli_query($conn, $sql)) {
		echo "New record created successfully !";
	 } else {
		echo "Error: " . $sql . "
" . mysqli_error($conn);
	 }
	 mysqli_close($conn);
}
?>

recuperation.php
<?php
include_once 'database.php';
$result = mysqli_query($conn,"SELECT * FROM employee");
?>
<!DOCTYPE html>
<html>
 <head>
 <title> Retrive data</title>
 </head>
<body>
<?php
if (mysqli_num_rows($result) > 0) {
?>
  <table>
  
  <tr>
    <td>First Name</td>
    <td>Last Name</td>
    <td>City</td>
    <td>Email id</td>
  </tr>
<?php
$i=0;
while($row = mysqli_fetch_array($result)) {
?>
<tr>
    <td><?php echo $row["first_name"]; ?></td>
    <td><?php echo $row["last_name"]; ?></td>
    <td><?php echo $row["city_name"]; ?></td>
    <td><?php echo $row["email"]; ?></td>
</tr>
<?php
$i++;
}
?>
</table>
 <?php
}
else{
    echo "No result found";
}
?>
 </body>
</html>

7 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
     
    Bonjour,

    Tu places, sur chaque ligne, un lien (contenant l'id)
      
      <tr>
        <td>First Name</td>
        <td>Last Name</td>
        <td>City</td>
        <td>Email id</td>
        <td></td>
      </tr>
    <?php
    $i=0;
    while($row = mysqli_fetch_array($result)) {
    ?>
    <tr>
        <td><?php echo $row["first_name"]; ?></td>
        <td><?php echo $row["last_name"]; ?></td>
        <td><?php echo $row["city_name"]; ?></td>
        <td><?php echo $row["email"]; ?></td>
        <td>
             <a href='chemin/vers/ton/autre/page.php?id=<?php echo $row["id"]; ?>'>Voir</a>
        </td>
    </tr>
    <?php
    $i++;
    }
    ?>
    


    Et dans ton autre page, il te suffit de récupérer l'id qui se trouvera dans l'url en utilisant la variable $_GET

    $id = !empty($_GET['id']) ? $_GET['id']: NULL;
    


    Ne te reste plus qu' à faire une requête en utilisant l'id dans le WHERE puis à générer l'affichage voulu.

    .
    1
  2. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    bonjour Jordane

    déjà un très grand merci pour la réponse

    il est vrai que je me suis inspire d un tuto

    en utilisant id dans le WHERE , pourrais je avoir un exemple stp
    0
  3. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    ah peut etre de cette facon

    $sql = "SELECT * FROM `detail` WHERE `id` = $id";
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
       
      Oui
      0
  4. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    merci pour l aide
    donc si je comprends bien
    mon code de cette page serait simplement
    <?php
    $id = !empty($_GET['id']) ? $_GET['id']: NULL;
    $sql = "SELECT * FROM `detail` WHERE `id` = $id";

    ?>

    pour afficher toutes les données de ma table
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
       
      bah non....
      il faut la connexion à la bdd
      exécuter la requête
      boucler sur les infos retournées par la requête pour afficher les infos voulues ...
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    merci pour l aide
    ah ben oui autrement cela aurait ete trop facile
    dommage que l on en parle pas dans les tutos de ce cas de figure
    donc si je comprends bien c est presque un copier coller de la page de recuperation.php

    <?php
    include_once 'database.php';
    $result = mysqli_query($conn,"SELECT * FROM detail");
    $id = !empty($_GET['id']) ? $_GET['id']: NULL;
    $sql = "SELECT * FROM `detail` WHERE `id` = $id";
    
    ?>
    <!DOCTYPE html>
    <html>
     <head>
     <title> Retrive data</title>
     </head>
    <body>
    <?php
    if (mysqli_num_rows($result) > 0) {
    ?>
      <table>
      
      <tr>
        <td>loisirs</td>
        <td>travail</td>
        <td>hobbies</td>
        <td>vacances</td>
      </tr>
    <?php
    $i=0;
    while($row = mysqli_fetch_array($result)) {
    ?>
    <tr>
        <td><?php echo $row["loisirs"]; ?></td>
        <td><?php echo $row["travail"]; ?></td>
        <td><?php echo $row["hobbies"]; ?></td>
        <td><?php echo $row["vacances"]; ?></td>
    </tr>
    <?php
    $i++;
    }
    ?>
    </table>
     <?php
    }
    else{
        echo "No result found";
    }
    ?>
     </body>
    </html>
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
       
      Tu n'utilises pas ta variable $sql ?

      Il faut que tu déplaces ta ligne 3 sous ta ligne 5
      Que tu remplaces la requête qui s'y trouve par ta variable $sql

      Ensuite, soit tu fais l'affichage sous forme de tableau.... soit.. ben tu présentes le résultat autrement...
      A toi de voir.
      0
  7. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    Merci pour ton aide jordane
    voila je pense que c est bon a présent

    <?php
    include_once 'database.php';
    $id = !empty($_GET['id']) ? $_GET['id']: NULL;
    $sql = "SELECT * FROM `employee` WHERE `id` = $id";
    $sql = mysqli_query($conn,"SELECT * FROM employee");
    ?>
    
    
    <!DOCTYPE html>
    <html>
     <head>
     <title> Retrive data</title>
     </head>
    <body>
    <?php
    if (mysqli_num_rows($sql) > 0) {
    ?>
      <table>
      
      <tr>
        <td>loisirs</td>
        <td>travail</td>
        <td>hobbies</td>
        <td>vacances</td>
      </tr>
    <?php
    $i=0;
    while($row = mysqli_fetch_array($sql)) {
    ?>
    <tr>
        <td><?php echo $row["loisirs"]; ?></td>
        <td><?php echo $row["travail"]; ?></td>
        <td><?php echo $row["hobbies"]; ?></td>
        <td><?php echo $row["vacances"]; ?></td>
    </tr>
    
    </table>
     <?php
    }
    {
        echo "No result found";
    }
    ?>
     </body>
    </html>
    
    0
  8. flexi2202 Messages postés 3640 Date d'inscription   Statut Membre Dernière intervention   190
     
    alors voila pour tous ceux que cela intéresse

    le lien qui me permet de voir les détails dans une autre page

    cela est un exemple bien entendu ...

    est <a href="https:///essai-03-02-21/detail.php?pseudo=<?= $donnees['pseudo'] ?>&id=<?= $donnees['id'] ?>"> <img src="http://wca/images2/640.jpg" alt="" /> </a
    0