doublons
Bonjour,
J'ai une table avec 3 colonnes :
mot_cle, mot_cle2, mot_cle3
Je voudrais récupérer tous les mots
des 3 colonnes, en évitant les doublons, (sachant q'un même mot
peut se retrouver dans mot_cle, mais aussi dans mot_cle2 ou dans mot_cle3).
En gros, faire un "SELECT DISTINCT mot_cle" un "SELECT DISTINCT mot_cle2" et "SELECT DISTINCT mot_cle3" en une seule requête !
Si je fais "SELECT DISTINCT mot_cle, mot_cle2, mot_cle3"
ça ne fonctionne pas
Merci
f
Et tu ne pourrais pas filtrer en PHP une fois la requête effectuée ?
Merci pour ta suggestion
je fais comment pour filtrer ?
(fauto) Qu'est-ce qu'un filtre ?
<?php
$resultats = fonction_qui_cherche_les_lignes();
$resultats_filtres = fonction_qui_filtre_les_lignes($results) ;
fonction_qui_filtre_les_lignes faisant le boulot de filtration. C'est à dire qu'il va manipuler le tableau pour qu'il n'y ai pas de doublon. Il va falloir boucler sur les lignes et comparer des valeurs. Avec un peu de réflexion tu peux y arriver.
Ceci dit, la table d'origine a un défaut de conception. Je verrais plutôt quelque chose dans ce goût là :
create table article_keywords
( article_id integer not null
, word varchar(255) not null
, primary key(article_id, word)
, foreign key (article_id) references articles(id)
) ;
create table articles
( id integer not null
, title char(50) not null
, content text
, primary key (id)
) ;
Ainsi, la recherche des articles par mot clé se ferait ainsi :
select a.* from articles as a
join article_keywords as ak
on a.id = ak.article_id
where ak.word = '?' ;
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Merci LupusMic
Donc, 2 tables liéées, tu as raison,
c'est sûrement le mieux.
Je dois me pencher sérieusement sur cette histoire de tables liéées, j'en ai pas encore fait !
Bref,
J'ai une autre question de newbie !
Je dois faire une sorte de médiathèque, avec des catégories, et dans chaque catégorie, des albums .
C'est quoi la solution ?
Créer une base de données pour chaque catégorie, puis les tables "albums"
ou (justement),
créer une table "album" et une autre table, liée, avec le nom de la catégorie ??
Sachant qu'il va y avoir plein de fichiers, et que je dois pouvoir ensuite, faire un moteur de recherche, dans les différentes catégories, et aussi assigner à tel ou tel membre, tel ou tel album
Ouf !
Merci à vous pour votre aide si précieuse !
Bonne journée
Fausto
C'est une solution parmi d'autres. Il y a peut être plus élégant, plus puissant, plus performant, etc. C'est une question de goût, et surtout de besoin.
Il n'y a pas une seule solution. Le problème auquel tu veux répondre peut être traité de différentes manières, selon les ressources dont tu disposes, et des fonctionnalités que tu dois fournir. Ainsi que les performances attendues, la maintenabilité, l'évolutivité.
Ce qu'il faut que tu gardes à l'esprit, c'est que pour mieux régner, il faut diviser. Donc essaye de séparer au maximum les concepts, quitte à devoir dénormaliser par la suite.
Il faut aussi que tu acquiert le vocabulaire. Par exemple, on ne parle pas de tables liées, mais de jointures ou de relations. Comprendre et maîtriser ces mécanismes te permettrons de facilement modéliser ton application.
Essaye déjà de créer quelque chose de simple, teste, fais valider par les utilisateurs (ou commanditaires), en précisant que c'est un prototype (et précise ces limites, pour éviter d'être noyé dans les demandes de fonctionnalités). Puis rajoute les fonctionnalités progressivement, comme si tu incorporait du sucre à ton blanc d'œuf monté en neige : si tu ajoutes tout d'un coup, ta meringue est râtée. Dans le développement, c'est pareil : quand l'incorporation a échouée, vaut mieux jeter la préparation et recommencer. Ce qui est rarement faisable. Donc vas-y au fur et à mesure.
Ceci dit : c'est un développement professionnel ? Tu es seul à le réalisé ?
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Ok, merci pour les conseils
c un une appli perso
++
fausto
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: