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 prénom nom adresse mail
et la deuxième le détail pour chaque id donc
id prénom 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 façon que quand l id 1 clic sur détail sa page de détail apparaît
si c est id 2 ben c est sa feuille de détail qui apparaît

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>
connecté
Modérateur
Et l'eau flexi2202,
Je vais partir du principe que tu n'as pas de système de réécriture d'url.
As-tu entendu parler des querystring ? Si ce n'est pas le cas, dans une url, tu peux trouver un point d'interogation "?" suivi d'un attribut et de sa valeur séparé par un signe égale.

exemple :
https://un-site.com/quelque-chose?un-attribut=une%20valeur&un-autre-attribut=une%20autre%20valeur

Comment récupérer le nom des attributs et ses valeurs ?
Avec le super tableau $_GET

Quels sont les outils dont tu vas avoir besoin (peut être ==> à toi de voir) ?
http-build-query

Ce qui va te donner ceci :
dans ton code :
au passage, i++, c'est pas la peine !

<?php 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="ma_page_cible.php?id=<?php echo $row["id"]; ?>">detail</a></td>
</tr>
<?php endwhile; ?>


ma_page_cible.php

<?php 
if(!empty($_GET['id'])){
    //affiche article
    $sql = 'SELECT * FROM employee WHERE id=?';
    // etc.
}

Modifié par niuxe (07 Feb 2021 - 16:22)
bonjour
un tres grand merci pour l aide
les conseils et le code
est il normal que rien n apparaisse
je dois sélectionner ce que je veux voir apparaître
en dessous de
$sql = 'SELECT * FROM employee WHERE id=?';



par exemple
<td><?php echo $row["email"]; ?></td>
    <td><?php echo $row["travail"]; ?></td>
    <td><?php echo $row["loisirs"]; ?></td>
connecté
Modérateur
flexi2202 a écrit :

est il normal que rien n apparaisse
je dois sélectionner ce que je veux voir apparaître
en dessous de
$sql = 'SELECT * FROM employee WHERE id=?';



par exemple

<td><?php echo $row["email"]; ?></td>
    <td><?php echo $row["travail"]; ?></td>
    <td><?php echo $row["loisirs"]; ?></td>



Quand je t'ai écrit, c'est pour créer une requête préparée (si tu ne sais pas ce que c'est ==> google est ton ami)
$sql = 'SELECT * FROM employee WHERE id=?';


ensuite, je ne vois pas où tu es ? Fichier cible ?

<td><?php echo $row["email"]; ?></td>
    <td><?php echo $row["travail"]; ?></td>
    <td><?php echo $row["loisirs"]; ?></td>