Formulaire de recherche
Résolu/Fermé
cedric
-
Modifié par cedric le 22/03/2011 à 15:23
Aktayen Messages postés 189 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 17 décembre 2015 - 7 avril 2011 à 16:25
Aktayen Messages postés 189 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 17 décembre 2015 - 7 avril 2011 à 16:25
A voir également:
- Formulaire de recherche
- Formulaire de réclamation facebook - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Recherche adresse - Guide
- Recherche musique - Guide
- Formulaire remboursement frais de résiliation free pdf ✓ - Forum Freebox
29 réponses
cycloop
Messages postés
69
Date d'inscription
mercredi 22 octobre 2008
Statut
Membre
Dernière intervention
8 avril 2013
17
22 mars 2011 à 15:26
22 mars 2011 à 15:26
Tu es un peu confus dans la description de ta table. Peux-tu détailler ta table :
-nom de la table
-nom des différents champs
-nom de la table
-nom des différents champs
merci pour ta réponse cycloop
voici les infos:
nom de la table: ville
champs de la table: adresse_ville ; ip_ville ; cp_ville
voila,
voici les infos:
nom de la table: ville
champs de la table: adresse_ville ; ip_ville ; cp_ville
voila,
akelo
Messages postés
52
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
28 mars 2011
11
23 mars 2011 à 00:50
23 mars 2011 à 00:50
http://formation-sites.blogspot.com/p/php.html
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Aktayen
Messages postés
189
Date d'inscription
dimanche 31 mai 2009
Statut
Membre
Dernière intervention
17 décembre 2015
19
23 mars 2011 à 09:24
23 mars 2011 à 09:24
Quand tu dis les infos relatives, tu parles de quelles infos? Donne un exemple complet stp
j'ai 4 tables dans ma bdd:
- ville
- alveole ==> champ: id_alveole et alveole
- liaison 1p ==> champ: id_liaison 1p et numero_liaison et nom_liaison
- liaison 2p ==> champ: id_liaison 2p et numero_liaison et nom_liaison
Dans ma table ville, j'ai 2 champ:
- id_ville ==> dans ce champ il y a les indexs des valeurs du champ "ville"
- ville ==> dans ce champ il y a les valeurs du champ ville (ex: AGEN, BORDEAUX)
Et quand je rentre AGEN je veux que ça cherche dans ma bdd dans la table "ville" et que ça affiche la valeur du champ correspondant à ce que j'ai rentré ainsi que les valeurs qui lui sont liés dans les autres tables.
voila,
- ville
- alveole ==> champ: id_alveole et alveole
- liaison 1p ==> champ: id_liaison 1p et numero_liaison et nom_liaison
- liaison 2p ==> champ: id_liaison 2p et numero_liaison et nom_liaison
Dans ma table ville, j'ai 2 champ:
- id_ville ==> dans ce champ il y a les indexs des valeurs du champ "ville"
- ville ==> dans ce champ il y a les valeurs du champ ville (ex: AGEN, BORDEAUX)
Et quand je rentre AGEN je veux que ça cherche dans ma bdd dans la table "ville" et que ça affiche la valeur du champ correspondant à ce que j'ai rentré ainsi que les valeurs qui lui sont liés dans les autres tables.
voila,
Aktayen
Messages postés
189
Date d'inscription
dimanche 31 mai 2009
Statut
Membre
Dernière intervention
17 décembre 2015
19
23 mars 2011 à 10:26
23 mars 2011 à 10:26
C'est quoi le lien entre tes 4 tables?
De ce que j'ai compris.
Tu as un formulaire où tu as une liste des villes présentes dans ta bdd. Lorsque tu sélectionnes une ville ça t'affiche des infos. Le problème c'est que je vois pas l'info que tu veux dire. si c'est l'id_ville ou autre?
De ce que j'ai compris.
Tu as un formulaire où tu as une liste des villes présentes dans ta bdd. Lorsque tu sélectionnes une ville ça t'affiche des infos. Le problème c'est que je vois pas l'info que tu veux dire. si c'est l'id_ville ou autre?
en fait dans chaque ville il y a 16 alveoles et dans chaque alveoles il y a 4 liaison 1p ou 2 laison 2p.
et dans les liaisons il y a le nom et le numero de chaque liaison
l'infos c'est le nom de la ville et ses alveoles et liaisons
et dans les liaisons il y a le nom et le numero de chaque liaison
l'infos c'est le nom de la ville et ses alveoles et liaisons
voila ma bdd si ça peut t'aider:
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Base de données: 'projet siemens' -- -- -------------------------------------------------------- -- -- Structure de la table 'alveole' -- CREATE TABLE IF NOT EXISTS 'alveole' ( 'id_alveole' int(20) NOT NULL AUTO_INCREMENT, 'alveole' varchar(10) NOT NULL, PRIMARY KEY ('id_alveole') ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ; -- -- Contenu de la table 'alveole' -- INSERT INTO 'alveole' ('id_alveole', 'alveole') VALUES (1, 'Alveole 1'), (2, 'Alveole 2'), (3, 'Alveole 3'), (4, 'Alveole 4'), (5, 'Alveole 5'), (6, 'Alveole 6'), (7, 'Alveole 7'), (8, 'Alveole 8'), (9, 'Alveole 9'), (10, 'Alveole 10'), (11, 'Alveole 11'), (12, 'Alveole 12'), (13, 'Alveole 13'), (14, 'Alveole 14'), (15, 'Alveole 15'), (16, 'Alveole 16'); -- -------------------------------------------------------- -- -- Structure de la table 'liaison 1p' -- CREATE TABLE IF NOT EXISTS 'liaison 1p' ( 'id_liaison 1p' int(20) NOT NULL AUTO_INCREMENT, 'numero_liaison' varchar(20) NOT NULL, 'nom_liaison' text NOT NULL, PRIMARY KEY ('id_liaison 1p') ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; -- -- Contenu de la table 'liaison 1p' -- -- -------------------------------------------------------- -- -- Structure de la table 'liaison 2p' -- CREATE TABLE IF NOT EXISTS 'liaison 2p' ( 'int_liaison 2p' int(20) NOT NULL AUTO_INCREMENT, 'numero_liaison' int(20) NOT NULL, 'nom_liaison' int(20) NOT NULL, PRIMARY KEY ('int_liaison 2p') ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; -- -- Contenu de la table 'liaison 2p' -- -- -------------------------------------------------------- -- -- Structure de la table 'ville' -- CREATE TABLE IF NOT EXISTS 'ville' ( 'id_ville' int(10) NOT NULL AUTO_INCREMENT, 'ville' varchar(50) NOT NULL, 'adresse_ville' text NOT NULL, 'ip_ville' varchar(15) NOT NULL, 'cp_ville' varchar(5) NOT NULL, PRIMARY KEY ('id_ville') ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=54 ; -- -- Contenu de la table 'ville' -- INSERT INTO 'ville' ('id_ville', 'ville', 'adresse_ville', 'ip_ville', 'cp_ville') VALUES (1, 'AGEN', '44 rue Paganel', '10.185.144.12', '47000'), (2, 'BRUCH', '', '10.185.209.161', ''), (3, 'CANCON', '', '10.185.178.33', ''), (4, 'CARNOT', '', '10.185.179.244', ''), (5, 'CASTELJALOUX', '', '10.185.180.195', ''), (6, 'CASTILLONNES', '', '10.185.176.82', ''), (7, 'CAUZAC ST VICTOR', '', '10.185.208.001', ''), (8, 'CAZIDEROQUE', '', '10.185.191.225', ''), (9, 'CLERMONT SOUBIRAN', '', '10.185.209.81', ''), (10, 'COLAYRAC', '', '10,185,186,68', ''), (11, 'DURANCE', '', '10.185.209.65', ''), (12, 'DURAS', '', '10.185..178.49', ''), (13, 'ESCASSEFORT', '', '10.185.187.145', ''), (14, 'FAUGUEROLLES', '', '10.185.186.81', ''), (15, 'FEUGAROLLES', '', '10.185.190.145', ''), (16, 'FOURQUES', '', '10.185.178.65', ''), (17, 'FRANCESCAS', '', '10.185.189.209', ''), (18, 'FUMEL', '', '10.185.179.226', ''), (19, 'HOUILLES', '', '10.185.209.33', ''), (20, 'LAROQUE TIMBAULT', '', '10.185.186.97', ''), (21, 'LAUZUN', '', '10.185.191.209', ''), (22, 'LAVARDAC', '', '10.185.177.65', ''), (23, 'LAYRAC', '', '10.185.176.19', ''), (24, 'LE PASSAGE', '', '10.185.176.33', ''), (25, 'LEVIGNAC DE GUYENNE', '', '10.185.188.145', ''), (26, 'LOUGRATTE', '', '10.185.190.65', ''), (27, 'MARMANDE', '', '10.185.186.277', ''), (28, 'MARMANDE ROC', '', '10.185.158.146', ''), (29, 'MAUVEZIN SUR GUPIE', '', '10.185.189.174', ''), (30, 'MEZIN', '', '10.185.178.81', ''), (31, 'MOIRAX', '', '10.185.191.177', ''), (32, 'MONBAHUS', '', '10.185.190.81', ''), (33, 'MONCRABEAU', '', '10.185.188.241', ''), (34, 'MONTAGNAC SUR AUVIGNON', '', '10.185.209.177', ''), (35, 'NERAC', '', '10.185.187.004', ''), (36, 'PARRANQUET', '', '10.185.190.161', ''), (37, 'PENNE D''AGENAIS', '', '10.185.186.130', ''), (38, 'PORT STE MARIE', '', '10.185.186.161', ''), (39, 'PRAYSSAS', '', '10.185.186.177', ''), (40, 'PUCH D''AGENAIS', '', '10.185.189.193', ''), (41, 'ST ASTIER DE DURAS', '', '10.185.187.129', ''), (42, 'ST COLOM DE LAUZUN', '', '10.185.191.193', ''), (43, 'ST FRONT SUR LEMANCE', '', '10.185.190.209', ''), (44, 'ST MAURIN', '', '10.185.209.97', ''), (45, 'ST SARDOS', '', '10.185.214.49', ''), (46, 'STE LIVRADE', '', '10.185.176.50', ''), (47, 'TONNEINS', '', '10.185.180.242', ''), (48, 'TONNEINS', '', '10.185.180.244', ''), (49, 'TOURNON D''AGENAIS', '', '10.185.191.113', ''), (50, 'VERTEUIL', '', '10.185.190.49', ''), (51, 'VILLENEUVE SUR LOT', '', '10.185.187.19', ''), (52, 'VILLENEUVE SUR LOT(2 ème chassis)', '', '10.185.187.25', ''), (53, 'VILLEREAL', '', '10.185.178.113', ''); -- -- Contraintes pour les tables exportées -- -- -- Contraintes pour la table 'alveole' -- ALTER TABLE 'alveole' ADD CONSTRAINT 'alveole_ibfk_1' FOREIGN KEY ('id_alveole') REFERENCES 'ville' ('id_ville'); -- -- Contraintes pour la table 'liaison 1p' -- ALTER TABLE 'liaison 1p' ADD CONSTRAINT 'liaison@00201p_ibfk_1' FOREIGN KEY ('id_liaison 1p') REFERENCES 'alveole' ('id_alveole'); -- -- Contraintes pour la table 'liaison 2p' -- ALTER TABLE 'liaison 2p' ADD CONSTRAINT 'liaison@00202p_ibfk_1' FOREIGN KEY ('int_liaison 2p') REFERENCES 'alveole' ('id_alveole');
Aktayen
Messages postés
189
Date d'inscription
dimanche 31 mai 2009
Statut
Membre
Dernière intervention
17 décembre 2015
19
23 mars 2011 à 10:55
23 mars 2011 à 10:55
Je ne pense pas pouvoir t'aider car je ne fonctionne pas avec les clés étrangères (ca marche jamais à tout les coups)..
Dans ton cas j'aurais mis 'idVille' dans alveol pour savoir à chaque alveol à qu'elle ville elle correspond.
Ce qui aurait fait que quand tu sélectionnes une ville, tu lances la requète.
SELECT * FROM alveol WHERE idville=($_post[idville']);
une commande de ce style et là tu aurais toutes les alveols qui sont dans la ville..
Puis tu résonnes pareil avec les autres tables..
Après si tu veux rester sur des clés étrangères je ne pourrais pas t'aider ^^
Dans ton cas j'aurais mis 'idVille' dans alveol pour savoir à chaque alveol à qu'elle ville elle correspond.
Ce qui aurait fait que quand tu sélectionnes une ville, tu lances la requète.
SELECT * FROM alveol WHERE idville=($_post[idville']);
une commande de ce style et là tu aurais toutes les alveols qui sont dans la ville..
Puis tu résonnes pareil avec les autres tables..
Après si tu veux rester sur des clés étrangères je ne pourrais pas t'aider ^^
pour les cles etrangeres jai juste mis au pif parce que je ne sais pas comment mettre en relation les tables ^^ si il y a un autre moyen je suis preneur!
en tout cas merci de ta reponse ^^
en tout cas merci de ta reponse ^^
Aktayen
Messages postés
189
Date d'inscription
dimanche 31 mai 2009
Statut
Membre
Dernière intervention
17 décembre 2015
19
23 mars 2011 à 11:06
23 mars 2011 à 11:06
exemple de table
Table ville :
id ville
nom ville
..
..
Table alveol :
id_alveole
id_ville // pour savoir à quel ville ça correspond.
Dans le id_ville de alveol il faut que sa valeur existe dans id ville de la table Ville.
Sinon à quoi ça sert les alveols, c'est quoi concrétement.
Parce que c'est pas nécessaire de créer une table si c'est pour marquer à chaque fois 'alveol' avec un numéro qui s'incrémente
Table ville :
id ville
nom ville
..
..
Table alveol :
id_alveole
id_ville // pour savoir à quel ville ça correspond.
Dans le id_ville de alveol il faut que sa valeur existe dans id ville de la table Ville.
Sinon à quoi ça sert les alveols, c'est quoi concrétement.
Parce que c'est pas nécessaire de créer une table si c'est pour marquer à chaque fois 'alveol' avec un numéro qui s'incrémente
en fait, une alvéole est une carte de transmission de téléphonie et dans chaque alvéole il ya soit 4 liaison de 1paires soit 2 liaison de 2paires.
et il y a 16 alvéoles ou cartes par ville.
et il y a 16 alvéoles ou cartes par ville.
voila jai modifié ma bdd pour qu'elle soit plus simple:
Il n'y a plus que 2 tables. Sauf que je ne sais pas comparer ma saisie à ma bdd et afficher le résultat. j'ai tester avec les tutos mais je n'y arrive pas.
-- phpMyAdmin SQL Dump -- version 3.3.9 -- http://www.phpmyadmin.net -- -- Serveur: localhost -- Généré le : Ven 25 Mars 2011 à 09:10 -- Version du serveur: 5.5.8 -- Version de PHP: 5.3.5 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Base de données: 'projet siemens' -- -- -------------------------------------------------------- -- -- Structure de la table 'alveole1' -- CREATE TABLE IF NOT EXISTS 'alveole1' ( 'id_alveole1' int(2) NOT NULL, 'num_liaison' varchar(20) NOT NULL, 'nom_liaison' varchar(20) NOT NULL, 'id_ville' int(2) NOT NULL, KEY 'alveole1' ('id_alveole1') ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Contenu de la table 'alveole1' -- INSERT INTO 'alveole1' ('id_alveole1', 'num_liaison', 'nom_liaison', 'id_ville') VALUES (1, '0020YPL', 'carnot', 1), (1, '0020YUI', 'carnot', 1), (1, '7654HGF', 'carnot', 1), (1, '0020YKN', 'carnot', 1), (1, '4321FDS', 'lolo', 2); -- -------------------------------------------------------- -- -- Structure de la table 'ville' -- CREATE TABLE IF NOT EXISTS 'ville' ( 'id_ville' int(11) NOT NULL AUTO_INCREMENT, 'ville' varchar(50) NOT NULL, 'ip_ville' varchar(15) NOT NULL, KEY 'id_ville' ('id_ville') ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=54 ; -- -- Contenu de la table 'ville' -- INSERT INTO 'ville' ('id_ville', 'ville', 'ip_ville') VALUES (1, 'AGEN', '10.185.144.12'), (2, 'BRUCH', '10.185.209.161'), (3, 'CANCON', '10.185.178.33'), (4, 'CARNOT', '10.185.179.244'), (5, 'CASTELJALOUX', '10.185.180.195'), (6, 'CASTILLONNES', '10.185.176.82'), (7, 'CAUZAC ST VICTOR', '10.185.208.001'), (8, 'CAZIDEROQUE', '10.185.191.225'), (9, 'CLERMONT SOUBIRAN', '10.185.209.81'), (10, 'COLAYRAC', '10,185,186,68'), (11, 'DURANCE', '10.185.209.65'), (12, 'DURAS', '10.185..178.49'), (13, 'ESCASSEFORT', '10.185.187.145'), (14, 'FAUGUEROLLES', '10.185.186.81'), (15, 'FEUGAROLLES', '10.185.190.145'), (16, 'FOURQUES', '10.185.178.65'), (17, 'FRANCESCAS', '10.185.189.209'), (18, 'FUMEL', '10.185.179.226'), (19, 'HOUILLES', '10.185.209.33'), (20, 'LAROQUE TIMBAULT', '10.185.186.97'), (21, 'LAUZUN', '10.185.191.209'), (22, 'LAVARDAC', '10.185.177.65'), (23, 'LAYRAC', '10.185.176.19'), (24, 'LE PASSAGE', '10.185.176.33'), (25, 'LEVIGNAC DE GUYENNE', '10.185.188.145'), (26, 'LOUGRATTE', '10.185.190.65'), (27, 'MARMANDE', '10.185.186.277'), (28, 'MARMANDE ROC', '10.185.158.146'), (29, 'MAUVEZIN SUR GUPIE', '10.185.189.174'), (30, 'MEZIN', '10.185.178.81'), (31, 'MOIRAX', '10.185.191.177'), (32, 'MONBAHUS', '10.185.190.81'), (33, 'MONCRABEAU', '10.185.188.241'), (34, 'MONTAGNAC SUR AUVIGNON', '10.185.209.177'), (35, 'NERAC', '10.185.187.004'), (36, 'PARRANQUET', '10.185.190.161'), (37, 'PENNE D''AGENAIS', '10.185.186.130'), (38, 'PORT STE MARIE', '10.185.186.161'), (39, 'PRAYSSAS', '10.185.186.177'), (40, 'PUCH D''AGENAIS', '10.185.189.193'), (41, 'ST ASTIER DE DURAS', '10.185.187.129'), (42, 'ST COLOM DE LAUZUN', '10.185.191.193'), (43, 'ST FRONT SUR LEMANCE', '10.185.190.209'), (44, 'ST MAURIN', '10.185.209.97'), (45, 'ST SARDOS', '10.185.214.49'), (46, 'STE LIVRADE', '10.185.176.50'), (47, 'TONNEINS', '10.185.180.242'), (48, 'TONNEINS', '10.185.180.244'), (49, 'TOURNON D''AGENAIS', '10.185.191.113'), (50, 'VERTEUIL', '10.185.190.49'), (51, 'VILLENEUVE SUR LOT', '10.185.187.19'), (52, 'VILLENEUVE SUR LOT(2 ème chassis)', '10.185.187.25'), (53, 'VILLEREAL', '10.185.178.113');
Il n'y a plus que 2 tables. Sauf que je ne sais pas comparer ma saisie à ma bdd et afficher le résultat. j'ai tester avec les tutos mais je n'y arrive pas.
Aktayen
Messages postés
189
Date d'inscription
dimanche 31 mai 2009
Statut
Membre
Dernière intervention
17 décembre 2015
19
25 mars 2011 à 10:44
25 mars 2011 à 10:44
Le mieux c'est que tu ne saisisses pas dans la mesure où toutes tes valeurs que tu as besoin sont dans ta table.
Fait un "select" c'est mieux, comme ça pas d'erreur de syntaxe lors de la saisi.
imaginons que tu as appels ta variable nomVille;
ta requète sql sera SELECT * FROM ville WHERE Ville= la variable de ton formulaire
après si tu veux les alveoles tu changes le nom de ta table.
une fois que tu as écris ta requète, tu fais une boucle pour afficher ton résultat (si tu as plusieurs résultat) avec mysql_fetch_array(ta requète);
Fait un "select" c'est mieux, comme ça pas d'erreur de syntaxe lors de la saisi.
imaginons que tu as appels ta variable nomVille;
ta requète sql sera SELECT * FROM ville WHERE Ville= la variable de ton formulaire
après si tu veux les alveoles tu changes le nom de ta table.
une fois que tu as écris ta requète, tu fais une boucle pour afficher ton résultat (si tu as plusieurs résultat) avec mysql_fetch_array(ta requète);
voici le code de ma liste deroulante:
sauf qu'il me dit que ma variable array n'est pas definie!
quelle valeur il faut que je lui donne? quand je lui donne "plan" ça m'affiche "p" sauf que je ne veux rien qui s'affiche!
// Affichage de la ville choisie $choix = isset($_POST['choix']) ? $_POST['choix'] : ''; if ($choix) { $query = mysql_query("SELECT ville FROM ville WHERE id='$choix';") or die (mysql_error()); $array = mysql_fetch_assoc($query); } echo "Vous avez choisi la ville : " . $array['ville']; // Début du script $query = mysql_query("SELECT ville FROM ville;") or die (mysql_error()); if ($query) { echo '<form method="post">'; echo '<select name="choix">'; while ($array = mysql_fetch_assoc($query)) { if ($choix == $array["id"]) { echo '<option value="' . $array['id'] . '" selected>' . $array['ville'] . '</option>'; } else { echo '<option value="'.$array['id'] . '">' . $array['ville'] . '</option>'; } } echo '</select>'; echo '<input type="submit" value="OK">'; echo '</form>'; }
sauf qu'il me dit que ma variable array n'est pas definie!
quelle valeur il faut que je lui donne? quand je lui donne "plan" ça m'affiche "p" sauf que je ne veux rien qui s'affiche!
Aktayen
Messages postés
189
Date d'inscription
dimanche 31 mai 2009
Statut
Membre
Dernière intervention
17 décembre 2015
19
25 mars 2011 à 11:51
25 mars 2011 à 11:51
ouki pas de soucis, n'hésite pas en cas de soucis.