[Réglé]Recherche dans une BDD avec différent critère
4 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
[Réglé]Recherche dans une BDD avec différent critère
Bonjour tout le monde,
Alors voilà j'ai formulaire avec différent champ tel que:
Société
Type de machine
Type d' OS
Modèle de la machine
Nom de la machine dans le domaine
Programme installé
Autre remarque
Puis une base de donné composé ainsi:
Donc ce que je désire en faîtes c'est après que le formulaire est été remplis une requete SQL recherche dans la BDD les machines qui par exemple appartiennent à la société ou alors sont de type machine X ou avec L'OS x ou encore ont le programme X ...
J'ai essayé mais à chaque fois il me renvoie toutes les machines présentes et non pas seulment celle dans le critère/
Voilà les différente requête que j'ai effectué:
J'espère pouvoir le faire avec une seule requête mais si c'est impossible dîtes le.
Si je suis pas très claire dîtes le tout de suite.
Merci d'avance pour votre aide
Alors voilà j'ai formulaire avec différent champ tel que:
Société
Type de machine
Type d' OS
Modèle de la machine
Nom de la machine dans le domaine
Programme installé
Autre remarque
Puis une base de donné composé ainsi:
- Code: Tout sélectionner
--
-- Structure de la table `machine`
--
CREATE TABLE `machine` (
`id_machine` varchar(255) NOT NULL,
`id_societe` int(255) NOT NULL,
`id_OS` int(255) NOT NULL,
`id_T_machine` int(255) NOT NULL,
`modele` varchar(255) default NULL,
`Ip` varchar(255) default NULL,
`Masque` varchar(255) default NULL,
`passserrelle` varchar(255) default NULL,
`DNS` varchar(255) default NULL,
PRIMARY KEY (`id_machine`),
KEY `id_societe` (`id_societe`),
KEY `id_T_machine` (`id_T_machine`),
KEY `id_OS` (`id_OS`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Structure de la table `os`
--
CREATE TABLE `os` (
`id_OS` int(255) NOT NULL auto_increment,
`Nom_OS` varchar(255) default NULL,
PRIMARY KEY (`id_OS`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;
--
-- Structure de la table `societe`
--
CREATE TABLE `societe` (
`id_societe` int(255) NOT NULL auto_increment,
`Nom` varchar(255) default NULL,
`Ip_internet` varchar(15) default NULL,
PRIMARY KEY (`id_societe`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Structure de la table `type_machine`
--
CREATE TABLE `type_machine` (
`id_T_machine` int(255) NOT NULL auto_increment,
`Nom` varchar(255) NOT NULL,
PRIMARY KEY (`id_T_machine`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
--
-- Contraintes pour les tables exportées
--
--
-- Contraintes pour la table `machine`
--
ALTER TABLE `machine`
ADD CONSTRAINT `machine_ibfk_1` FOREIGN KEY (`id_societe`) REFERENCES `societe` (`id_societe`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `machine_ibfk_2` FOREIGN KEY (`id_T_machine`) REFERENCES `type_machine` (`id_T_machine`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `machine_ibfk_3` FOREIGN KEY (`id_OS`) REFERENCES `os` (`id_OS`) ON DELETE CASCADE ON UPDATE CASCADE;
Donc ce que je désire en faîtes c'est après que le formulaire est été remplis une requete SQL recherche dans la BDD les machines qui par exemple appartiennent à la société ou alors sont de type machine X ou avec L'OS x ou encore ont le programme X ...
J'ai essayé mais à chaque fois il me renvoie toutes les machines présentes et non pas seulment celle dans le critère/
Voilà les différente requête que j'ai effectué:
- Code: Tout sélectionner
SELECT * FROM societe,machine,os,type_machine where os.Nom_OS='$T_OS' OR societe.Nom='$societe' OR type_machine.Nom='$T_machine' OR machine.modele LIKE '%$modele%' or machine.Nom_machine_domaine LIKE '%$nom%' OR machine.Programme LIKE '%$programme%' OR machine.autre LIKE '%$autre%' ORDER BY id_machine DESC
- Code: Tout sélectionner
SELECT * FROM societe,machine,os,type_machine where os.Nom_OS='$T_OS' OR societe.Nom='$societe' OR type_machine.Nom='$T_machine' OR machine.modele LIKE '%$modele%' or machine.Nom_machine_domaine LIKE '%$nom%' OR machine.Programme LIKE '%$programme%' OR machine.autre LIKE '%$autre%' AND os.is_os=machine.id_os AND machine.id_societe=societet.id_societe AND type_machine.id-T-machine=machine.id_T_machine ORDER BY id_machine DESC
- Code: Tout sélectionner
SELECT distinct(id_machine) FROM societe,machine,os,type_machine where os.Nom_OS='$T_OS' OR societe.Nom='$societe' OR type_machine.Nom='$T_machine' OR machine.modele LIKE '%$modele%' or machine.Nom_machine_domaine LIKE '%$nom%' OR machine.Programme LIKE '%$programme%' OR machine.autre LIKE '%$autre%' ORDER BY id_machine DESC
J'espère pouvoir le faire avec une seule requête mais si c'est impossible dîtes le.
Si je suis pas très claire dîtes le tout de suite.
Merci d'avance pour votre aide
Dernière édition par Aide-Info le Jeu Juil 03, 2008 11:35, édité 1 fois.
Quand tu fais un select from plusieurs tables, il faut indiquer les contraintes de liaison entre ces tables. Par exemple :
En apprendre plus sur les joins : http://www.keithjbrown.co.uk/vworks/mysql/mysql_p5.php
- Code: Tout sélectionner
select * from machine, os
where os .nom = 'Linux'
and os.id = machine.id_os
En apprendre plus sur les joins : http://www.keithjbrown.co.uk/vworks/mysql/mysql_p5.php
ça je le sais (merci quand même) et je l'ai fait dans la deuxième requête, j'ai juste mis les différente requête que j'ai déjà fais même si je sais celle-ci ne marche pas.C'était juste pour éviter que d'autre mette déjà des chose que j'ai déjà faîtes.
Pour l'instant j'ai réussi a faire fonctionner si la machine appartient à une société ou alors un programme X y est installé ou alors son OS est X:
Avec cette requête:
Mais dès que je cherche a faire que la machine appartiennes à X catégorie alors là il me donne la totalité de machine (j'ai bien vérifié il ne doit pas tout me donner).
Pour l'instant j'ai réussi a faire fonctionner si la machine appartient à une société ou alors un programme X y est installé ou alors son OS est X:
Avec cette requête:
- Code: Tout sélectionner
Select distinct(id_machine),modele,IP,Masque from machine M,societe S,OS OS where M.id_societe=S.id_societe AND S.nom='test' OR M.programme LIKE '%PCBF%' or OS.nom_os LIKE '%server R2%' AND M.id_os=OS.id_os;
Mais dès que je cherche a faire que la machine appartiennes à X catégorie alors là il me donne la totalité de machine (j'ai bien vérifié il ne doit pas tout me donner).
- Code: Tout sélectionner
Select distinct(id_machine),modele,IP,Masque from machine M,societe S,OS OS,type_machine TM where S.nom='test' AND M.id_societe=S.id_societe OR M.programme LIKE '%PCBF%' or OS.nom_os LIKE '%server R2%' AND M.id_os=OS.id_os or TM.nom='Toshiba' AND TM.id_T_machine=M.id_T_machine;
Une bonne nuit de sommeil et tout va mieux j'ai réussi:
Un seul inconvénient il est obligé de préciser le champ société celui-ci ne pas être vide. Mais je sais comment m'arranger avec ça merci bien.
- Code: Tout sélectionner
Select distinct(id_machine),modele,IP,Masque from machine M,societe S,OS OS,type_machine TM where S.nom='test' AND M.id_societe=S.id_societe OR M.Nom_machine_domaine LIKE '%EMarcuzzi%' OR M.autre LIKE '%%' OR M.modele LIKE '%DC7700%' OR M.programme LIKE '%PCBF%' OR TM.nom='Toshiba' and M.id_T_machine=TM.id_T_machine OR OS.nom_os LIKE '%server R2%' AND M.id_os=OS.id_os;
Un seul inconvénient il est obligé de préciser le champ société celui-ci ne pas être vide. Mais je sais comment m'arranger avec ça merci bien.
4 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Google AdSense offre (enfin) des statistiques détaillées
- Etudes sur Google et le référencement
- Des stats AdSense détaillées !
- Ranking Metrics lance son blog
- Parts de marché des moteurs aux USA en Juillet 2008 (Hitwise)
- Deux nouveaux séminaires référencement
- Le positionnement d'annonces AdSense : explications
- Combien vaut un lien ?
- Le point sur Google en Janvier 2007
- Référencement : TrustRank et sites dignes de confiance
- moteur de recherche multi critère
- Recherche bdd communes
- Recherche dans une bdd...
- Recherche par ontologie. Quelqu'un a un exemple de BDD ?
- recherche d'un hébgergement fiable avec bonne bdd
- [Réglé] recherche google
- [Réglé] Recherche L'hébergeur Venigo.fr désespérément
- [Réglé] Exclure une URL d'une règle de réécriture
- critère de selections
- Problème de critère
- Critère de PR: click ?
- Blogspot et critere Adsense
- a propos de ajouter un critère
- critere qualite hebergeur
- critère de rentabilité d un site !
- Analyse du positionnement
AgentWebRanking est un logiciel professionnel qui permet d'analyser le positionnement d'un ou plusieurs sites dans plus de 300 moteurs de recherche dans le monde. Vous pouvez ainsi analyser les performances du référencement pour de nombreux mots-clés. - Transformer des simples citations de votre site en liens
Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
Qui est en ligne
Utilisateurs parcourant ce forum: ben64btz et 0 invités


le forum