Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
752 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Comment faire une recherche dans toute la table ?

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[MySQL] Comment faire une recherche dans toute la table ?

n°245056
Dj YeLL
$question = $to_be || !$to_be;
Posté le 14-11-2002 à 12:33:54  profilanswer
 

Je sais qu'on peut faire SELECT * FROM table WHERE nom_col1 OR nom_col2 OR nom_col3 LIKE "%valeur%" etc ...
 
enfin un truc dans le genre ... mais il n'y a pas possibilité de faire une recherche dans toute la table sans tapper le nom de toutes les colonne ? Parceque si on a 50 colonnes on va quand meme pas tapper du WHERE jusqu'a nom_col50="valeur" ... sinon on a pas fini ..
 
Ya pas un truc du genre
 
SELECT * FROM table WHERE * LIKE "%valeur%" ? (enfin ... quelque chose qui fera ça :) )
 
Merci.


Message édité par Dj YeLL le 14-11-2002 à 13:07:33

---------------
Gamertag: CoteBlack YeLL
mood
Publicité
Posté le 14-11-2002 à 12:33:54  profilanswer
 

n°245066
Dj YeLL
$question = $to_be || !$to_be;
Posté le 14-11-2002 à 12:50:55  profilanswer
 

En gors voila ce que je voudrais :
 
SELECT * FROM nom_table WHERE "n'importe quelle colonne" LIKE "%valeur%"


Message édité par Dj YeLL le 14-11-2002 à 13:07:47

---------------
Gamertag: CoteBlack YeLL
n°245080
Dj YeLL
$question = $to_be || !$to_be;
Posté le 14-11-2002 à 13:19:29  profilanswer
 

Bon ben en fait, même ça ça marche pas :
 

SELECT * FROM table WHERE nom_col1 OR nom_col2 OR nom_col3 LIKE "%valeur%"


 
si j'ecris ça, il fait comme si je n'avais qu'écris  WHERE nom_col3 LIKE ... il fait comme si il n'y avait pas nom_col1 et nom_col2
 
 
Edit, en fait il faut faire  
 

SELECT * FROM table WHERE nom_col1 LIKE "%valeur%" OR nom_col2 LIKE "%valeur%" OR nom_col3 LIKE "%valeur%"


 
Donc en gros si je trouve pas une solution, il faut que je me tappe une 50aine de fois OR nomcol_n LIKE "%valeur%" ...  :sarcastic:


Message édité par Dj YeLL le 14-11-2002 à 13:25:22

---------------
Gamertag: CoteBlack YeLL
n°245085
Fred999
Rabat-joie
Posté le 14-11-2002 à 13:28:44  profilanswer
 

[:xx_xx]
 
Le fait que toutes les colonnes d'une table puissent avoir la même valeur, donc la même signification fonctionnelle, me paraît bizarre.
 
Tu peux détailler un peu + stp?
 
(sinon, pour ta question, non, ce n'est pas possible, mais, avec les outils adéquats, tu tapes la requête rapidement)

n°245088
mattymotte
Posté le 14-11-2002 à 13:30:33  profilanswer
 

Dj YeLL a écrit a écrit :

Bon ben en fait, même ça ça marche pas :
 

SELECT * FROM table WHERE nom_col1 OR nom_col2 OR nom_col3 LIKE "%valeur%"


 
si j'ecris ça, il fait comme si je n'avais qu'écris  WHERE nom_col3 LIKE ... il fait comme si il n'y avait pas nom_col1 et nom_col2
 
 
Edit, en fait il faut faire  
 

SELECT * FROM table WHERE nom_col1 LIKE "%valeur%" OR nom_col2 LIKE "%valeur%" OR nom_col3 LIKE "%valeur%"


 
Donc en gros si je trouve pas une solution, il faut que je me tappe une 50aine de fois OR nomcol_n LIKE "%valeur%" ...  :sarcastic:  




 
essaye un truc du genre  
SELECT * FROM table WHERE "%valeur" in (nom_col1,nom_col2,nom_col3)

n°245091
Fred999
Rabat-joie
Posté le 14-11-2002 à 13:33:02  profilanswer
 

mattymotte a écrit a écrit :

 
 
essaye un truc du genre  
SELECT * FROM table WHERE "%valeur" in (nom_col1,nom_col2,nom_col3)




 
[:xx_xx]
 
l'instruction IN c'est
 
macolonne in (valeur1, valeur2...)

n°245094
mattymotte
Posté le 14-11-2002 à 13:37:41  profilanswer
 

Fred999 a écrit a écrit :

 
 
[:xx_xx]
 
l'instruction IN c'est
 
macolonne in (valeur1, valeur2...)




je viens de tester mavaleur in (colonne1, colonne2) ca marche.

n°245096
Fred999
Rabat-joie
Posté le 14-11-2002 à 13:38:51  profilanswer
 

mattymotte a écrit a écrit :

 
je viens de tester mavaleur in (colonne1, colonne2) ca marche.




 
Wow, c'est quel système? :??:
 
Faut vraiment que je me remette au goût du jour :D

n°245098
mattymotte
Posté le 14-11-2002 à 13:40:19  profilanswer
 

Fred999 a écrit a écrit :

 
 
Wow, c'est quel système? :??:
 
Faut vraiment que je me remette au goût du jour :D




 
bah c rien k'un vieil oracle 8.05

n°245099
Fred999
Rabat-joie
Posté le 14-11-2002 à 13:44:24  profilanswer
 

mattymotte a écrit a écrit :

 
 
bah c rien k'un vieil oracle 8.05




 
Bon oké :D
 
C'est le genre de trucs que je n'ai jamais appris :jap:
 
Ceci dit, ma première remarque (sur la structure de la table) reste valable ;)


Message édité par Fred999 le 14-11-2002 à 13:44:35
mood
Publicité
Posté le 14-11-2002 à 13:44:24  profilanswer
 

n°245100
mattymotte
Posté le 14-11-2002 à 13:45:59  profilanswer
 

Fred999 a écrit a écrit :

 
 
Bon oké :D
 
C'est le genre de trucs que je n'ai jamais appris :jap:
 
Ceci dit, ma première remarque (sur la structure de la table) reste valable ;)




 
oui moi aussi je n'ai pas le souvenir d'avoir vu ca dans une doc.  
Mais un jour en testant pour faire un truc, ca a marché ! so ...

n°245101
mattymotte
Posté le 14-11-2002 à 13:46:53  profilanswer
 

par contre avec le % dans la chaine de caractere ca marche pas.
va comprendre charles ...

n°245155
Dj YeLL
$question = $to_be || !$to_be;
Posté le 14-11-2002 à 15:02:45  profilanswer
 

Fred999 a écrit a écrit :

[:xx_xx]
 
Le fait que toutes les colonnes d'une table puissent avoir la même valeur, donc la même signification fonctionnelle, me paraît bizarre.
 
Tu peux détailler un peu + stp?
 
(sinon, pour ta question, non, ce n'est pas possible, mais, avec les outils adéquats, tu tapes la requête rapidement)




 
 
C'est pas vraiment que toutes les colonne aient la meme valeur, c'est juste que je fais un genre de moteur de recherche qui va scruter toute la table.
 
Si un gars veut rechercher "Paul" dans ma table, il peut y avoir un Paul dans la colonne REALISATEUR ou ds la colonne ACTEUR ou dans la colonne SCENARISTE etc ... je voulais donc que la requette cherche le mot PAUL dans toutes la table :)
 
sinon pour les autres choses que vous m'avez proposez (avec le IN) ça ne change pas grand chose au probleme, faudra quand meme tapper le nom de toute les colonnes.
 
C'est bizarre qu'on ne puisse pas faire une recherche sur un table entiere :(
 
Enfin voila, merci kan meme :)


---------------
Gamertag: CoteBlack YeLL
n°245158
HappyHarry
Posté le 14-11-2002 à 15:04:14  profilanswer
 

Dj YeLL a écrit a écrit :

 
 
 
C'est pas vraiment que toutes les colonne aient la meme valeur, c'est juste que je fais un genre de moteur de recherche qui va scruter toute la table.
 
Si un gars veut rechercher "Paul" dans ma table, il peut y avoir un Paul dans la colonne REALISATEUR ou ds la colonne ACTEUR ou dans la colonne SCENARISTE etc ... je voulais donc que la requette cherche le mot PAUL dans toutes la table :)
 
sinon pour les autres choses que vous m'avez proposez (avec le IN) ça ne change pas grand chose au probleme, faudra quand meme tapper le nom de toute les colonnes.
 
C'est bizarre qu'on ne puisse pas faire une recherche sur un table entiere :(
 
Enfin voila, merci kan meme :)




 
euh ... la structure de ta bdd est quand meme bancale du coup ...
du moins si t'as mis les noms des personnes directement comme ca, bonjour les redondances ...

n°245162
Dj YeLL
$question = $to_be || !$to_be;
Posté le 14-11-2002 à 15:07:37  profilanswer
 

HappyHarry a écrit a écrit :

 
 
euh ... la structure de ta bdd est quand meme bancale du coup ...
du moins si t'as mis les noms des personnes directement comme ca, bonjour les redondances ...




 
Ben, c'est un site de séries et de dessins animés ... ma table se présente un peu comme ça (en abrégé) :
 
titre | réalisateur | producteur | acteurs etc...
 
donc il se peut que 2 Dessins Animés aient le même producteur ...


---------------
Gamertag: CoteBlack YeLL
n°245163
HappyHarry
Posté le 14-11-2002 à 15:08:19  profilanswer
 

ben a ce moment la tu rajoutes une table realisateur ...

n°245166
Dj YeLL
$question = $to_be || !$to_be;
Posté le 14-11-2002 à 15:09:02  profilanswer
 

J'en profite pour poser une autre question, j'ai ça :
 

Code :
  1. $result = mysql_db_query($dbname, $req) or die(mysql_error());
  2. while($row = mysql_fetch_array($result))
  3. {
  4. print $row['titre'].'<BR>';
  5. }


 
Comment faire pour afficher 'Aucun Resultat' si la requete ne reourne rien ?


---------------
Gamertag: CoteBlack YeLL
n°245168
Dj YeLL
$question = $to_be || !$to_be;
Posté le 14-11-2002 à 15:10:33  profilanswer
 

HappyHarry a écrit a écrit :

ben a ce moment la tu rajoutes une table realisateur ...




 
Oui mais si apres je fais une recherche par réalisateur ... comme il va m'afficher quels DA il a réalisé ? et qui etait le producteurs de ces DA etc...
 
En fait il faut voir mon site pour comprendre ... c'est un système de recherche croisées ...


---------------
Gamertag: CoteBlack YeLL
n°245170
HappyHarry
Posté le 14-11-2002 à 15:11:49  profilanswer
 

Dj YeLL a écrit a écrit :

 
 
Oui mais si apres je fais une recherche par réalisateur ... comme il va m'afficher quels DA il a réalisé ? et qui etait le producteurs de ces DA etc...
 
En fait il faut voir mon site pour comprendre ... c'est un système de recherche croisées ...




 
et toi t'as rien pigé au modele relationnel ...

n°245186
drasche
Posté le 14-11-2002 à 15:22:56  profilanswer
 

Et si tu faisais une table "personnes" dans laquelle tu mets tous ces gens, et une table "professions" grâce à laquelle tu énumérerais les professions dont tu as besoin.  Il te suffirait d'adjoindre une clé étrangère dans la table personnes pour les relier à leur profession.  En une requête, tu aurais la/les personne(s) que tu cherches, et leurs professions respectives.  Et plus besoin d'interroger 36 colonnes mais une seule.  Tu y gagnerais également en place.
 
Fais donc une recherche sur la normalisation des tables sur google, t'auras appris quelque chose sur la bonne organisation d'une base de données ;-)


Message édité par drasche le 14-11-2002 à 15:24:11

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°245190
Fred999
Rabat-joie
Posté le 14-11-2002 à 15:25:17  profilanswer
 

HappyHarry a écrit a écrit :

ben a ce moment la tu rajoutes une table realisateur ...




 
- identifiant du film
- identifiant de la personne
- identifiant du rôle de la personne
 
Là, on peut faire une recherche sur une seule colonne, et sortir les rôles de chacun.

n°245191
Fred999
Rabat-joie
Posté le 14-11-2002 à 15:25:53  profilanswer
 

Dj YeLL a écrit a écrit :

J'en profite pour poser une autre question, j'ai ça :
 

Code :
  1. $result = mysql_db_query($dbname, $req) or die(mysql_error());
  2. while($row = mysql_fetch_array($result))
  3. {
  4. print $row['titre'].'<BR>';
  5. }


 
Comment faire pour afficher 'Aucun Resultat' si la requete ne reourne rien ?




 
perso je fais ça de manière assez barbare, avec une requête count() avant. Je suis sûr qu'il y a mieux, mais n'ai jamais pris le temps de chercher! :D

n°245192
Fred999
Rabat-joie
Posté le 14-11-2002 à 15:26:24  profilanswer
 

drasche a écrit a écrit :

Et si tu faisais une table "personnes" dans laquelle tu mets tous ces gens, et une table "professions" grâce à laquelle tu énumérerais les professions dont tu as besoin.  Il te suffirait d'adjoindre une clé étrangère dans la table personnes pour les relier à leur profession.  En une requête, tu aurais la/les personne(s) que tu cherches, et leurs professions respectives.  Et plus besoin d'interroger 36 colonnes mais une seule.  Tu y gagnerais également en place.
 
Fais donc une recherche sur la normalisation des tables sur google, t'auras appris quelque chose sur la bonne organisation d'une base de données ;-)




 
Tu m'as grillé ;)

n°245195
gm_superst​ar
Appelez-moi Super
Posté le 14-11-2002 à 15:27:43  profilanswer
 

Dj YeLL a écrit a écrit :

J'en profite pour poser une autre question, j'ai ça :
 

Code :
  1. $result = mysql_db_query($dbname, $req) or die(mysql_error());
  2. while($row = mysql_fetch_array($result))
  3. {
  4. print $row['titre'].'<BR>';
  5. }


 
Comment faire pour afficher 'Aucun Resultat' si la requete ne reourne rien ?



Mets d'abord le résultat dans un tableau, puis compte le nombre d'éléments du tableau. C'est jamais très "propre" d'écrire le HTML en même temps que tu récupère le résultat de la requête.
 
Edit: grillaid :/


Message édité par gm_superstar le 14-11-2002 à 15:28:29

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°245219
Dj YeLL
$question = $to_be || !$to_be;
Posté le 14-11-2002 à 15:46:33  profilanswer
 

HappyHarry a écrit a écrit :

 
 
et toi t'as rien pigé au modele relationnel ...




 
 
Excuses moi d'être amateur en PHP ...


---------------
Gamertag: CoteBlack YeLL
n°245232
gm_superst​ar
Appelez-moi Super
Posté le 14-11-2002 à 15:50:49  profilanswer
 

Dj YeLL a écrit a écrit :

Excuses moi d'être amateur en PHP ...



En l'occurence c'est des base de données ;)
 
Organiser une base de données n'est pas quelque chose qui se fait au pif. Il y a d'un coté les sources de données (réalisateurs, acteurs, producteurs) et les liens qu'il y a entre ces sources (films) et tout ça NE PEUT PAS être dans une même table. C'est ingérable (d'ailleurs tu t'en rends compte).


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°245248
Dj YeLL
$question = $to_be || !$to_be;
Posté le 14-11-2002 à 16:01:41  profilanswer
 

drasche a écrit a écrit :

Et si tu faisais une table "personnes" dans laquelle tu mets tous ces gens, et une table "professions" grâce à laquelle tu énumérerais les professions dont tu as besoin.  Il te suffirait d'adjoindre une clé étrangère dans la table personnes pour les relier à leur profession.  En une requête, tu aurais la/les personne(s) que tu cherches, et leurs professions respectives.  Et plus besoin d'interroger 36 colonnes mais une seule.  Tu y gagnerais également en place.
 
Fais donc une recherche sur la normalisation des tables sur google, t'auras appris quelque chose sur la bonne organisation d'une base de données ;-)




 
 
Oué mais en tant que débutant, j'ai un peu de mal a suivre là ... en plus maintenant j'ai tout programmé avec l'autre manière ...
 
Et puis je vais avoir + d'une centaine de DA et de séries ... et pour chaque DA, par exemple il peut y avoir plusieurs realisateurs pour lesquels les liens sont crées automatiquement pour acceder à une page dynamique regrouppant tous ce que ce realisateur à réalisé ... et c'est pareil pour les acteurs, les doubleurs français/anglais, les producteurs etc...
 
En gros je comprends ce dont vous parlez ... mais j'ai déjà fais trop avancé pour recommencer maintenant ... et puis dans l'ensemble, je trouve mon système pas mal du tout quand meme.
 
Allez voir par vous même :
 
www.blackyell.com/blacktv
 
C'est pas du tout pour faire de la pub ou koi ke ce soit ... (toute façon ya encore quasiment rien) mais ça vous permettera de voir déjà le boulot que j'ai fais :)
 
Le menu aussi s'affiche dynamiquement (pour le moment il n'y a rien ds les series, allez ds les DA) et essayez les 1ers DA (albator...)
 
Disons que dans l'ensemble je suis content de moi car j'ai appris le PHP tout seul et que ça ne fait pas si lgtps que ça que je m'y suis mis (2-3 mois) sans compter que je n'avais JAMAIS quelque programmation que ce soit ...
 
Je suis parti de zéro.
 
Be indulgent ... thanx :)


---------------
Gamertag: CoteBlack YeLL
n°245252
Dj YeLL
$question = $to_be || !$to_be;
Posté le 14-11-2002 à 16:04:28  profilanswer
 

gm_superstar a écrit a écrit :

 
En l'occurence c'est des base de données ;)
 
Organiser une base de données n'est pas quelque chose qui se fait au pif. Il y a d'un coté les sources de données (réalisateurs, acteurs, producteurs) et les liens qu'il y a entre ces sources (films) et tout ça NE PEUT PAS être dans une même table. C'est ingérable (d'ailleurs tu t'en rends compte).




 
J'arrive parfaitement à gerer ça ... moi tout ce que je voulais c'etait savoir comment faire une recherche dans une table ENTIERE (ça peut servir pour autre chose que ce que moi je fais)
 
Mais je trouve mon système très bien quand même ...je peux modifier les fiches par PHP etc... donc il arrive correctement me reccupperer les données de la BDD ...
 
Par exemple, quand j'ai plusieurs realisateurs, il y a un lien pour chaque réalisateurs alors qu'ils sont tous ds la meme cellule ... j'ai juste utilisé le explode/implode ... c tout.
 
Mais franchement ds l'ensemble, c'est très simple à gerer mon systeme :)


---------------
Gamertag: CoteBlack YeLL
n°245256
darklord
You're welcome
Posté le 14-11-2002 à 16:08:46  profilanswer
 

juste une remarque. Si c'était parfait tu n'aurais pas de question à poser ...


---------------
Just because you feel good does not make you right
n°245258
Fred999
Rabat-joie
Posté le 14-11-2002 à 16:09:35  profilanswer
 

On est indulgents! ;)
 
Un modèle plus rationnel, et qui te permettrait de faire des requêtes plus simples :
 
Tu fais les tables suivantes :
 

Code :
  1. FILMS
  2. filmiin_ci             id du film (autoincrement, PK)
  3. film_ch_nom            titre du film
  4. PERSONNES
  5. persiin_ci             id de la personne (autoincrement, PK)
  6. pers_ch_nom            nom de la personne
  7. TYPE_PERSONNE
  8. typeich_type          id du type de personne (une initiale, un code sur 2 caractères...)
  9. type_ch_description   description du type (réal, dess...)
  10. FILM_PERSONNES
  11. filmiin_ci            id du film
  12. typeich_type          id du type de personne
  13. persiin_ci            id de la personne


 
Dans FILM_PERSONNES, tu mets une ligne par type de personne et par personne ayant travaillé sur un film... Par exemple, un réalisateur pourra avoir été acteur :)
 
Ta recherche sera simplifiée ;)

n°245263
Dj YeLL
$question = $to_be || !$to_be;
Posté le 14-11-2002 à 16:13:23  profilanswer
 

DarkLord a écrit a écrit :

juste une remarque. Si c'était parfait tu n'aurais pas de question à poser ...




 
 
Je sais bien :)
 
Je ne fais aucun reproche par rapport à ce que vous me dite, au contraire.
 
Ca me servira pour un prochaine fois :)
 
C'est juste que la j'ai vraiment pas envie de tout recommencer parceque j'ai travaillé dur pour en arriver là :
 
Mais tout commentaire est bon à prendre
 
:)


---------------
Gamertag: CoteBlack YeLL
n°245264
Fred999
Rabat-joie
Posté le 14-11-2002 à 16:16:30  profilanswer
 

Une méthode simple pour constituer une BDD : lister sur papier toutes les données dont tu auras besoin, et les regrouper entre elles par classes.
 
Chaque classe correspondra alors (plus ou moins) à une table.
 
Le but étant d'éviter la redondance de données, et les "trous" dans les tables.
 
Après, il te faut toujours jongler entre ce premier but, la complexité de ton code et les perfs... Par exemple, Joce, pour le forum, a préféré dupliquer des données pour avoir de bons temps de réponse.

n°245266
Dj YeLL
$question = $to_be || !$to_be;
Posté le 14-11-2002 à 16:17:29  profilanswer
 

Fred999 a écrit a écrit :

On est indulgents! ;)
 
Un modèle plus rationnel, et qui te permettrait de faire des requêtes plus simples :
 
Tu fais les tables suivantes :
 

Code :
  1. FILMS
  2. filmiin_ci             id du film (autoincrement, PK)
  3. film_ch_nom            titre du film
  4. PERSONNES
  5. persiin_ci             id de la personne (autoincrement, PK)
  6. pers_ch_nom            nom de la personne
  7. TYPE_PERSONNE
  8. typeich_type          id du type de personne (une initiale, un code sur 2 caractères...)
  9. type_ch_description   description du type (réal, dess...)
  10. FILM_PERSONNES
  11. filmiin_ci            id du film
  12. typeich_type          id du type de personne
  13. persiin_ci            id de la personne


 
Dans FILM_PERSONNES, tu mets une ligne par type de personne et par personne ayant travaillé sur un film... Par exemple, un réalisateur pourra avoir été acteur :)
 
Ta recherche sera simplifiée ;)




 
 
En effet :)
 
C'est vraiment très interessant, mais comme je l'ai dis plus haut, j'ai  pas envie de recommencer pour le moment ... mais ça me servira pour plus tard :)
 
De toute façon, je fais surtout des sites pour m'amuser et m'améliorer en HTML/PHP/MySQL ... c'est même pas pour faire forcement un site qui sera bcp visité (j'ai déjà dû faire une bonne dizaine de site avant celui là ... plus aucun n'existe). C'est un genre d'entrainement... en tout cas, tous les sites que j'ai fais etait de mieux en mieux à chaque fois car j'apprenais de nouvelle choses :)
 
La preuve, le prochain sera surement encore mieux avec ce que je viens d'apprendre aujourd'hui :)
 
Merci @ tous


---------------
Gamertag: CoteBlack YeLL
n°245277
drasche
Posté le 14-11-2002 à 16:36:21  profilanswer
 

disons que si tu remodélises ta base de données, tu devrais dans le meilleur des cas réécrire tes requêtes.  Et dans le pire, tout ce qui tourne autour des requêtes.  Au niveau présentation, tu devrais tout de même arriver à obtenir la même chose qu'actuellement.
 
Crois moi, au plus tôt tu le feras, au mieux ce sera ;)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°246452
Dj YeLL
$question = $to_be || !$to_be;
Posté le 16-11-2002 à 13:10:03  profilanswer
 

Bon, bonjour @ tous, j'ai essayé mais j'ai bcp de mal à comprendre le fonctionnemet ...
 
Prenons un exemple simple :
 
table TITRE :
 

ID | TITRE
---+-------
1  | titre1
2  | titre2


 
Ensuite, table PERSONNES :
 

ID | NOM
---+-----
1  | nom1
2  | nom2


 
Ensuite, table METIERS
 

ID | METIER
---+--------
AC | acteur
PR | producteur


 
Bon, une fois que j'ai ça, je suis censé faire quoi ? Si j'ai envie que ça m'affiche le film "titre2" avec "nom1" comme "producteur" ET "acteur", et "nom2" comme "acteur" seulement ? Je pense qu'il me manque une table recapitulative mais elle se presentera comment ?
 
Comme ça ? :
 

ID | TITRE | NOM | METIER


 
?
 
Mais si c'est ça je dois mettre quoi dedans ? Les ID ? Et si, comme ds mon exemple, "nom1" est "producteur" ET "acteur" je fais comment ?
 
Enfin bref, vous l'aurez compris, je patauge grave ds la bouillabesse ... plize help :(


Message édité par Dj YeLL le 16-11-2002 à 13:11:16

---------------
Gamertag: CoteBlack YeLL
n°246852
Dj YeLL
$question = $to_be || !$to_be;
Posté le 16-11-2002 à 22:57:17  profilanswer
 

:bounce:


---------------
Gamertag: CoteBlack YeLL
n°246861
mrbebert
Posté le 16-11-2002 à 23:16:55  profilanswer
 

Effectivement, il faut une table qui fasse le lien.
A la rigueur, la table METIERS n'est pas indispensable si tu n'as que 2 entrées dedans. Tu peux traiter l'identifiant AC ou PR contenu dans la colonne METIER de cette table directement dans le code (PHP ou autre).

n°246874
joce
Architecte / Développeur principal
&#034;BugHunter&#034;
Posté le 16-11-2002 à 23:43:35  profilanswer
 

Dj YeLL a écrit a écrit :

J'en profite pour poser une autre question, j'ai ça :
 

Code :
  1. $result = mysql_db_query($dbname, $req) or die(mysql_error());
  2. while($row = mysql_fetch_array($result))
  3. {
  4. print $row['titre'].'<BR>';
  5. }


 
Comment faire pour afficher 'Aucun Resultat' si la requete ne reourne rien ?




Code :
  1. $result = mysql_db_query($dbname, $req) or die(mysql_error());
  2. $num_res = mysql_num_rows($result);
  3. if ($num_res > 1)
  4. {
  5. while($row = mysql_fetch_array($result))
  6. {
  7. print $row['titre'].'<br />';
  8. }
  9. }
  10. else
  11. {
  12.   echo "Aucun résultat retourné";
  13. }



---------------
Protèges carnets personnalisés & accessoires pour bébé
n°247111
Dj YeLL
$question = $to_be || !$to_be;
Posté le 17-11-2002 à 18:18:20  profilanswer
 

mrbebert a écrit a écrit :

Effectivement, il faut une table qui fasse le lien.
A la rigueur, la table METIERS n'est pas indispensable si tu n'as que 2 entrées dedans. Tu peux traiter l'identifiant AC ou PR contenu dans la colonne METIER de cette table directement dans le code (PHP ou autre).




 
 
Oui mais la c t un exemple ... j'en ai bcp + ke ça des metiers (acteurs, realisateurs, producteurs, scenaristes, doublure originale, doublure Fr etc...)
 
Par contre si kkn savait où trouver un genre de tutorial pour faire ça (je crois que le nom est "modèle relationnel" )


---------------
Gamertag: CoteBlack YeLL
n°247112
Dj YeLL
$question = $to_be || !$to_be;
Posté le 17-11-2002 à 18:19:11  profilanswer
 

joce a écrit a écrit :

 

Code :
  1. $result = mysql_db_query($dbname, $req) or die(mysql_error());
  2. $num_res = mysql_num_rows($result);
  3. if ($num_res > 1)
  4. {
  5. while($row = mysql_fetch_array($result))
  6. {
  7. print $row['titre'].'<br />';
  8. }
  9. }
  10. else
  11. {
  12.   echo "Aucun résultat retourné";
  13. }


 




 
 :jap:


---------------
Gamertag: CoteBlack YeLL
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Comment faire une recherche dans toute la table ?

 

Sujets relatifs
MYSQL: la question con du jour...PHP MyAdmin et MySQL
Je recherche un comparatif entre PostgreSQL et Oraclenouvelle en mysql, besoin de tuto pour les debutants .... merci à tous
Connexion sécurisée SSL entre un prog C++ et une base MySQLacceder a un mysql sous linux a partir d'une appli java sous windows
Erreur Mysql toute bete mais je blok[PHP] Probleme avec MySql: Erreur que je n'arrive pas à résoudre
je recherche unediteur C sous linuxRecherche dans une table MYSQL
Plus de sujets relatifs à : [MySQL] Comment faire une recherche dans toute la table ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR