8792 sujets

Développement web côté serveur, CMS

Bonjour,

Voila deux jours que je planche sur ce probleme et je n'arrive pas a trouver la solution...

mon probleme :
j'ai deux array et je voudrais comparer une valeur du premier array a toutes les valeurs du second array pour mieux comprendre je vous fait un exemple.

ignorer les points => .

configuration du premier tableau :
{id} {id_theme} {user_id}
..1..............1...........1
..2..............2...........1
..3..............3...........1
..4..............1...........2
..5..............2...........2
..6..............3...........2

configuration du second tableau :
{id} {loc} {nom}
..1....v1/......v1
..2....v2/......v2
..3....v3/......v3

les donnee a comparer serait dans le premier tableau le champ {id_theme} et le champ {id} du second tableau se que veut en faite c'est que l'on compare la premiere valeur du champ {id} du second tableau a toute les valeurs du champ {id_theme} du second tableau puis la seconde valeur du champ {id} du premier tableau a toutes les valeurs du champs {id_theme} du second tableau et ainsi de suite donc si vous avez des idees...

merci d'avance...
Modifié par ace (14 Mar 2007 - 23:55)
Administrateur
Bonjour,

ton sujet n'a pas de rapport avec les Standards du web, ce dans quoi est spécialisé Alsacréations. Tu trouveras peut-être une réponse ici mais sans garantie Smiley cligne je te conseille plutôt de poser ta question dans un forum plus généraliste pour webmasters (voir liens des partenaires en bas de page) ou de développement/programmation.

Ceci dit, tu inverses premier et second dans tes explications au moins une ou deux fois, ça complique un peu la lecture Smiley lol (pas d'id_theme dans le 2nd tableau)
Sur le fond, je ne vois pas où est-ce que tu fais une *comparaison*. Tu ne veux pas plutôt *accéder* à une certaine ligne du 2ème tableau après avoir obtenu le numéro de cette ligne dans une certaine colonne du 1er tableau?
Modifié par Felipe (15 Mar 2007 - 02:06)
salut,
comparer ou voir si elle est présente ?
Si c'est la deuxième proposition tu as plusieurs solutions dont une, un peu bourrin je l'admets Smiley smile , mais redoutable d'efficacité qui est de coller tes tableaux dans tes tables temporaires Mysql et là, piece of cake de faire tes recherches comparatives.
Ceci dit, si je puis me permettre, si tu veux comparer ton id_theme avec un id du deuxième tableau, il y a des chances pour que ce soit aussi un id theme, isn't it ? si c'est le cas il eut été plus judicieux de l'appeler comme ça aussi, ça simplifie grandement la recherche. Tout ça ressemble à une simple structure de tables relationelles genre :

une table theme
id_theme
champ1
champ2...

une table user
id_user
id_theme
champblabla
champtoto

you see what I mean ? Smiley smile

Si ça se trouve d'ailleurs, tu as extraits tes données de tables et te mets à les comparer après, masochisme ? Smiley cligne
j'avais oublié...
Have swing
Modifié par virtualgadjo (15 Mar 2007 - 08:26)
bonjour et merci de vos reponse Smiley biggrin ,

ce que je veut c'est voir si la valeur de id_theme est presente dans les deux tableaux car pour les theme qui ne sont pas present dans les deux tables il faut que j'affiche un texte

cependant les deux tables sont completement differente dans leur utilité puisque la premiere sert a la verification des themes sont activé ou non pour l'utilisateur

je pense avoir trouver la solution mais j'ai besoin de votre avis Smiley id

$tableau1 = mysql_query("SELECT * FROM $table_active_user_theme WHERE id_user = ".$userdata['user_id']);

$tableau2 = mysql_query("SELECT * FROM $table_theme");

$tableau1fetch = mysql_fetch_array($tableau1);

$idtableau = 0;

while($tableau2fetch = mysql_fetch_array($tableau2)){

if(in_array($tableau2fetch['id'], $tableau1fetch['id_theme'])){

//si elle est dans les deux je ne fais rien

}else{

//sinon j'inclue les donnees dans nouveau tableau

$arraythemenonactive[$idtableau] = '<option value="'.$tableau2fetch['id'].'">'.$tableau2fetch['nom'].'</option>';

$idtableau++;
}
}

voila vous pensez que sa pourrez fonctionner ??? Smiley ohwell

merci d'avance...
Re,
ouh la, ça peut peut-être fonctionner, je t'avoue que j'ai lu et relu ton code mais il est un peu, comment dire, complexe Smiley smile

En fait, il faudrait comprendre exactement ce que tu veux faire. Est-ce sélectionner dans une table des élements seulement si tu trouves dans l'autre un id te disant que l'utilisateur est concerné, enfin un truc comme ça ? Smiley smile Si oui, tu devrais te pencher sur la syntaxe des requêtes avec JOIN, ça raccourcirait considérablement le processus

Have swing
sa marche presque mais j'ai un probleme assez embetant quand je fait ma requete

$tableau1 = mysql_query("SELECT * FROM $table_active_user_theme WHERE id_user = ".$userdata['user_id']);

puis ensuite

$tableau1fetch = mysql_fetch_array($tableau1);

il ne m'affiche qu'une valeur quand je fait un print_r alors que normalement je devrais en avoir 2

d'ou cela peut bien venir ??? Smiley ohwell

merci d'avance