Bonjour,
Voici mon problème :
Prenons un exemple simple :
un utilisateur A veut faire une sélection d'objet.
Afin de vérifier qu'il ne possède pas déjà cet objet, je vérifie avec son identifiant "utilisateur A" qu'il ne possède rien sur la base de données.
Ce code fonctionne très bien !
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 $obj_a_inserer = "tv"; $identifiant = "utilisateur A"; $tab_id_objet = array(); //Connexion a la BDD $connexion = mysql_connect($host, $login, $mdp); mysql_select_db("toto"); // Sélection de la base mateo21 $resultat = mysql_query("SELECT objet FROM test WHERE identifiant='$identifiant';") or die(mysql_error()); $i = 0; while($donnees = mysql_fetch_assoc($resultat)){ $tab_id_objet[$i] = $donnees['id_objet']; $i++; } mysql_close(); if (in_array($obj_a_inserer,$tab_id_objet)){ echo "Entre 1".'<br>'; }else{ echo "Entre 2".'<br>'; }
Je veux maintenant insérer la valeur si elle n'existe pas dans la base de données
C'est la que se pose mon problème, je me retrouve toujours dans la boucle "Entre 1", que l'objet soit ou ne soit pas la base de données...
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 $obj_a_inserer = "tv"; $identifiant = "utilisateur A"; $tab_id_objet = array(); //Connexion a la BDD $connexion = mysql_connect($host, $login, $mdp); mysql_select_db("toto"); // Sélection de la base mateo21 $resultat = mysql_query("SELECT objet FROM test WHERE identifiant='$identifiant';") or die(mysql_error()); $i = 0; while($donnees = mysql_fetch_assoc($resultat)){ $tab_id_objet[$i] = $donnees['id_objet']; $i++; } mysql_close(); if (in_array($obj_a_inserer,$tab_id_objet)){ echo "Entre 1".'<br>'; }else{ echo "Entre 2".'<br>'; $connexion = mysql_connect($host, $login, $mdp); mysql_select_db("toto"); mysql_query("INSERT INTO test VALUES ('$identifiant','$obj_a_inserer');") or die(mysql_error()); mysql_close(); }
En plus, l'objet a insérer est bien inséré dans la base de données...
On dirait que la requête pour inclure l'objet se fait des le démarrage de la page et qu'ensuite il exécute le contenu de la page.
Savez vous d'où peux provenir ce phénomène ?
Merci
Partager