Une erreur de script

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Une erreur de script

par Truc » 06 mars 2006, 01:13

dans ce cas il faut utiliser les 3 champs:
$val1="";
$val2="";
$val3="";

$deleteSQL = "DELETE FROM acrho_changement WHERE acrho_club_id_club= ".$val1." AND acrho_participant_ID_participant= ".$val2." AND acrho_categorie_ID_categorie= ".$val3;
et supprimer en fonction de ces champs et non "dossard" et "annee".
Il te faut récupérer ces valeurs lors de la proposition de suppression des données. Sur un lien par exemple.

par Sebe » 06 mars 2006, 00:30

l'id est la clé primaire... quel est le ou les champs qui sont clé dans la table ?
Pas de clé primaire ... que des clés étrangéres (acrho_club_id_club, acrho_participant_ID_participant, acrho_categorie_ID_categorie)

:shock: :shock: :shock: :shock: :shock:

par Truc » 06 mars 2006, 00:26

je n'ai pas d'id sur cette table
l'id est la clé primaire... quel est le ou les champs qui sont clé dans la table ?

par Sebe » 06 mars 2006, 00:19

insert en clause where l'id de la table pour supprimer que cette entrée.
Comme tu as pu le voir dans les différents champs, je n'ai pas d'id sur cette table. :roll: Y-a-t-il possibilité de la façon que je l'ai proposé ou bien y-a-t-il possibilité de rajouter un id dans la table par un coup de génie?

Merci

par Truc » 06 mars 2006, 00:09

Pour les requetes de suppression il faut ajouter une clause WHERE pour supprimer une ou plusieures entrées.

Dans la 1ère requete tu as supprimé tous les enregistrements qui contenaient pour le champ annee "2004".

Il faut donc indiquer un champ qui est unique pour chaque entrée (ligne) de la table. L'id est donc le mieux placé.

insert en clause where l'id de la table pour supprimer que cette entrée.

Une erreur de script

par Sebe » 05 mars 2006, 23:49

Salut,

J'ai une erreur dans mon script que je pense avoir identifier mais j'aimerai l'avis de personnes avertis pour m'aider à résoudre le problème!

La table en question:
acrho_changement

Les champs de la fameuse table:
acrho_club_id_club,
acrho_participant_ID_participant,
annee,
dossard,
acrho_categorie_ID_categorie

Conséquence de l'erreur:
J'ai voulu virer une entrée de cette table qui se situait en 2004 et toutes les entrées 2004 (soit plus de 100) sont parties au bac!

L'erreur que je pense avoir identifié:
$deleteSQL = sprintf("DELETE FROM acrho_changement WHERE annee=%s", GetSQLValueString($_GET['supp'], "text"));
La solution que je pense être la bonne:
$deleteSQL = sprintf("DELETE FROM acrho_changement WHERE annee=%s [b]AND acrho_club_id_club= ? AND acrho_participant_ID_participant= ? AND dossard= ? AND acrho_categorie_ID_categorie= ?[/b]", GetSQLValueString($_GET['supp'], "text"));
Qu'est-ce que vous en pensez? Oui pour les "?", je ne suis vraiment pas dans le coup mais pour l'idée?

Merci