bonjour à tous,
Simple documentaliste en proie à la programmation, j'ai un souci avec ma requête SQL et mon code PHP (rien que ça me direz-vous...).
Je vous explique :
j'ai 3 tables : photo indexer indexp
objectif : création d'un formulaire pour la table indexer
pb : je n'arrive pas à empêcher lenregistrement de doublons dans cette table
NB : je sais que DISTINCT peut servir mais pas malheureusement dans une requête INSERT (seulement SELECT)
je sais que l'on peut préciser un UNIQUE mais l'unicité s'applique sur deux champs et pas un !!!
Bref, je ne vois pas comment empêcher les doublons sur l'ensemble de la table c'est-à-dire sur le couple IDP et IDM (clés étrangères présentes dans ma table indexer)
Pour plus d'information, voici en résumé mon formulaire et mon fichier de traitement :
et...
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <form ACTION="f_traitement_indexer.php" METHOD="get" NAME="f_saisie_indexer"> <table> <tr><td>veuillez saisir les différents renseignements demandés afin d'enregistrer les nouvelles correspondances</td></tr> <tr><td>numéro de saisie de la photo : </td> <td><INPUT TYPE="TEXT" NAME="IDP" VALUE="" SIZE="30" MAXLENGTH="20"></td></tr> <tr><td>numéro de saisie du mot-clé : </td> <td><INPUT TYPE="TEXT" NAME="IDM" VALUE="" SIZE="30" MAXLENGTH="20"></td></tr> <tr><td><INPUT TYPE="reset" VALUE="effacer"></td></tr> <tr><td><INPUT TYPE="submit" VALUE="valider"></td></tr> <tr><td>pour retrouver le numéro de saisie de la photo en question, <a href="popup/tableau_saisie_photo_popup.php" onclick="window.open(this.href,'nom_fenetre','width=900 , Height=400, scrollbars=yes, rezisable=yes');return false;"> cliquez ici</a></td></tr> <tr><td>pour retrouver le numéro de saisie du mot-clé en question, <a href="popup/tableau_saisie_index_popup.php" onclick="window.open(this.href,'nom_fenetre','width=500 , Height=400, scrollbars=yes, rezisable=yes');return false;"> cliquez ici</a></td></tr> </table> </form>
je me dis qu'il faut rajouter un else stipulant que si la valeur de (IDP+IDM) est différente de celle déjà présente dans la base, alors c'est bon...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 <? //recuperation des variables formulaires et affectation dans des variables php $IDP=$_GET['IDP']; $IDM=$_GET['IDM']; //conditions indispensable pour valider l'enregistrement if($IDP=='' AND $IDM=='') { echo " tralalilala "; exit(); } elseif($IDP=='') { echo " tralalilala "; exit(); } elseif($IDM=='') { echo " tralalilala "; exit(); } //connexion à la base mysql club et message si probleme $connexion=mysql_connect('localhost','root','') or die ("tralalilala"); mysql_select_db ('phototheque'); //envoi de la requête SQL a la base de donnees $query=mysql_query ("insert into indexer (IDP,IDM) VALUES ('$IDP','$IDM')") or die ("tralalilala"); //fermeture de la connection mysql_close($connexion); ?>
Mais, comment on traduit ça en PHP...?
PS : si un tutoriel (que je n'ai pas trouvé) explique tout ça, merci de me le préciser.
Cordialement,
un documentaliste à l'arrache
Partager