Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/07/2006, 16h53   #1
Membre régulier
 
Inscription : juillet 2005
Messages : 484
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 484
Points : 87
Points : 87
Par défaut [Conception] Optimisation des traitements de variable

Bonjour ,
voila je rencontre un probleme pour la construction de ma requette
j'ai un formulaire qui contient beaucoup de checkbox et toutes mes variables on pour valeurs 1 ou 0 :

une fois le formulaire posté a la page qui va traité les infos et envoyer la requette , ni a t-il pas un moyen de mettre toutes ces variables dans un tableau ,

pour pouvoir apres avec la requette dire affiche moi toutes les lignes de la table xxx qui contiennent tous noms de champs (du tableau traiter) = 1

un petit shéma pour etre bien compris:moi je veux que ma requette ne traite que les valeurs $a et $d et je veux rapatrié toutes les lignes qui ont pour valeur
$a et $d =1 etc.....; en fait je veux pas traiter les 0
Code :
1
2
3
4
5
 
$a=$_POST['a'];  valeur 1
$b=$_POST['b'];  valeur 0
$c=$_POST['c']   valeur 0
$d=$_POST['d'];  valeur 1
nebil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2006, 17h23   #2
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Je ne sais pas si c'est ce que tu veux mais tu pourrais faire un traitement similaire :

Code :
1
2
3
4
5
6
7
 
$tab = array();
for($i = 0; $i < count($_POST['nomcheckbox']); $i++)
{
  if($_POST['nomcheckbox'] == 1)
      $tab[] = $_POST['nomcheckbox'][$i];
}
Ce qui aura pour but de stocker dans un tableau toutes tes valeurs à 1
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2006, 18h10   #3
Membre régulier
 
Inscription : juillet 2005
Messages : 484
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 484
Points : 87
Points : 87
Ok kerod , Bon Bon si je comprend bien sa veux dire

Code :
1
2
3
4
5
6
7
8
9
10
11
$tab = array();     $tab c'est un tableau OK

for($i = 0; $i < count($_POST['nom checkbox']); $i++)   

$i=0 Ok /////  $i < count($_POST['nom checkbox']) $i< au nombre de valeur posté  c sa ?  /////$i++  incrémente de 1 ok
{
  if($_POST['nomcheckbox'] == 1) / si va leur de nomcheckbox ==1 OK

      $tab[] = $_POST['nomcheckbox'][$i]; / met nomcheckbox dans le $tab  c'est sa ? 
}

apres comment je fait ma requette comme sa
select xxx where $tab=1 ?????????
nebil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2006, 19h00   #4
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Il faut donner le nom de la table aussi...

Code :
SELECT champ FROM table WHERE nom_champ1= valeur1 AND nom_champ2=valeur2...
Mais là t'es pas dans la bonne optique, qu'est-ce que tu veux faire plus précisément ? Tu veux récupérer que certains champs suivant les cases cochées ? Ou suivant une certaine condition ? Si oui laquelle parce que c'est pas du tout clair ton truc.

Et cf signature pour l'orthographe merci.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2006, 20h21   #5
Membre régulier
 
Inscription : juillet 2005
Messages : 484
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 484
Points : 87
Points : 87
oui c'est sa

j'ai un formulaire de recherche d'annonce automobile
et certains paramettres de recherches sont sous forme de checkbox
cherche une peugeot avec check1(clim ) check2(lamp xenon ) etc....

donc c'est deux chek sont coché alors je veux que tout les annonces qui sont des peugeots qui on la clim et lampes xenon sortent ,meme si certaine peugeot on d'autre options qui non pas ete demander par le formulaire , l'important c'est que je puisse affiché les annonces qui on au moins les valeurs reclamer ( clim et lampe )

c'est pour sa que je cherche a faire une requette qui ne prend en compte uniquement les elements demander
nebil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2006, 23h12   #6
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Ca dépend comment tu stockes les options dans ta table, montre nous sa structure et ça sera bon.

(bis) Et lis ma signature pour l'orthographe car tu ne l'as pas fait

merci
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2006, 23h26   #7
Membre régulier
 
Inscription : juillet 2005
Messages : 484
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 484
Points : 87
Points : 87
Désolé pour l'horographe , je vais faire attention ,
voila la structure des tables , mais je peu encore la modifié si necessaire !!

la quasi majorité des champs sont des 1 ou 0

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
-- phpMyAdmin SQL Dump
-- version 2.6.3-pl1
-- <a href="http://www.phpmyadmin.net" target="_blank">http://www.phpmyadmin.net</a>
-- 
-- Serveur: nebil.xxx.titi.fr
-- Généré le : Samedi 29 Juillet 2006 à 23:21
-- Version du serveur: 5.0.23
-- Version de PHP: 4.4.2
-- 
-- Base de données: `zuzu`
-- 
 
-- --------------------------------------------------------
 
-- 
-- Structure de la table `annonce`
-- 
 
CREATE TABLE `annonce` (
  `id` tinyint(5) NOT NULL auto_increment,
  `cat` tinyint(3) NOT NULL,
  `souscat` char(4) collate latin1_general_ci NOT NULL,
  `annee` char(4) collate latin1_general_ci NOT NULL,
  `prix` varchar(7) collate latin1_general_ci NOT NULL,
  `kilometrage` varchar(6) collate latin1_general_ci NOT NULL,
  `carburant` tinyint(1) NOT NULL,
  `carrosserie_type` tinyint(2) NOT NULL,
  `carrosserie_couleur` tinyint(2) NOT NULL,
  `vehicule_type` tinyint(1) NOT NULL,
  `puissance` smallint(3) NOT NULL,
  `transmission` smallint(1) NOT NULL,
  `date_annonce` char(8) collate latin1_general_ci NOT NULL,
  `accident` tinyint(1) NOT NULL,
  `clim` tinyint(1) NOT NULL,
  `clim_auto` tinyint(1) NOT NULL,
  `cuir` tinyint(1) NOT NULL,
  `vitr_elec` tinyint(1) NOT NULL,
  `gps` tinyint(1) NOT NULL,
  `sieg_elec` tinyint(1) NOT NULL,
  `toi_ouvran` tinyint(1) NOT NULL,
  `sieg_chauf` tinyint(1) NOT NULL,
  `radio_cd` tinyint(1) NOT NULL,
  `radio_cass` tinyint(1) NOT NULL,
  `abs` tinyint(1) NOT NULL,
  `bag_cond` tinyint(1) NOT NULL,
  `bag_pass` tinyint(1) NOT NULL,
  `bag_lat` tinyint(1) NOT NULL,
  `lamp_xenon` tinyint(1) NOT NULL,
  `verou_cent` tinyint(1) NOT NULL,
  `alarm` tinyint(1) NOT NULL,
  `anti_dem` tinyint(1) NOT NULL,
  `anti_pat` tinyint(1) NOT NULL,
  `cont_dyn` tinyint(1) NOT NULL,
  `quatrex4` tinyint(1) NOT NULL,
  `tuning` tinyint(1) NOT NULL,
  `jante_allia` tinyint(1) NOT NULL,
  `ordi_bord` tinyint(1) NOT NULL,
  `radar_recul` tinyint(1) NOT NULL,
  `feux_anti` tinyint(1) NOT NULL,
  `direct_assis` tinyint(1) NOT NULL,
  `regul_vites` tinyint(1) NOT NULL,
  `garantie` tinyint(1) NOT NULL,
  `offre_pro` tinyint(1) NOT NULL,
  `offre_parti` tinyint(1) NOT NULL,
  `uniquement_avec_photo` tinyint(1) NOT NULL,
  `pays` varchar(15) collate latin1_general_ci NOT NULL,
  `cp` tinyint(5) NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=16 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=16 ;
 
-- --------------------------------------------------------
 
-- 
-- Structure de la table `images`
-- 
 
CREATE TABLE `images` (
  `IdImage` tinyint(3) NOT NULL,
  `Commentaire` varchar(50) collate latin1_general_ci NOT NULL,
  `Alt` varchar(20) collate latin1_general_ci NOT NULL,
  `Path` varchar(20) collate latin1_general_ci NOT NULL,
  `Pathminiature` varchar(20) collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`IdImage`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
 
-- --------------------------------------------------------
 
-- 
-- Structure de la table `membre`
-- 
 
CREATE TABLE `membre` (
  `id` tinyint(5) NOT NULL auto_increment,
  `nom` varchar(15) collate latin1_general_ci NOT NULL,
  `prenom` varchar(15) collate latin1_general_ci NOT NULL,
  `adresse` varchar(50) collate latin1_general_ci NOT NULL,
  `cp` char(5) collate latin1_general_ci NOT NULL,
  `pays` char(1) collate latin1_general_ci NOT NULL,
  `tel` char(10) collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;
 
-- --------------------------------------------------------
 
-- 
-- Structure de la table `script_categorie`
-- 
 
CREATE TABLE `script_categorie` (
  `id_cat` int(5) NOT NULL auto_increment,
  `designation` varchar(50) collate latin1_general_ci NOT NULL,
  UNIQUE KEY `designation` (`designation`),
  KEY `id_cat` (`id_cat`)
) ENGINE=MyISAM AUTO_INCREMENT=121 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=121 ;
 
-- --------------------------------------------------------
 
-- 
-- Structure de la table `script_sous_categorie`
-- 
 
CREATE TABLE `script_sous_categorie` (
  `id_scat` int(5) NOT NULL auto_increment,
  `idcat` int(5) NOT NULL default '0',
  `designation` varchar(50) collate latin1_general_ci NOT NULL default '',
  KEY `idcat` (`idcat`),
  KEY `id_scat_2` (`id_scat`)
) ENGINE=MyISAM AUTO_INCREMENT=1134 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1134 ;
nebil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2006, 09h36   #8
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Alors c'est parti.

En supposant que tes checkbox aient exactement le même nom que tes options.

Code :
1
2
3
4
5
6
$req = "SELECT * FROM annonce WHERE 1=1";
for($i = 0 ; $i < count($_POST['nom checkbox']) ; $i++)
   $req .= " AND " . $_POST['nomcheckbox'][$i] . "=1";
$res = mysql_query($req) or die($req . " => " . mysql_error());
while($row = mysql_fetch_array($res))
   // Traitement avec $row['cat'], $row['prix'], ...
Pas testé.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2006, 10h25   #9
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Bonjour,

A ta place (je n'y suis pas), je commencerais par revoir la structure de la base de données. Mettre une colonne par accessoire dans une même table = pas bon du tout, car si demain tu dois ajouter un nouvel accessoire, il te faudras modifier la bdd ainsi que le programme. Donc :

table 'annonce'
id
etc...

table 'accessoire'
id
nom

table 'annonce_accessoire'
id_annonce
id_accessoire

avec pour une annonce autant de ligne que d'accessoires.

De plus avec ça, toutes tes checkbox peuvent porter le même nom, avec comme value la clé de l'accessoire.

Pour les catégories et sous-catégories, une seule table suffit :

table 'categorie'
id
nom
id_pere

Ex : categorie voiture, sous-categorie poussette, sous-catégorie chariot

1 voiture 0
2 poussette 1
3 chariot 1
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2006, 12h24   #10
Membre régulier
 
Inscription : juillet 2005
Messages : 484
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 484
Points : 87
Points : 87
Merci JWhite j'ai pas eu encore le temps de tester ta proposition de requete , j'y reviendrais si tu le permet ,

Jeca , j'ai pas tres bien compris ta solution qui apparement apporte un avantage certain celui de na pas toucher au code ni a la bdd si j'ajoute une option en sus !!!
le formulaire correspond au contenu de la table donc quelque que soit la structure de mes tables il faut bien les modifiés si je modifie le formulaire !!!
Non !!!
désolé mais je debute.
nebil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2006, 13h20   #11
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Citation:
le formulaire correspond au contenue de la table donc quelque que soit la structure de mes tables il faut bien les modifiés si je modifie le formulaire !!!
Ce n'est pas le formulaire qui provoque la modification d'une table, mais le contraire.
Rien ne t'empêche de générer en php la partie du formulaire concernant les checkbox, ce qui fait que l'ajout d'un accessoire sera immédiatement répercuté sur le formulaire.

PS - en gras les fôtes d'ortaugraffe
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2006, 13h46   #12
Membre régulier
 
Inscription : juillet 2005
Messages : 484
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 484
Points : 87
Points : 87
Désolé pour les fautes !!!

bon je comprend toujours rien ,

1/
formulaire insertion d'annonce permet d'inseré marques modeles et options ,la table annonce qui va recevoir les infos , marque , modele
et les options sont defini par un 0 ou 1 selon que la checkbox et cocher ou pas ,0 pour cette auto na pas cette option 1 pour l'inverse .


2/
formulaire de recherche quasi identique au formulaire pour passer les annonces et la ma requete aura pour but de presenter toutes les auto du modele 407 de la marque peugeot dont les options demander on pour valeurs 1 .

dans mon exemple de fonctionnement je suis bien obligé d'avoir la liste des options (checkbox ) dans ma table annonce de facon a sortir le resultat le plus precis possible demander par le formulaire de recherche ?

excuse moi jeca je ne vois pas comment faire autrement ?
peut-tu m'expliquer pas a pas comment se presenter ton fonctionnement
et en quoi il est plus judicieux !!
Merci
nebil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2006, 13h50   #13
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Dans ta table de voitures :
1 Renault Clio 2004 => La voiture a pour id #1

Dans ta table options :
1 Clim manu => L'option clim manu a pour id #1
2 FC => L'option FC a pour id #2
3 VE => L'option VE a pour id #3

Et dans ta table qui fait le lien
1 1 => La voiture #1 a l'option #1
1 2 => La voiture #1 a l'option #2
1 3 => La voiture #1 a l'option #3

Et après il faut jouer avec des jointures pour faire les liens.

Exemple :

Code :
SELECT * FROM voiture, option, table_lien WHERE voiture.id = table_lien.id_voiture AND table_lien.id_option = option.id
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2006, 16h35   #14
Membre régulier
 
Inscription : juillet 2005
Messages : 484
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 484
Points : 87
Points : 87
Dans ta table de voitures :
1 Renault Clio 2004 => La voiture a pour id #1
l'id1 qui correspond a renault clio 2004 c'est l'id crée par auto incrément lors de l'insertion dans la table voiture qui a
4 champs id marque modele année ?


Dans ta table options :
1 Clim manu => L'option clim manu a pour id #1
2 FC => L'option FC a pour id #2
3 VE => L'option VE a pour id #3
c'est valeurs qui ont pour id 1,2,3 sont des id crées par auto increment
lors de l'insertion de l'annonce ou c'est moi qui les entrées a la mano ?


Et dans ta table qui fait le lien
1 1 => La voiture #1 a l'option #1
1 2 => La voiture #1 a l'option #2
1 3 => La voiture #1 a l'option #3

en fait j'ai du mal a comprendre parceque je visualise pas tous le fonctionnement en locurence le fonctionnement de mes requetes .


explique moi le en francais
dans la table voiture tu as 4 champs id marque modele année

dans la table options tu as xx champs qui sont tutu pupu etc.....
et les lignes vont se crée par rapport au option que l'annonceur aura cochez

etc..


quand ton client demandera renault clio 2004 avec
clim et 4 roues motrice

sa fera selectionne les id dans la table voiture qui sont egale a renault clio 2004 , puis ..............................
nebil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2006, 16h44   #15
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Citation:
Dans ta table de voitures :
l'id1 qui correspond a renault clio 2004 c'est l'id crée par auto incrément lors de l'insertion dans la table voiture qui a
4 champs id marque modele année ?
Oui

Citation:
Dans ta table options :
1 Clim manu => L'option clim manu a pour id #1
2 FC => L'option FC a pour id #2
3 VE => L'option VE a pour id #3
c'est valeurs qui ont pour id 1,2,3 sont des id crées par auto increment?
Oui

Citation:
explique moi le en francais
dans la table voiture tu as 4 champs id marque modele année
Oui

Citation:
dans la table options tu as xx champs qui sont tutu pupu etc.....
Non. Juste deux champs, un id et un nom, c'est tout.


Exemple de requêtes : toutes les Renault qui ont la clim.

Code :
SELECT * FROM voiture, option, table_lien WHERE voiture.id = table_lien.id_voiture AND table_lien.id_option = option.id AND voiture.marque='Renault' AND option.nom='Clim'
Sachant que ce que je te montre pour les options (les mettre dans une table) peut très bien s'appliquer aux marques ou aux modèles des bagnoles (une table marque et dans ta table voiture tu stockes juste l'id de la marque).

J'ai l'impression que tu n'es pas à l'aise pour manipuler les BDD, mais si tu arrives à comprendre ce que je t'expliques tu seras vraiment gagnant.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2006, 18h37   #16
Membre régulier
 
Inscription : juillet 2005
Messages : 484
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 484
Points : 87
Points : 87
Bon merci pour ta patience maintenant j'ai besoin de faire le tour du fonctionnement pour bien le comprendre ,

formulaire d'insertion ( les données ) :

mercedes value="10"
modele value ="15"
année value="2004"

clim value="200"
ordi de bord="280"

les choses s'insere comme sa dans la table voiture :

Id=1
id_marque=10
id_modele=15
id_année=2004


les choses s'insere comme sa dans la table options :

Id id_option
1 200
2 280


la 3° table qu'on va appeler la table annonce :

je ne vois pas comment les choses s'ecrivent dedans ,
comment elle doit etre structuré , comment elle fonctionne

id d'increment , id de table_voiture ,id_option ; !!!!????
nebil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2006, 18h55   #17
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Oui c'est ça, mettons tu as une bagnole avec comme id 3, elle a comme options la clim (disons id 5), les VE (id 7) et les JA (14).

Dans ta table lien, tu auras trois lignes pour cette voiture :
3 5
3 7
et 3 14

C'est inutile d'ajouter un champ auto-increment à mon avis.

Et après avec le genre de requête que je t'ai montré tu récupères tout ce que tu veux. Et là vive le gain de place et la souplesse
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2006, 20h08   #18
Membre régulier
 
Inscription : juillet 2005
Messages : 484
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 484
Points : 87
Points : 87
alors ma requete d'insertion d'annonce ressemble a

marque modele année



insert into table_voiture
id='' marque='$marque' modele='$modele' année='$annee'


insert into table_option
( je doit insersé uniquement les options declarer par la coche de la checkbox comment ma requete peut faire pour inseré uniquement celle qui on ete cocher ?
nebil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2006, 20h40   #19
Membre chevronné
 
Avatar de Elwyn
 
Homme
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 836
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux

Informations forums :
Inscription : juillet 2006
Messages : 836
Points : 712
Points : 712
Citation:
Envoyé par nebil
insert into table_voiture id='' marque='$marque' modele='$modele' année='$annee'
Tu inserts comme ca toi ?
__________________
Dire Straits, Bob Dylan, Led Zeppelin, the Who, Pink Floyd, AC/DC, Guns & Roses, the Doors, ...
Elwyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2006, 22h43   #20
Membre régulier
 
Inscription : juillet 2005
Messages : 484
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 484
Points : 87
Points : 87
avec mon ordinateur comme sa , sa marche pas non plus , comme chez toi ,

la question ne porte pas sur la requete mais un principe de fonctionnement general
c'est pour dire marque modele année sont inseré dans la table voiture ,et comment on insere les options puisqu'il ne doivent figuré dans la table option uniquement celle .qui on ete cochez , comment ma requete est construite pour inseré celle concerné ??
nebil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h25.


 
 
 
 
Partenaires

Hébergement Web