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

Résolu/Fermé
flexi2202 - 6 févr. 2021 à 17:05
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 - 9 févr. 2021 à 11:05
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>
A voir également:

7 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
6 févr. 2021 à 18:23
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
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
6 févr. 2021 à 18:57
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
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
Modifié le 6 févr. 2021 à 20:02
ah peut etre de cette facon

$sql = "SELECT * FROM `detail` WHERE `id` = $id";
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
6 févr. 2021 à 20:05
Oui
0
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
6 févr. 2021 à 20:20
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
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
6 févr. 2021 à 20:46
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
6 févr. 2021 à 20:53
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
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
6 févr. 2021 à 23:29
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
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
7 févr. 2021 à 05:49
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
flexi2202 Messages postés 3784 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 30 mars 2024 179
9 févr. 2021 à 11:05
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