Comment afficher les détails d une écriture de base de donnée dans une autre pag [Résolu]

Signaler
-
Messages postés
2376
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
15 février 2021
-
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

Messages postés
31495
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 février 2021
3 281
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.

.
Messages postés
2376
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
15 février 2021
131
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
Messages postés
2376
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
15 février 2021
131
ah peut etre de cette facon

$sql = "SELECT * FROM `detail` WHERE `id` = $id";
Messages postés
31495
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 février 2021
3 281
Oui
Messages postés
2376
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
15 février 2021
131
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
Messages postés
31495
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 février 2021
3 281
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 ...
Messages postés
2376
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
15 février 2021
131
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>
Messages postés
31495
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 février 2021
3 281
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.
Messages postés
2376
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
15 février 2021
131
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>
Messages postés
2376
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
15 février 2021
131
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