Salut !

Eh voila, mon tout premier post!

Je débute en PHP et je suis confronté à un problème sur lequel je butte depuis quelques heures maintenant..

Problématique:

J'aimerais vérifier si une valeur que je souhaite envoyer en base est déjà présente dans un champ de ma table.
Ce n'est peut-être pas très clair, mais vous devriez vite comprendre, grâce à ce petit bout de code ultra-simplifié illustrant mon problème.

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
 
// 1) Recupération des var de mon formulaire
$vartest = $_POST['mavartest'];
 
// 2) Creation de mon tableau de valeurs
$query2 = "SELECT chp1 FROM table1";
$result2 = mysql_query ($query2, $connexion);
 
$list=array(); 
 
if($result2){			 		    
while($alist=mysql_fetch_object($result2)){
	$list[]=$alist;}
		}
	else{
	echo mysql_error();
	}
 
// 3) Verification de l'unicité de la valeur en base
if (in_array ($vartest, $list)) {
    print "variable déjà présente en base !";
  }
 
// 4) Valeur absente, donc je peux inserer ma variable dans ma table
else{
$query3 = "INSERT INTO table1 (id,chp1) VALUES (NULL,'$vartest')";
$result3 = mysql_query ($query3, $connexion);
  echo "Nouvelle variable ajoutée: $vartest";
}
Le problème? En fait, ce code ne fonctionne tout simplement pas, puisque même si la valeur est présente dans mon tableau, j'insere une nouvelle valeur, identique à la première, dans ma table..

Si quelqu'un pouvait m'aider, ca serait super sympa! Je vous remercie d'avance,

Cordialement,