8795 sujets

Développement web côté serveur, CMS

bonjour,

Comme d'habitude, je viens en dernier recours après 4h de tests dans tous les sens...
Alors j'ai une TABLE work_vid avec comme champs: "id", "works_id" et "url".

Pour mon admin, j'ai une requête pour effacer une ligne qui est:
DELETE FROM work_vid WHERE id = '.$v

$v étant un POST de l'id à supprimer (évidemment Smiley smile )

Mais voilà, et c'est la première fois que ça m'arrive, ma requête n'efface que le champ "url" au lieu d'effacer toute la ligne.

J'ai tout essayé, même jusqu'à enlever ma clé étrangère (correspondant à works_id) et faire une table des plus simples.....et RIEN ne marche Smiley biggol
Je deviens fou, je ne vois pas l'erreur....
Si vous pouviez m'aider! Un grand MERCI par avance!
Parce que c'est tout simplement impossible. DELETE ne permet d'effacer que des lignes, pas de vider des champs (pour ça il y a UPDATE).

Et sans code pour voir où tu fais une erreur ça va être compliqué de t'aider.
Merci pour ta réponse jb_gfx...mais c'est bien la ligne que je veux supprimer, c'est bien là le problème.
j'ai beau lui dire d'effacer la ligne correspondant à l'id voulu, il ne m'efface que le champ "url" de la ligne.

les codes au cas où:
le formulaire:
<input type="checkbox" name="supp_vid[]" value="'.$v['id'].'"/> 

(la variable $v['id'] passe bien)

la requête:
if (isset($_POST['supp_vid'])){
$sql = 'DELETE FROM work_vid WHERE id IN ('. implode(",", $_POST['supp_vid']) .')';
$req = $bdd->query($sql);
}


Merci encore!
Modifié par hophop (10 Jul 2012 - 18:37)
Merci tu me rassures...ou pas Smiley smile . Je pensais que je loupais un truc tout bête...mais même pas apparemment.
Aucune condition, les variables passent impec et j'ai forcément vérifier avec un
echo $sql;

Tout est bon.....
Mais voilà, il ne m'enlève que le champs "url"

Cette soirée est incompréhensible Smiley biggol Smiley biggol Smiley biggol
Modifié par hophop (10 Jul 2012 - 20:16)
Oh idiot que je suis!
J'avais une autre requête ensuite pour insérer des lignes à ajouter...
Et au lieu de faire un if(!empty()), j'ai fait un un if(isset())....

Forcément j'en effaçait une et il m'en créait une vide juste après, d'où l'impression qu'il me vidait juste un champ....pfiou Smiley sweatdrop une après-midi sur cette connerie.

Merci à toi jb_gfx en tous cas