jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 16 déc. 2004 à 13:10
t'as deux solutions, soit faire ca en VB avec des boucles etc ... c pas compliqué, mais ton serveur web va travailler pour la boucle, et à chaque passage dans ta boucle, ton serveur SQL aussi, je te deconseil cette méthode.
la deuxieme solution, c'est de de faire un joli requete SQL qui te retourne tout ca comme tu le veux :) , il va falloir utiliser des jointures avec le mot clé INNER JOIN pour avoir de l'aide : sqlfr.com et sql.developpez.com
de memoire ca doit faire un truc de ce genre:
Select Categorie.description, membre.*
From Categorie INNER JOIN Membre
Where Categorie.cat = Membre.cat
mais je suis pas sur du tout, notamment sur le mot clé Where, c'est peut etre IN je sais plus, mais sur sql.developpez.com il y a pas mal d'exemple de jointure
pour l'instant ca fonctionne avec 3 connect différente :x
SQLquery = "SELECT * FROM membre WHERE sections like '%cs%' ORDER BY NAME ASC"
SQLquery1 = "SELECT * FROM membre WHERE sections like '%dod%' ORDER BY NAME ASC"
SQLquery2 = "SELECT * FROM membre WHERE sections like '%vip%' ORDER BY NAME ASC"
mais si je veux ajouter/supprimer une catégorie, je suis obliger de modifier les sources ,j'aimerai pouvoir tous gérer via la partie admin ...
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 16 déc. 2004 à 13:56
ben les jointures sont fait pour toi ;)
l'autre solution est de faire mumuse avec des for each ...
je te conseil aussi de faire des classes et des collections de classes si tu travails en .net bien sur.
par exemple tu peut faire cette classe
public class membreCollection
inherits CollectionBase
public function Ad(item as membre) as membre
me.List.Add(item)
return item
end funtion
public Default function Item(i as integer) as membre
return ctype(me.list(i),membre)
end function
end class
public class membre
public sub new()
end sub
public sub new(categorie as string, nom as string)
me._name = nom
me._Cat = categorie
end sub
public property name
.....
public property cat
end class
et apres tu peux faire
dim membres as new membrecollection
membres.add(new membre("CSFR", "Cyril")
etc...
Je te donne juste une piste apres à toi de l'exploiter, mais pour faire ce genre de choses, travailler avec des objets, c'est tres pratique, apres il te reste juste à lier ta bdd avec ta collection.
une fois que tu auras fait ta requete avec des innerjoin, tu vas tomber sur un datareader, tu pourras faire quelque chose du genre
dim m as membre
dim membres as membreCollection
do until not myreader.Read()
m = new membre
m.cat = myreader.item("categorie")
m.name = myreader.item("name")
membres.add(m)
loop
voila un petit exemple de ce que je te conseil de faire pour ton site, apres tu verras que travailler avec la bdd, devient une partie de plaisir :) bien sur il faut comprendre le principe, savoir deja travaillé avec de la programmation orienté objet, mais si tu connais deja la POO tu verras que cette méthode est tres agréable. Pour que ca devienne vraiment interessant, il faut bien sur modifier ces classes, rajouter des fonctionnalités etc...