problême avec delete

Kwansu
Invité n'ayant pas de compte PHPfrance

27 juil. 2006, 09:02

Bonjour tout le monde,

Voila j'ai un petit probleme avec la fonciton delete.

Je souhaite effacer les champs d'une tables:

voici mon code:
if ($operation == "supprimer")
{
    $query = "DELETE FROM contenu_page WHERE id_type_page=$id_type_page AND id_sous_type_page=$id_sous_type_page AND num_page=$num_page";
    $result = mysql_query($query);
    if (!$result)
    {
        echo "Texte pas effacé";
    }
    else {
        echo "Texte effacé";
}
La table contient 5 champs (4 INT et 1 TEXT): id_type_page, id_sous_type_page, num_page, num_texte, texte.

Lorsque j'effectue le requete seul le champ texte est effacé.

Merci de me dire d'ou peux venir ce résultat.

Eléphant du PHP | 353 Messages

27 juil. 2006, 09:07

Tu veux effacer seulement si les 4 conditions sont remplies ou si le champ contient une des valeurs ?

Car sinon, je pense que tu devrais plutot utiliser OR !

Eléphant du PHP | 177 Messages

27 juil. 2006, 09:10

Je dirais
$query = "DELETE ALL FROM contenu_page WHERE id_type_page=$id_type_page AND id_sous_type_page=$id_sous_type_page AND num_page=$num_page";
si tu veux supprimer tout ce qui correspond a ta clause WHERE. Je n'explique pas quand ne précisant rien ta requette supprime quand meme un champ ?
Mais il est tot :)

Kwansu
Invité n'ayant pas de compte PHPfrance

27 juil. 2006, 09:40

Merci pour ta réponse aelurus mais la requete ne s'effecute plus si je rajoute ALL.

Tictac :arrow: Oui il s'agit bien de supprimer si toutes les conditions sont réunies donc AND.

Kwansu
Invité n'ayant pas de compte PHPfrance

27 juil. 2006, 10:06

Mon problème est règlé...en fait plus loin dans la page je gere également les créations de champs..et j'avais pas mis qu'il ne fallait pas creer de champs si $operation = "supprimer" :oops:

Merci pour votre rapidité :D

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 juil. 2006, 10:07

Une requête DELETE supprime toute la ligne, je ne vois pas comment tu pourrais n'avoir qu'une colonne d'effacée :shock:

Et, on va le répéter encore une fois, pour débugger une requête SQL il faut avoir le code SQL généré, pas le code PHP qui la crée...

donc : echo $query

Et ça c'est un problème SQL, il y a un forum pour ça...