Requête SQL sur champ personnalisé

Ce forum aborde toutes les questions qu'un codeur ou webmaster pourrait se poser, et n'ayant aucun rapport direct avec phpBB.
Tout ce qui peut concerner la récupération des sessions de phpBB sur votre site, doit se faire dans ce forum.

Modérateur: Equipe

Requête SQL sur champ personnalisé

Messagepar Ariane A » 25 Mai 2009 à 13:23

Bonjour,

J'aimerais afficher un texte selon la valeur d'un champ personnalisé que j'ai créé, mais je ne m'en sors pas...

Le champ se nomme "pays", son id est 5 dans la bdd et par exemple, la valeur "France" a l'option_id de 8.

Est-ce qqn pourrait m'écrire la requête SQL et le test en php (IF) et surtout me dire dans quel fichier la placer car je ne peux pas la mettre directement dans un template.
Bref je ne sais pas trop par où commencer...

Merci !
Dernière édition par Ariane A le 29 Mai 2009 à 21:26, édité 2 fois.
Ariane
partirA2.com : trouvez un compagnon de voyage !
Le Palais de Zelda : le site sur "The Legend of Zelda"
Ariane A
Posteur expérimenté
Posteur expérimenté
 
Messages: 312
Inscription: 18 Mar 2003 à 20:38
Localisation: Suisse

Re: Requête SQL sur champ personnalisé

Messagepar spitfire pat » 25 Mai 2009 à 15:07

tu ne publies pas vraiment dans le bon forum (coding ou aide au développement seraient plus appropriés)
et puis il faudrait que tu nous dises où tu veux afficher ton texte
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15310
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: Requête SQL sur champ personnalisé

Messagepar Ariane A » 25 Mai 2009 à 15:47

Désolée.

Je ne sais pas encore où je vais afficher le texte, peut-être à plusieurs endroits.
C'est surtout la requête et le test qui m'intéressent, je ne pense pas que le choix du template soit important... ? Disons overall_footer.html pour l'exemple.

Merci.
Ariane
partirA2.com : trouvez un compagnon de voyage !
Le Palais de Zelda : le site sur "The Legend of Zelda"
Ariane A
Posteur expérimenté
Posteur expérimenté
 
Messages: 312
Inscription: 18 Mar 2003 à 20:38
Localisation: Suisse

Re: Requête SQL sur champ personnalisé

Messagepar lolovoisin » 25 Mai 2009 à 17:27

bonjour,

Votre message a été déplacé par un membre de l'équipe.
origine: Support phpBB3 ‹ Utilisation

spitfire pat a écrit:tu ne publies pas vraiment dans le bon forum (coding ou aide au développement seraient plus appropriés)
et puis il faudrait que tu nous dises où tu veux afficher ton texte
http://www.lolovoisin.com : Blog, trucs, astuces et tutos phpbb3, hébergements, débian

Ceux qui échouent trouvent des excuses, ceux qui réussissent trouvent les moyens
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
Avatar de l’utilisateur
lolovoisin
Rugbix ³
 
Messages: 37249
Inscription: 04 Mai 2006 à 12:16
Localisation: Dans la BDD ...

Re: Requête SQL sur champ personnalisé

Messagepar spitfire pat » 26 Mai 2009 à 06:43

je demandais où tu voulais mettre ton texte, parce que l'user_id à rechercher n'est pas le même si c'est dans viewtopic ou dans la page d'index 8)
et puis tu demandais dans quel fichier mettre ta requête sql, alors là aussi ça dépend de l'endroit où tu veux placer ton texte
donc apparemment, on prend en compte l'user_id du membre connecté et non celui d'un posteur ou d'un membre dont on regarde le profil
donc ta requête sql se présentera ainsi
Code: Tout sélectionner
$sql = 'SELECT pf_pays FROM ' . PROFILE_FIELDS_DATA_TABLE . ' WHERE user_id=' . $user->data['user_id'];
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$pays = $row['pf_pays'];

ensuite tu n'as plus qu'à explorer les différentes valeurs possibles de $pays avec un switch/case
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15310
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: Requête SQL sur champ personnalisé

Messagepar Ariane A » 26 Mai 2009 à 08:31

OK. Alors oui oui tu as bien deviné ! je pensais au user_id du membre connecté.

Donc je place cette requête dans functions.php ?
Et je peux faire des tests sur $pays dans différents templates, c'est bien ça ?

Merci encore !
Ariane
partirA2.com : trouvez un compagnon de voyage !
Le Palais de Zelda : le site sur "The Legend of Zelda"
Ariane A
Posteur expérimenté
Posteur expérimenté
 
Messages: 312
Inscription: 18 Mar 2003 à 20:38
Localisation: Suisse

Re: Requête SQL sur champ personnalisé

Messagepar spitfire pat » 26 Mai 2009 à 08:51

Ariane A a écrit:Donc je place cette requête dans functions.php ?
Et je peux faire des tests sur $pays dans différents templates, c'est bien ça ?

euh, si tu places ta requête dans functions.php, tu ne pourras pas tester $pays ailleurs.
par contre tu peux assigner une variable template dans la fonction page_header de functions.php, à partir de là, cette variable template pourra être placée dans n'importe quel fichier html.
exemple, la requête sql étant placée à l'intérieur de la fonction page_header de functions.php, on teste ensuite $pays
Code: Tout sélectionner
switch $pays
{
      case 8:
            $pays_description = 'Vous habitez en france';
            break;
}

ensuite tu cherches
Code: Tout sélectionner
$template->assign_vars(array(

et tu ajoutes après
Code: Tout sélectionner
            'PAYS_DESCRIPTION' => $pays_description,


tu pourras ensuite insérer {PAYS_DESCRIPTION} dans n'importe quel fichier html
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15310
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: Requête SQL sur champ personnalisé

Messagepar Ariane A » 29 Mai 2009 à 21:26

Salut Spitfire pat,

Un grand merci pour ton aide ! ça marche très bien !
(je n'ai pas eu le temps d'essayer avant).

Bon week-end !
Ariane
partirA2.com : trouvez un compagnon de voyage !
Le Palais de Zelda : le site sur "The Legend of Zelda"
Ariane A
Posteur expérimenté
Posteur expérimenté
 
Messages: 312
Inscription: 18 Mar 2003 à 20:38
Localisation: Suisse


Retourner vers Coding, Webmastering et Sécurité informatique

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot] et 2 invités

Partenaires : phpBBHacks.com • phpBB-Seo.com • EzCom-fr.com • phpBB3 Styles • phpBB podpora • phpBB Portugal    Liens : Net Avenir • PromoBenef • Ticket Gagnant