doublon dans une requete d'insertion

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 : doublon dans une requete d'insertion

par laboulette » 10 juil. 2006, 08:48

puréeeeeeee ce que je peux etre nunuche

merci de m'avoir demander la structure de ma table en la ressortant me suis rendu compte que ma clé primaire num_maj sur laquelle je fesai un compte et une addition etait defini en texte du coup mon probleme s'est resolu quand je l'ai remis en numerique

merci pour le petit coup de pouce :oops:

par Invité » 07 juil. 2006, 14:36

si tu nous donnais la structure SQL de la table majreferentiel exactement comme tu l'as décrite dans ta base (avec tes clés et indexes)

On pourra t'aider surement!

doublon dans une requete d'insertion

par laboulette » 07 juil. 2006, 10:21

rebonjour

bon alors je sais pas trop comment je vais exposer mon second soucis mais je vais essayer du mieux que je peux car il me rend chevre

voila g ce code
//recuperation des variable de mise a jour
$maj_ajou=$_POST['maj_ajou'];
$maj_modif=$_POST['maj_modif'];
$maj_supp=$_POST['maj_supp'];

//calcul du plus dernier numero des mises a jour enregistrees
$query_nb="select max(num_maj) from majreferentiel;";
$result_nb= odbc_do($connexion, $query_nb);
while (odbc_fetch_into($result_nb, $fields_nb))
{
	$nb_maj=$fields_nb[0]+1;
}

//si ma demande d'ajout n'est pas vide je l'enregistre
if ($maj_ajou==""){}
else
{
$query_ajou="insert into majreferentiel values ('".$nb_maj."','".$maj_ajou."','ajout','".$entretien."');";
$result_ajou= odbc_do($connexion, $query_ajou);
}

//recalcul du dernier numero de la mise a jour
$query_nb="select max(num_maj) from majreferentiel;";
$result_nb= odbc_do($connexion, $query_nb);
while (odbc_fetch_into($result_nb, $fields_nb))
{
	$nb_maj=$fields_nb[0]+1;
}

//si la demande de modification n'est pas vide je l'enregistre
if ($maj_modif==""){}
else
{
$query_modi="insert into majreferentiel values (".$nb_maj.",'".$maj_modif."','modif',".$entretien.");";
$result_modi= odbc_do($connexion, $query_modi);
}

//recalcul du dernier numero des mise a jour
$query_nb="select max(num_maj) from majreferentiel;";
$result_nb= odbc_do($connexion, $query_nb);
while (odbc_fetch_into($result_nb, $fields_nb))
{
	$nb_maj=$fields_nb[0]+1;
}

//si la demande de suppression n'est pas vide je l'enregistre
if ($maj_supp==""){}
else
{
$query_supp="insert into majreferentiel values (".$nb_maj.",'".$maj_supp."','supp',".$entretien.");";
$result_supp= odbc_do($connexion, $query_supp);
}
ca code marche parfaitement mais uniquement pour les 10 premiers enregistrement

après les requetes ne passe plus et il me dit
Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Modifications non effectuées: risque de doublons dans champs index, clé principale ou relation interdisant les doublons. Modifiez les données des champs contenant les doublons, enlevez ou redéfinissez l'index pour permettre les doublons et recommencez.,

le je ne suis plus du tout si quelqu'un trouve je le benie