Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Affichage profil traducteur en fonction critères sélectionnés


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Affichage profil traducteur en fonction critères sélectionnés
    Bonjour à tous,

    J'ai un souci technique et je ne sais pas comment le programmer. Peut-être en PHP ?
    Je souhaite afficher un profil (par exemple d'un traducteur) en fonction des critères de choix.

    J'ai un menu déroulant avec la "langue source" ET un menu déroulant avec la "langue cible".
    Si "langue source = anglais" + "langue cible = allemand", j'affiche le profil numéro 100
    Si "langue source = espagnol" + "langue cible = allemand", j'affiche le profil numéro 101, etc.

    Savez-vous comment je pourrais programmer cela?
    Merci par avance
    Novice100

  2. #2
    Membre émérite
    Bonsoir,

    Via un combo de switch ?

    Si dans un traitement, dans l'idée :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    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
    $profil = 0;
    switch($source) {
    	case 'anglais':
    		switch($cible) {
    			case 'allemand': $profil = 100; break;
    			case '...': $profil = '...'; break;
    			default: $profil = '...'; break;
    		}
    		break;
    	case 'espagnol':
    		switch($cible) {
    			case 'allemand': $profil = 101; break;
    			case '...': $profil = '...'; break;
    			default: $profil = '...'; break;
    		}	
    		break;
    	case  '...': 
    		switch($cible) {
    			case '...': $profil = '...'; break;
    			case '...': $profil = '...'; break;
    			default: $profil = '...'; break;
    		}	
    		break;
    	default: 
    		switch($cible) {
    			case '...': $profil = '...'; break;
    			case '...': $profil = '...'; break;
    			default: $profil = '...'; break;
    		}		
    		break;
    }

    À adapter en fonction de ton besoin.
    Il doit également y avoir mieux à faire, mais sans plus d'infos...
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  3. #3
    Expert éminent sénior
    la 1re étape serait déjà d'avoir une base de données avec une liste de traducteurs. avez-vous déjà ça ?

  4. #4
    Nouveau membre du Club
    Oui, j'ai une base de données avec des traducteurs.
    L'idée est que les traducteurs s'inscrivent en remplissant un profil.

    Lors que les clients recherchent un traducteur (exemple traduit anglais vers allemand), ils utilisent 2 menus déroulants et on affiche le ou les traducteurs (cela peut être 50 ou plus) qui correspondent à la recherche.

    J'ai pas mal de langue (environ 100), donc cela fait pas mal de possibilités pour faire un SWITCH, non ?

  5. #5
    Modératrice

    On pourrait voir la structure de ta base ? Tu as une table traducteur avec une liaison vers une table de langues peut-être ? Dans ce cas, c'est une recherche en base qu'il faut que tu fasses : rechercher tous les traducteurs qui ont les deux langues recherchées.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Invité
    Invité(e)
    Bonjour,

    Citation Envoyé par novice100 Voir le message
    ...J'ai pas mal de langue (environ 100)...
    On peut très bien créer une table SQL "t_langue_profil", contenant les colonnes :
    • id
    • langue_source
    • langue_cible
    • profil

    Connaissant $langue_source et $langue_cible, il suffit d'une simple requête SQL pour trouver le profil correspondant.

    N.B. Il est préférable d'avoir les langues sous leur forme conventionnelle "fr", "en", de",... plutôt que "français", "anglais", "allemand" (qui sont des traductions françaises !)

  7. #7
    Nouveau membre du Club
    Oui, j'ai une base de ce type, avec possibilité d'avoir plusieurs langues sources et cibles si le traducteur en a besoin.
    Je souhaite programmer le site avec Wordpress, est-ce que c'est une contrainte ou bien pensez-vous que je puisse insérer facilement un code comme celui-ci pour afficher le profil ?

  8. #8
    Membre émérite
    J'ai pas mal de langue (environ 100), donc cela fait pas mal de possibilités pour faire un SWITCH, non ?
    Dans ce cas, l'idée du switch n'est clairement pas approprié... (mais tu n'avais pas précisé le nombre)
    @Jreaux a tout dit !
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  9. #9
    Nouveau membre du Club
    En fait, mon souci est comment je fais pour qu'à partir de mes 2 menus déroulants, je puisse sélectionner les profils qui correspondent à ma recherche.
    Par exemple, un traducteur traduisant de l'anglais (source language) vers l'allemand (target language).
    Code HTML :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <table>
    <tr>
    <td>Source Language:</td>
    <option value="" selected> Any Language </option>
    <option value="chinese" >Chinese</option>
    <option value="croatian" >Croatian</option>
    <option value="czech" >Czech</option>
    <option value="danish" >Danish</option>
    <option value="english" >English</option>
    <option value="french" >French</option>
    <option value="german" >German</option>
    </select>
    </tr>
    </table>



    Code HTML :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <table>
    <tr>
    <td>Target Language:</td>
    <option value="" selected> Any Language </option>
    <option value="chinese" >Chinese</option>
    <option value="croatian" >Croatian</option>
    <option value="czech" >Czech</option>
    <option value="danish" >Danish</option>
    <option value="english" >English</option>
    <option value="french" >French</option>
    <option value="german" >German</option>
    </select>
    </tr>
    </table>

  10. #10
    Modératrice

    Logiquement un traducteur n'est pas unidirectionnel (je suppose que ton traducteur est une personne hein, pas une application informatique )
    Si le traducteur M parle français, anglais et allemand, il peut traduire du français à l'allemand comme de l'allemand au français.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  11. #11
    Invité
    Invité(e)
    Bonjour,

    1-
    Citation Envoyé par novice100 Voir le message
    ...L'idée est que les traducteurs s'inscrivent en remplissant un profil.
    ...on affiche le ou les traducteurs (cela peut être 50 ou plus) qui correspondent à la recherche...
    Dans ce cas, le résultat n'est pas "100" ou "101" ou "..." : il peut y avoir PLUSIEURS résultats à la recherche !

    2-
    Citation Envoyé par novice100 Voir le message
    Oui, j'ai une base de données avec des traducteurs.
    MONTRE la STRUCTURE de cette table

    3-
    Code html :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <table>
    <tr>
    <td>Source Language:</td>
    <option .....

    Il faut utiliser une balise <select>.

    4- Pour afficher un "profil" à partir des 2 listes déroulantes (<select>), 2 solutions :

    Solution 1 : PHP

    • mettre ces 2 <select> dans un <form>
    • ajouter un <input type="submit">
    • puis traiter et afficher le résultat * en PHP (récupération des 2 valeurs -> requete -> ...)

    Solution 2 : JavaScript/Ajax (SANS rechargement de la page)

    • ajouter un onchange="..." sur les 2 <select>
    • récupérer, dans un script JS, les 2 valeurs
    • faire un appel Ajax vers une page PHP qui traitera les données et renverra le résultat * au script JS

    * "le résultat" peut être sous la forme d'un tableau <table>, avec sur chaque ligne :
    • un traducteur et son profil
    • + un bouton "sélectionner ce traducteur"


    N.B. Dans un premier temps, la Solution 1 est bien suffisante pour ton besoin (et ton niveau de connaissance).
    J'ai mis un lien : CLIQUE DESSUS !

###raw>template_hook.ano_emploi###