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
 
Avatar de VIRGINIE87
 
Femme Virginie
Sans Emploi
Inscription : avril 2006
Messages : 286
Détails du profil
Informations personnelles :
Nom : Femme Virginie
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Sans Emploi

Informations forums :
Inscription : avril 2006
Messages : 286
Points : 38
Points : 38
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 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<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 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<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 00
Vieux 07/02/2010, 11h07   #2
Membre Expert
 
Avatar de Fench
 
Inscription : mai 2002
Messages : 1 570
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mai 2002
Messages : 1 570
Points : 1 703
Points : 1 703
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 00
Vieux 07/02/2010, 11h35   #3
Débutant
 
Avatar de VIRGINIE87
 
Femme Virginie
Sans Emploi
Inscription : avril 2006
Messages : 286
Détails du profil
Informations personnelles :
Nom : Femme Virginie
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Sans Emploi

Informations forums :
Inscription : avril 2006
Messages : 286
Points : 38
Points : 38
aprés quelques recherches voila comment j'ai modifié mon script supprimer.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<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 00
Vieux 07/02/2010, 12h09   #4
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 248
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 248
Points : 2 291
Points : 2 291
Salut. Quelque chose comme ca ? (j'ai pas testé)

Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
 
<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 :
1
2
3
4
5
6
7
8
9
 
<?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 00
Vieux 07/02/2010, 12h16   #5
Membre Expert
 
Avatar de Fench
 
Inscription : mai 2002
Messages : 1 570
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mai 2002
Messages : 1 570
Points : 1 703
Points : 1 703
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 :
1
2
 
$delete_stage = "DELETE FROM tuto WHERE id='$id'";
Comme c un id (numérique), tu n'as pas besoin des quotes alors:
Code :
1
2
 
$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 00
Vieux 07/02/2010, 12h23   #6
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 248
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 248
Points : 2 291
Points : 2 291
Citation:
Envoyé par Fench Voir le message
Juste une remarque sur:
Code :
1
2
 
$delete_stage = "DELETE FROM tuto WHERE id='$id'";
Comme c un id (numérique), tu n'as pas besoin des quotes alors:
Code :
1
2
 
$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 :
1
2
 
$delete_stage = 'DELETE FROM tuto WHERE id='.$id;
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2010, 13h06   #7
Débutant
 
Avatar de VIRGINIE87
 
Femme Virginie
Sans Emploi
Inscription : avril 2006
Messages : 286
Détails du profil
Informations personnelles :
Nom : Femme Virginie
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Sans Emploi

Informations forums :
Inscription : avril 2006
Messages : 286
Points : 38
Points : 38
merci pour vos conseils , voici les résultats de vos conseils :
voici le code de mon script : indexsupprimer.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<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 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<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 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 04h16.


 
 
 
 
Partenaires

Hébergement Web