Passage avec paramétre id en PHP AIDE SVP
                    
        
     
             
                    ALLOUCHLARBI
    
        
    
                    Messages postés
            
                
     
             
            7
        
            
                                    Statut
            Membre
                    
                -
                                     
IpIpIpIpOne Messages postés 480 Statut Membre -
        IpIpIpIpOne Messages postés 480 Statut Membre -
        Bonjour,
Je suis débutant en PHP et j'ai un problème au niveau d'un projet qu'on viens de me confier, je vous expose mon problème on attendant de l'aide de votre part et MERCI :
Ecrire le code HTML et php du fichier affiche.php qui permet d’afficher dans un tableau tous les enregistrements d'une table. En face à chaque enregistrement, il faut ajouter un lien HTML sur supprimer vers les fichier Supprime.php avec un paramètre id dont la valeur est celle du champ ID_VISITEUR de
l ‘enregistrement en cours de la table visiteurs.
Je vous fais un copier/coller du fichier Affiche.php :
<center><table border="1" bgcolor="#00ffc0">
<?php
$c=mysql_connect("localhost","root","mysql");
$db=mysql_select_db("livre",$c);
$req="SELECT * From visiteurs";
$res=mysql_query($req,$c);
$id = (int) $_GET['id'];
while($ligne=mysql_fetch_row($res))
{
echo"<tr>";
for($i=0;$i<mysql_num_fields($res);$i++)
echo"<td>",$ligne[$i],"</td>";
echo"<td>";
echo"<a href=\"Supprime.php?id='$id'\">SUPPRIMER","</a>";
"</td>";
echo"</tr>";
}
?>
 
Le fichier Supprime.php :
<?php
$c=mysql_connect("localhost","root","mysql");
$db=mysql_select_db("livre",$c);
if(isset($_GET['id']))
{
$sql="DELETE FROM visiteurs WHERE ID_VISITEUR = '$id'";
$query = mysql_query($sql) or die(mysql_error());
header('Location: Affichage.php');
}
?>
Merci de bien vouloir m'aider j'en serai trés reconnaissant. BOnne journée.
                
            
                
    
    
    
        Je suis débutant en PHP et j'ai un problème au niveau d'un projet qu'on viens de me confier, je vous expose mon problème on attendant de l'aide de votre part et MERCI :
Ecrire le code HTML et php du fichier affiche.php qui permet d’afficher dans un tableau tous les enregistrements d'une table. En face à chaque enregistrement, il faut ajouter un lien HTML sur supprimer vers les fichier Supprime.php avec un paramètre id dont la valeur est celle du champ ID_VISITEUR de
l ‘enregistrement en cours de la table visiteurs.
Je vous fais un copier/coller du fichier Affiche.php :
<center><table border="1" bgcolor="#00ffc0">
<?php
$c=mysql_connect("localhost","root","mysql");
$db=mysql_select_db("livre",$c);
$req="SELECT * From visiteurs";
$res=mysql_query($req,$c);
$id = (int) $_GET['id'];
while($ligne=mysql_fetch_row($res))
{
echo"<tr>";
for($i=0;$i<mysql_num_fields($res);$i++)
echo"<td>",$ligne[$i],"</td>";
echo"<td>";
echo"<a href=\"Supprime.php?id='$id'\">SUPPRIMER","</a>";
"</td>";
echo"</tr>";
}
?>
Le fichier Supprime.php :
<?php
$c=mysql_connect("localhost","root","mysql");
$db=mysql_select_db("livre",$c);
if(isset($_GET['id']))
{
$sql="DELETE FROM visiteurs WHERE ID_VISITEUR = '$id'";
$query = mysql_query($sql) or die(mysql_error());
header('Location: Affichage.php');
}
?>
Merci de bien vouloir m'aider j'en serai trés reconnaissant. BOnne journée.
        A voir également:         
- Passage avec paramétre id en PHP AIDE SVP
- Remettre parametre usine pc - Guide
- Parametre dns - Guide
- Parametre windows - Guide
- Passage qwerty azerty - Guide
- Netflix paramètre compte - Guide
12 réponses
                        
                    <?php
$c=mysql_connect("localhost","root","mysql");
$db=mysql_select_db("livre");
$req="SELECT pseudo_visiteur,id_visiteur FROM visiteurs";
$res=mysql_query($req);
echo '<table>';
while($ligne=mysql_fetch_array($res))echo '<tr><td>'.$ligne['pseudo_visiteur'].'</td><td><a href="Supprime.php?id='.$ligne['id_visiteur'].'">SUPPRIMER</a></td></tr>";
echo '</table>';
?>
                
                
    
                $c=mysql_connect("localhost","root","mysql");
$db=mysql_select_db("livre");
$req="SELECT pseudo_visiteur,id_visiteur FROM visiteurs";
$res=mysql_query($req);
echo '<table>';
while($ligne=mysql_fetch_array($res))echo '<tr><td>'.$ligne['pseudo_visiteur'].'</td><td><a href="Supprime.php?id='.$ligne['id_visiteur'].'">SUPPRIMER</a></td></tr>";
echo '</table>';
?>
                        
                    Merci pour ta réponse IpIpIpIpOne :( mais ca marche toujours pas.. j'aimerai bien avoir une reponse plus claire vu que je suis un débutant en PHP.. 
Me dire carement quoi modifier dans le fichier affichage.php ainsi que le fichier supprime.php , ET MERCI encore une fois.
    
                Me dire carement quoi modifier dans le fichier affichage.php ainsi que le fichier supprime.php , ET MERCI encore une fois.
                        
                    <center><table border="1" bgcolor="#00ffc0">
<?php
$c=mysql_connect("localhost","root","mysql");
$db=mysql_select_db("livre",$c);
$req="SELECT * From visiteurs";
$res=mysql_query($req,$c);
//$id = (int) $_GET['id'];
//ca ça sert à rien
while($ligne=mysql_fetch_row($res)){
//plutôt uliser mysql_fetch_array()
echo"<tr>";
//for($i=0;$i<mysql_num_fields($res);$i++)
//echo"<td>",$ligne[$i],"</td>";
//ca je vois pas top à quoi ça sert
echo"<td>";
//echo"<a href=\"Supprime.php?id='$id'\">SUPPRIMER","</a>";
//tu dois aller récupérer l'id du visiteur dans le résultat de ta requête sql et les ' autour de id sont pas utiles
//-> echo "<a href=\"Supprime.php?id=$ligne['id_visiteur']\">SUPPRIMER</a>";
"</td>";
echo"</tr>";
}
//echo '</table>';
?>
Le fichier Supprime.php :
<?php
$c=mysql_connect("localhost","root","mysql");
$db=mysql_select_db("livre",$c);
if(isset($_GET['id']))
{
$sql="DELETE FROM visiteurs WHERE ID_VISITEUR = '$id'";
$query = mysql_query($sql) or die(mysql_error());
header('Location: Affichage.php');
//ça ça me parait bon mais par facilité, c'est plus lisible de mettre la "structure" de ta requête sql en majuscules et les noms de tes champs en minuscules.
}
?>
Essaye aussi d'éviter les majuscules dans les noms de tes fichiers.
J'espère avoir été un peu plus clair cette fois-ci.
Cordialement,
IpIpIp Ipone
                
                
    
                <?php
$c=mysql_connect("localhost","root","mysql");
$db=mysql_select_db("livre",$c);
$req="SELECT * From visiteurs";
$res=mysql_query($req,$c);
//$id = (int) $_GET['id'];
//ca ça sert à rien
while($ligne=mysql_fetch_row($res)){
//plutôt uliser mysql_fetch_array()
echo"<tr>";
//for($i=0;$i<mysql_num_fields($res);$i++)
//echo"<td>",$ligne[$i],"</td>";
//ca je vois pas top à quoi ça sert
echo"<td>";
//echo"<a href=\"Supprime.php?id='$id'\">SUPPRIMER","</a>";
//tu dois aller récupérer l'id du visiteur dans le résultat de ta requête sql et les ' autour de id sont pas utiles
//-> echo "<a href=\"Supprime.php?id=$ligne['id_visiteur']\">SUPPRIMER</a>";
"</td>";
echo"</tr>";
}
//echo '</table>';
?>
Le fichier Supprime.php :
<?php
$c=mysql_connect("localhost","root","mysql");
$db=mysql_select_db("livre",$c);
if(isset($_GET['id']))
{
$sql="DELETE FROM visiteurs WHERE ID_VISITEUR = '$id'";
$query = mysql_query($sql) or die(mysql_error());
header('Location: Affichage.php');
//ça ça me parait bon mais par facilité, c'est plus lisible de mettre la "structure" de ta requête sql en majuscules et les noms de tes champs en minuscules.
}
?>
Essaye aussi d'éviter les majuscules dans les noms de tes fichiers.
J'espère avoir été un peu plus clair cette fois-ci.
Cordialement,
IpIpIp Ipone
                        
                    Merci beaucoup pour ton aide cher IpIpIpIpOne. J'ai eu ce message d'erreur ca peux etre du a quoi STP ?
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\TP PHP\TP 1 PHP\Affichage.php on line 20
    
                Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\TP PHP\TP 1 PHP\Affichage.php on line 20
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
                        
                    On pourrait sans doutes t'aider plus facilement si tu disais quelle est la ligne 20 dans ton script ... et dans quel fichier ...
Il s'agit certainement d'un " ou d'un ' mal placé ou mal fermé.
                
                
    
                Il s'agit certainement d'un " ou d'un ' mal placé ou mal fermé.
                        
                    Oops je m'excuse :) alors voila la ligne :
LIGNE20 = echo "<a href=\"Supprime.php?id=$ligne['ID_VISITEURS']\">SUPPRIMER</a>";
fichier affichage.php
MERCIIII
    
                LIGNE20 = echo "<a href=\"Supprime.php?id=$ligne['ID_VISITEURS']\">SUPPRIMER</a>";
fichier affichage.php
MERCIIII
                        
                    Essaye
echo '<a href="Supprime.php?id='.$ligne['ID_VISITEURS'].'">SUPPRIMER</a>';
Niveau performance, c'est (légèrement) mieux de faire comme ça. Vu que tu débutes, autant que tu prennes directement les bonnes habitudes. Plutôt que d'utiliser des points pour relier tes variables et tes chaines de caractères, tu peux aussi plutôt utiliser des virgules (avec echo).
echo '<a href="Supprime.php?id=',$ligne['ID_VISITEURS'],'">SUPPRIMER</a>';
  
                
                
    
                echo '<a href="Supprime.php?id='.$ligne['ID_VISITEURS'].'">SUPPRIMER</a>';
Niveau performance, c'est (légèrement) mieux de faire comme ça. Vu que tu débutes, autant que tu prennes directement les bonnes habitudes. Plutôt que d'utiliser des points pour relier tes variables et tes chaines de caractères, tu peux aussi plutôt utiliser des virgules (avec echo).
echo '<a href="Supprime.php?id=',$ligne['ID_VISITEURS'],'">SUPPRIMER</a>';
                        
                    Alors voila j'ai suivi tes instructions à la lettre, à priori ça marche le tableau s'affiche mais y'a une notice juste au dessus du liens SUPPRIMER ou y'a ecris :
Notice: Undefined index: ID_VISITEURS in C:\TP PHP\TP 1 PHP\Affichage.php on line 20
toujours par rapport à la ligne 20
quand je clique sur supprimer.. y'as pas de supression c'est normal je crois.. je sais pas pourquoi il reconnait pas ID_VISITEUR alors qu'elle est déclaré dans la table de la BD.
un dernier petit truc IpIpIpIpOne STP, dans le fichier supprime.php :
if(isset($_GET['id'])) // $_GET['id'] ou $_GET['ID_VISITEUR'] ??
{
$sql="DELETE FROM visiteurs WHERE ID_VISITEUR = '$id'"; // $_GET['id'] ou $_GET['ID_VISITEUR']
$query = mysql_query($sql) or die(mysql_error());
Merci pour ton aide cher ami !!
    
                Notice: Undefined index: ID_VISITEURS in C:\TP PHP\TP 1 PHP\Affichage.php on line 20
toujours par rapport à la ligne 20
quand je clique sur supprimer.. y'as pas de supression c'est normal je crois.. je sais pas pourquoi il reconnait pas ID_VISITEUR alors qu'elle est déclaré dans la table de la BD.
un dernier petit truc IpIpIpIpOne STP, dans le fichier supprime.php :
if(isset($_GET['id'])) // $_GET['id'] ou $_GET['ID_VISITEUR'] ??
{
$sql="DELETE FROM visiteurs WHERE ID_VISITEUR = '$id'"; // $_GET['id'] ou $_GET['ID_VISITEUR']
$query = mysql_query($sql) or die(mysql_error());
Merci pour ton aide cher ami !!
                        
                    Bon, ça rame ferme il me semble ... t'aurais pas brossé quelques cours par hasard ? ;)
Notice: Undefined index: ID_VISITEURS in C:\TP PHP\TP 1 PHP\Affichage.php on line 20
toujours par rapport à la ligne 20
Ben ça c'est certainement parce que le nom du champ est incorrect.
SELECT id_visiteurs FROM table (id_visiteurs doit correspondre au nom d'un des champs de ta table !)
if(isset($_GET['id'])) // $_GET['id'] ou $_GET['ID_VISITEUR'] ??
Ca c'est comme tu veux, mais ici, on a choisi d'utiliser '$_GET['id']' (echo '<a href="Supprime.php?id='.$ligne['ID_VISITEURS'].'">SUPPRIMER</a>';)
On aurait pu tout aussi bien utiliser $_GET['ID_VISITEUR'] mais on aurait du faire alors : echo '<a href="Supprime.php?ID_VISITEUR='.$ligne['ID_VISITEURS'].'">SUPPRIMER</a>';
$_GET est un tableau 'superglobal' qui permet d'accéder aux variables contenues dans l'url de la page (les variables sont placées après le '?' et séparés par des '&')
Allez, ami Terrien, courage !
                
                
    
                Notice: Undefined index: ID_VISITEURS in C:\TP PHP\TP 1 PHP\Affichage.php on line 20
toujours par rapport à la ligne 20
Ben ça c'est certainement parce que le nom du champ est incorrect.
SELECT id_visiteurs FROM table (id_visiteurs doit correspondre au nom d'un des champs de ta table !)
if(isset($_GET['id'])) // $_GET['id'] ou $_GET['ID_VISITEUR'] ??
Ca c'est comme tu veux, mais ici, on a choisi d'utiliser '$_GET['id']' (echo '<a href="Supprime.php?id='.$ligne['ID_VISITEURS'].'">SUPPRIMER</a>';)
On aurait pu tout aussi bien utiliser $_GET['ID_VISITEUR'] mais on aurait du faire alors : echo '<a href="Supprime.php?ID_VISITEUR='.$ligne['ID_VISITEURS'].'">SUPPRIMER</a>';
$_GET est un tableau 'superglobal' qui permet d'accéder aux variables contenues dans l'url de la page (les variables sont placées après le '?' et séparés par des '&')
Allez, ami Terrien, courage !
                        
                    je te promet cher ami que j'ai suivi toute tes instruction à la lettre j'ai résolu le blem de la notice, par contre la fonction supprimer elle marche pas :( :(  
Voici l'attribution du parametre id dans affichage.php:
echo '<a href="Supprime.php?id='.$ligne['ID_VISITEUR'].'">SUPPRIMER</a>';
SUPPRIME.PHP
<?php
$c=mysql_connect("localhost","root","mysql");
$db=mysql_select_db("livre",$c);
if(isset($_GET['id']))
{
$sql="DELETE FROM visiteurs WHERE ID_VISITEUR = '$id'";
$query = mysql_query($sql) or die(mysql_error());
header('Location: Affichage.php');
}
?>
alors que tout est NIKEL :(
    
                Voici l'attribution du parametre id dans affichage.php:
echo '<a href="Supprime.php?id='.$ligne['ID_VISITEUR'].'">SUPPRIMER</a>';
SUPPRIME.PHP
<?php
$c=mysql_connect("localhost","root","mysql");
$db=mysql_select_db("livre",$c);
if(isset($_GET['id']))
{
$sql="DELETE FROM visiteurs WHERE ID_VISITEUR = '$id'";
$query = mysql_query($sql) or die(mysql_error());
header('Location: Affichage.php');
}
?>
alors que tout est NIKEL :(
