[php] j'y capte rien aux array

Résolu/Fermé
Kopros Messages postés 597 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 février 2020 - 17 avril 2010 à 03:49
Kopros Messages postés 597 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 février 2020 - 17 avril 2010 à 05:45
Salut à tous

Jusqu'ici je n'ai jamais eu besoin d'utiliser d'array, faut dire que les array et moi ça fait 2 (voire plus, selon ce qu'il y a dans l'array^^).

Et là, ma seule solution est d'en utiliser un. Du coup je suis allé sur php.net mais j'ai pas compris comment faire ce que je veux.

En fait j'ai plusieurs boucles imbriquées qui parcours des tables d'une bdd. Quand le contenu spécifique d'un champ est repéré je fais quelques actions. Le problème c'est que y'a un problème, c'est à dire qu'avec le truchement de mes boucles on peut retomber sur le même contenu d'une ligne qu'a été déjà faite, et les actions se refont, alors que je veux qu'elles ne soient faites une seule fois.

Je sais pas si je suis clair. En gros, une fois que les actions ont été faites, je voudrais ajouter l'id de la ligne traitée dans un array, et avant de recommencer les actions, php vérifie tout le contenu de l'array.
L'array ce serait un peu comme une blacklist d'id à ne pas refaire.

Je sais pas comment faire ça, sachant que je ne peux pas connaître à l'avance la taille totale de l'array.

Vous pouvez m'aider svp ?



A voir également:

1 réponse

Kopros Messages postés 597 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 février 2020 89
17 avril 2010 à 05:45
Bon alors à force de tests et de prises de tête, j'ai trouvé ma solution :

$i=0;
$bl=array(); // decla du tableau
$sql="select * from articles";
$appli=mysql_query($sql) or die("erreur!");
while ($result=mysql_fetch_array($appli)){  //parcours de la bdd
	if ($result['rub2']!=0){    //si on doit prendre en compte l'article
		$max = count( $bl ); //on compte cb y'a d'éléments ds l'array
		$z=0;
		$fait="n";
		while ($z<$max){
			if ($bl[$z]==$result['rub2'])$fait="o"; //vérification si on a deja traité l'article
			$z++;
		}
		if ($fait=="n"){  // si on a pas deja traité l'article
			$bl[$i]=$result['rub2']; //on met le nouvel id dans l'array
			$i++; //incrémentation pour pas écraser ce qu'on a mis ds l'array
		}
	}
}



Voilà c'est une petite partie simplifiée de mon code, mais ça répond à ma question d'avant. Merci de votre aide :)
0