Aide - Recherche - Membres - Calendrier
Version complète : suppression données pb suite au tutoriel
Forum Développeur - Administration serveur, programmation et base de données > Programmation > PHP
arnaud21
Salut à tous,

Je débute en php et je suis le tutoriel "Insertion, Suppression, Modificatiosn de données" pour me consrtuire un backoffice.
J'ai reussi jusqu'à present à faire quasiment tout sauf la suppression qui ne marche pas.
Croyant que cela venait de moi, j'ai repris exactement le script du tutoriel avec la meme base de données et ce la ne marche pas non plus...
En fait il rentre bien dans le fichier "suppression2.php" mais il me sort toujours "suppresion a echouée".
Pourtant il se connecte correctement à ma base je suis sur et en mettant un echo de "id" qui est envoyé par le fichier precedent "suppression1.php"
j'ai bien mon id correct pour l'element selectionné.

Si qql peut m'aider ca serait super sympa. J'ai cherche mais je trouve pas pourquoi ca marche pas.

Le tutoriel en question : http://www.media-box.net/tuts.php?iddr=2103

merci d'avance

ARTno
qwix
Bizarre ça, et quand tu affiches la requête de suppression, tu as quoi ?

smile.gif
arnaud21
j'ai ca si je fais un echo("$sql") ;

avec

$sql = "DELETE
FROM actu
WHERE id = ".$id ;

j'obtiens en sortie :

DELETE FROM actu WHERE id = 1


ARTno
Antoine
CODE
DELETE champ FROM table WHERE condition


tu n'as pas mis les champs
qwix
Pas besoin, cette syntaxe supprimer toutes les données de la table
arnaud21
J'ai tout essayé et j'arrive vraiment pas à le faire marcher ce script...
Pourquoi il veut pas???

Sinon j'ai aussi un petit problème pour la partie MODIFICATION, ca marche nickel mais si j'ajoute du texte avec des simples quotes il me sort un bug... Je vois en gros pourquoi car ca finalise ma chaine de caractere avant la vrai fin.
Comment faire pour que les quotes puissent etre interpretées?

Merci à tous,

ARTno
Antoine
QUOTE
Pas besoin, cette syntaxe supprimer toutes les données de la table

ah smile.gif

QUOTE
Sinon j'ai aussi un petit problème pour la partie MODIFICATION, ca marche nickel mais si j'ajoute du texte avec des simples quotes il me sort un bug... Je vois en gros pourquoi car ca finalise ma chaine de caractere avant la vrai fin.
Comment faire pour que les quotes puissent etre interpretées?

Stripslashes

On peut voir ton code en entier (partie suppression)
arnaud21
Voila mes fichiers:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Bienvenue sur le BackOffice</title>
<STYLE type="text/css">
table
{
border-spacing: 1px;
border-collapse: collapse;
border: 1px grey solid;
}
td
{
font-family: Verdana;
font-size: 12pt;

margin: 1px;
border: 2px grey solid;
}
</style>
<style type="text/css">
<!--
a
{
text-decoration : none;
font-family : Verdana;
font-size : 12px;
color : #CCCCCC;
font-weight: bold;
font-style: normal
}
a:hover
{
font-family : Verdana;
font-size : 12px; color : #333333;
font-weight: bold;
font-style: normal
}

</style>
<style type="text/css">
<!--
.Style1 {
color: #666666;
font-size: 14px;
font-weight: bold;
font-family: Verdana;
}
.Style3 {font-size: 12px; font-family: Verdana; color: #666666;}
-->
</style>
<script language="javascript">
function confirme( identifiant )

{
var confirmation = confirm( "Voulez vous vraiment supprimer cet enregistrement ?" ) ;
if( confirmation )
{
document.location.href = "suppression2.php?id="+identifiant ;
}
}
</script>
</head>

<body>
<?php
//connection au serveur:
$cnx = mysql_connect( "localhost", "xxxxxxxx", "xxxxxxxx" ) ;

//sélection de la base de données:
$db = mysql_select_db( "site_test" ) ;

//requête SQL:
$sql = "SELECT *
FROM actu
ORDER BY id" ;

//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ;

//affichage des données:
while( $result = mysql_fetch_object( $requete ) )
{
echo("<div align=\"left\">".$result->libelle." <a href=\"modification2.php?id=".$result->id."\">modifier</a><a href=\"#\" onClick=\"confirme('".$result->id."')\" >supprimer</a><br><br>\n") ;
}
?>
</BODY>
</HTML>



et le deuxieme "suppresion2.php"


<?php
//suppression2.php:
//connection au serveur:
$cnx = mysql_connect( "localhost", "xxxxxxxx", "xxxxxxxx" ) ;

//sélection de la base de données:
$db = mysql_select_db( "site_test" ) ;

//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement supprimer:
$id = $_GET["id"] ;

//requête SQL:
$sql = "DELETE
FROM actu
WHERE id = ".$id ;

//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ;

//affichage des résultats, pour savoir si la suppression a marchée:
if($requete)
echo("La suppression à été correctement effectuée") ;
else
echo("La suppression à échouée ") ;
?>


Voila si qql voit pourquoi il ne rentre pas dans le if...

ARTno
arnaud21
j'ai teste un truc
sur le fichier "suppression2.php" j'ai remplacé ca :
$requete = mysql_query( $sql, $cnx ) ;

par :

$requete = mysql_query( $sql, $cnx ) or die( mysql_error() ) ;

et donc en sortie il me sort:

Accès refusé pour l'utilisateur: 'xxxxxx@localhost'. Base 'site_test'

Je capte pas. J'ai vérifié 20 000 fois et c'est le bon utilisateur et mot de passe surtout que pour le script d'insertion et de modification je n'ai absolument aucun soucis.

Merci de me venir en aide

ARTno
qwix
Ben voilà, c'est un problème de login/pass, vérifie, soit ce ne sont pas les bons, soit tu n'as pas les droits d'update et de delete sur MYSQL wink.gif

smile.gif
arnaud21
Merci à tous,

c'etait effectivement que mon user n'avait juste pas le droit "delete" quel boulet je fais.

merci encore,

ARTno
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.