Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 07/02/2010, 11h01   #1
Débutant(e)
 
Avatar de VIRGINIE87
 
Date d'inscription: avril 2006
Localisation: loire et cher
Âge: 31
Messages: 236
Par défaut comment supprimer un enregistrement a partir d'un lien

Coucou à tous!!!
Je souhaiterai avoir des conseils concernant la démarche à avoir lorsque l'on souhaite supprimer un seul enregistrement à partir d'un lien.
Je m'explique :
Dans mon programme de test index.php j'ai le contenu de ma table (contenant 3 champs id,theme,titre) qui s'affiche et au niveau de chaque enregistrement j'ai le lien supprimer.
Concrétement je souhaite que lors du clic sur le lien supprimer j'exécute le script supprimer.php mais tout cela ne fonctionne.
D'abord mon probleme est que je ne sais pas comment faire pour appeler mon script à partir d'un lien?
Si cela fonctionnait je pourrai savoir si mon script supprimer et correct ou non?

voici mon script supprimer.php
Code :
<head>
 
</head>
<body>
 
<?php
                             
 
//if(isset($_POST['suppr']) && ($_POST['suppr'] != "1")) 
        { // on vérifie la présence des variables de formulaire (si le formulaire a été envoyé) 
 
         $id = $_POST['id']; 
         $delete_stage = "DELETE FROM tuto WHERE id='$id'"; 
         $result = mysql_query($delete_stage, $connect) or die(mysql_error()); 
		 }
             
 ?>
</body>
voici mon script index.php
Code :
<head>
<title>Tableau de bord</title>
 
 
</head>
<body>
<a href="index.php">Acceuil</a>
<?php
 $serveur='localhost';
 $user='root';
 $motdepasse=''; 
 $bdd='tableaudebord';
 $connect= mysql_connect($serveur,$user,$motdepasse) or die ("Impossible de se connecter: ");
 mysql_select_db($bdd);
 
                            
$reponse = mysql_query("SELECT id,theme,titre FROM tuto")or die(mysql_error()); // Requête SQL
while ($donnees = mysql_fetch_array($reponse) )
{
?>
    
<table >
<td width=40 height=100><?php echo $donnees['id']; ?></td><td ><?php echo $donnees['theme']; ?></td><td><?php echo $donnees['titre']; ?></td>
<td><a href="modiftuto.php">Modifier </a> echo"<a href=\"">Supprimer</a>    
</p>
 
<?php
}
$donnees = mysql_fetch_array($reponse) or die(mysql_error());   
echo"$reponse";             
 ?>
</body>
Merci d'avance pour vos conseils.
VIRGINIE87 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/02/2010, 11h07   #2
Expert Confirmé
 
Avatar de Fench
 
Date d'inscription: mai 2002
Localisation: Auvergne
Messages: 1 567
Par défaut

Bonjour,
lors d'un lien pour ta page supprimer.php, ce sont des $_GET qu'il faudra utiliser dans cette page ...
__________________
Actuellement AI à l'INRA
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)
Fench est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/02/2010, 11h35   #3
Débutant(e)
 
Avatar de VIRGINIE87
 
Date d'inscription: avril 2006
Localisation: loire et cher
Âge: 31
Messages: 236
Par défaut

aprés quelques recherches voila comment j'ai modifié mon script supprimer.php
Code :
 
<head>
 
</head>
<body>
 
<?php
                            
$idASupprimer = $_GET['idASupprimer'];
mysql_query("DELETE FROM tuto WHERE id='$idASupprimer' ");
         $delete_stage = "DELETE FROM tuto WHERE id='$id'"; 
         $result = mysql_query($delete_stage, $connect) or die(mysql_error()); 
		 }
             
 ?>
</body>
est ce que cela est correct?
Sinon concernant le lien j'ai n'est toujours pas trouvé d'indice?
Et encore merci pour tes indices fench.
VIRGINIE87 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/02/2010, 12h09   #4
Membre éprouvé
 
Avatar de Madfrix
 
Date d'inscription: juin 2007
Localisation: Bordeaux
Messages: 408
Par défaut

Salut. Quelque chose comme ca ? (j'ai pas testé)

Code php :
 
 
<table>
<?php
$reponse = mysql_query("SELECT id,theme,titre FROM tuto")or die(mysql_error()); 
while ($donnees = mysql_fetch_assoc($reponse)){
$html = '';
$html .= '<tr>';
$html .= '<td>'.$donnees['id'].'</td>';
$html .= '<td>'.$donnees['theme'].'</td>';
$html .= '<td>'.$donnees['titre'].'</td>';
$html .= '<td><a href="modiftuto.php?id='.$donnees['id'].'">Modifier</a></td>';
$html .= '</tr>';
echo $html;
}
?>
 </table>
 

et tu recupères les infos dans modiftuto.php avec GET comme te l'a dit Fench

Code php :
 
<?php
 
$id = $_GET['id'];
 
$delete_stage = "DELETE FROM tuto WHERE id='$id'"; 
$result = mysql_query($delete_stage, $connect) or die(mysql_error());
 
?>
 


PS: quand tu déclare un tableau pense à mettre des tr
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/02/2010, 12h16   #5
Expert Confirmé
 
Avatar de Fench
 
Date d'inscription: mai 2002
Localisation: Auvergne
Messages: 1 567
Par défaut

Désolé, un modérateur a enlevé le lien que je t'avais fournis car celui était un lien sur un site externe à developpez (je lui donne entièrement raison d'ailleurs ) ... donc regardes sur les tuto, FAQ du forum, tu dois avoir des réponses

Sinon pour le code, c ok madfix t'a donné une solution

Juste une remarque sur:
Code :
 
$delete_stage = "DELETE FROM tuto WHERE id='$id'"; 
 
Comme c un id (numérique), tu n'as pas besoin des quotes alors:
Code :
 
$delete_stage = "DELETE FROM tuto WHERE id=".$id; 
 
__________________
Actuellement AI à l'INRA
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)
Fench est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/02/2010, 12h23   #6
Membre éprouvé
 
Avatar de Madfrix
 
Date d'inscription: juin 2007
Localisation: Bordeaux
Messages: 408
Par défaut

Citation:
Envoyé par Fench Voir le message
Juste une remarque sur:
Code :
 
$delete_stage = "DELETE FROM tuto WHERE id='$id'"; 
 
Comme c un id (numérique), tu n'as pas besoin des quotes alors:
Code :
 
$delete_stage = "DELETE FROM tuto WHERE id=".$id; 
 
Oups oui désolé

Je rajouterai meme d'utiliser des simples quotes dont l'execution est plus rapide

Code :
 
$delete_stage = 'DELETE FROM tuto WHERE id='.$id; 
 
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/02/2010, 13h06   #7
Débutant(e)
 
Avatar de VIRGINIE87
 
Date d'inscription: avril 2006
Localisation: loire et cher
Âge: 31
Messages: 236
Par défaut

merci pour vos conseils , voici les résultats de vos conseils :
voici le code de mon script : indexsupprimer.php
Code :
<head>
<title>Tableau de bord</title>
</head>
<body>
<a href="index.php">Acceuil</a>
<?php
 $serveur='localhost';
 $user='root';
 $motdepasse=''; 
 $bdd='tableaudebord';
 $connect= mysql_connect($serveur,$user,$motdepasse) or die ("Impossible de se connecter: ");
 mysql_select_db($bdd);                           
?>
 <table>
<?php
$reponse = mysql_query("SELECT id,theme,titre FROM tuto")or die(mysql_error()); 
while ($donnees = mysql_fetch_assoc($reponse)){
$html = '';
$html .= '<tr>';
$html .= '<td>'.$donnees['id'].'</td>';
$html .= '<td>'.$donnees['theme'].'</td>';
$html .= '<td>'.$donnees['titre'].'</td>';
$html .= '<td><a href="supprimer.php?id='.$donnees['id'].'">Supprimer</a></td>';
$html .= '</tr>';
echo $html;
}
?>
</table>
</body>
et voici le script supprimer.php
Code :
<head>
</head>
<body>
<?php
 $serveur='localhost';
 $user='root';
 $motdepasse=''; 
 $bdd='tableaudebord';
 $connect= mysql_connect($serveur,$user,$motdepasse) or die ("Impossible de se connecter: "); 
 mysql_select_db($bdd);
 $retournbtutos = mysql_query("SELECT COUNT(*) AS id FROM tuto");
 $donneesnbtutos = mysql_fetch_array($retournbtutos);
 
$id = $_GET['id'];
$delete_stage = 'DELETE FROM tuto WHERE id='.$id; 
$result = mysql_query($delete_stage, $connect) or die(mysql_error());
?>
</body>
 
tout fonctionne
merci beaucoup

Dernière modification par VIRGINIE87 ; 07/02/2010 à 13h59.
VIRGINIE87 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PHPFAQ PHPCours PHPSources PHPLivres PHPScripts PHPOutils PHPComparatifsZend Framework

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 11h34.


Vos questions techniques : forum d'entraide PHP - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.