cs_chamallow
Messages postés363Date d'inscriptionmercredi 18 mai 2005StatutMembreDernière intervention29 janvier 2007
-
26 mai 2005 à 11:26
cs_chamallow
Messages postés363Date d'inscriptionmercredi 18 mai 2005StatutMembreDernière intervention29 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!!
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);
ImmortalPC
Messages postés954Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention11 novembre 20082 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
cs_chamallow
Messages postés363Date d'inscriptionmercredi 18 mai 2005StatutMembreDernière intervention29 janvier 20071 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)
cs_chamallow
Messages postés363Date d'inscriptionmercredi 18 mai 2005StatutMembreDernière intervention29 janvier 20071 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;