Pb récupération d'une valeur dans array

Résolu
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 - 26 mai 2005 à 11:26
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 - 27 mai 2005 à 08:40
Bonjour!

Bon voilà, j'ai un problème.
Je remplis un tableau avec des valeurs que saisit un utilisateur, puis j'ai besoin de traiter ce tableau (en fait je veux savoir si ce qu'il a tapé existe dans la base). Enfin bref, le tableau est rmeplit correctement (apparemment) et puis là j'arrive pas à le tester. En fait je voudrais le parcourir, et à chaque fois qu'une de ses valeurs est égales à une des valeurs dans la base, je voudrais effacer la valeur du tableau.
Le problème c'est que j'arrive po à accéder directement au tableau en faisant : $refListe[$j]

Voilà un bout de monde, peut-être que j'ai une erreur!
if(isset($refListe)) //refListe c'est le tableau que je remplit au début
{
for($j=0;$j<sizeof($refListe);$j++)
{
if(($refListe[$j])==$liens[$i]) //J'arrive jamais à rentrer dans cette boucle (alors que je devrais quand je fais mes tests!)
{
unset($refListe[$j]) ;
}
}
}

Si quelqu'un voit comment m'aider, merci d'avance!!

4 réponses

cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
27 mai 2005 à 08:40
J'ai trouvé!

for($j=0;$j<mysql_num_rows($refSupp);$j++)
{
$refListe[]=mysql_fetch_row($refSupp);
}

Ce qui est en rouge est faux!! Fallait mettre :
for($j=0;$j<mysql_num_rows($refSupp);$j++)
{
$refSql=mysql_fetch_row($refSupp);
$refListe[]=$refSql[0];
}

Et puis pour afficher faut utiliser print_r($supp);

Voilà, merci quand même pour votre aide!
3
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
26 mai 2005 à 12:56
Salut,

$i à quel valeur ?

si non éssaye ça :

if(($refListe[$j])==$liens[$j]) //J'arrive jamais à rentrer dans cette boucle (alors que je devrais quand je fais mes tests!)



@+


Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
Forum pour discuter de vos problèmes ou même aider les autres ad
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
26 mai 2005 à 13:32
Ah oui g oublié, désolée!

EN fait $liens c la chaîne que l'utilisateur a entré (en fait ca correspond à une suite de références séparées par des points virgules).
Et donc en fait $liens c $liens=split(";",$champLiens); où $champLiens est la récupération du champ où a été entré les référence.
Enfin bref, $liens devient un tableau contenant chaque référence, mais $liens[$i] ca marche. (le $i c'est parce que je test chaque référence entrée)

Euh tu m'a compris?
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
26 mai 2005 à 15:13
En fait, pour mon problème de comparaison, comme c'est deux tableaux, j'ai vu que je pouvais utiliser la fonction array_diff.
Mais j'ai toujours un problème!! Quand je lui demande d'afficher mon tableau, il me redonne toutes les valeurs du premier tableau comme s'il arrivais pas à faire la différence entre les deux tableaux!! Je comprend rien!

Voilà des bouts de mon code au cas où quelqu'un pourrait m'aider, parce que ces tableaux commencent à beaucoup m'énerver!

//Là je récupère les références dans une table précise dans ma base de données et je les mets dans un tableau :
for($j=0;$j<mysql_num_rows($refSupp);$j++)
{
$refListe[]=mysql_fetch_row($refSupp);
}

Je ne met pas le code du tableau de $liens, parce que je l'ai mis au post précédent.

//Là je fais la différence entre toutes mes références et celles entrées par l'utilisateur :
$supp=array_diff($refListe,$liens);

//J'affiche mes références récupérées précédemment :
echo $supp;
0
Rejoignez-nous