IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

MySQL et Smarty comment ça marche ? [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Directeur adjoint en restauration
    Inscrit en
    Mai 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Directeur adjoint en restauration
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mai 2005
    Messages : 51
    Points : 57
    Points
    57
    Par défaut MySQL et Smarty comment ça marche ?
    Bonsoir le Forum,

    Je recherche un tutoriel sur MySQL et Smarty.

    J'arrive à utiliser PHP et MySQL, il y a tout plein de lien concernant ce sujet, mais je n'arive pas à faire fonctionner tout ceci avec Smarty.

    J'ai beau chercher dans les documentations de Smarty et les Forums, mais je n'y trouve rien que je comprenne correctement.

    Merci de votre aide.

    Laurent

  2. #2
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    en fait, ça ne change rien. Tu va créer tes variables en PHP (suite à une extraction d'une base par exemple), que tu va assigner à Smarty, et que tu traitera après dans ton template.

    Il faut bien voir la séparation des différentes couches, et celle qui ne se retrouve surtout pas mélangée aux autres, c'est bien la présentation

    n'hésites pas à faire des print_r de tes tableaux en PHP, puis regardes comment tu pourrait les gérer depuis ton TPL (foreach sera ton meilleur ami).
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  3. #3
    Membre du Club
    Homme Profil pro
    Directeur adjoint en restauration
    Inscrit en
    Mai 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Directeur adjoint en restauration
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mai 2005
    Messages : 51
    Points : 57
    Points
    57
    Par défaut
    Bonsoir titoumimi, le Forum,

    Merci de cette réponse rapide.

    Le problème que j'ai, c'est quand je récupère les infos de ma base de données avec While dans un tableau, je n'arrive pas à le passer dans une variable smarty.

    Voici le code que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $reponse = mysql_query("SELECT * FROM lj_menu ORDER BY id") or die(mysql_error()); // Requête SQL
     
    while ($donnees = mysql_fetch_array($reponse) ) {
    $menu=array($donnees['nom_menu'],$donnees['url_menu']);
    }
     
    //Assigne la liste des menus avec leurs url à $menu
    $smarty->assign('menu',$menu);
    Pour la partie .tpl, j'utilise bien {foreach}{/foreach}, qui fonctionne pour des tableau déclaré directement avec php.

    Le souci, c'est que pour certaines parties, je souhaiterai les gérer avec une base de données pour éviter les répétitions de code identique dans les divers fichiers php.

    Laurent

  4. #4
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    fait un print_r ($menu); juste après ton while, ça te donnera une bonne idée de sa structure

    PS : à mon avis, si j'ai tout bien compris, tu veux créer un tableau de tableaux.

    Dans ce cas, tu devrai peut être mettre un $menu[] = .... dans ton while
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  5. #5
    Membre du Club
    Homme Profil pro
    Directeur adjoint en restauration
    Inscrit en
    Mai 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Directeur adjoint en restauration
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mai 2005
    Messages : 51
    Points : 57
    Points
    57
    Par défaut
    Super, on avance.

    J'ai bien le tableau de mes menus (nom, url)

    Dans mon template, j'ai bien le nombre de bouton qui s'affiche, au lieu de deux auparavant, mais rien ne s'inscris et aucun lien ?

    Voici mon code .tpl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
          <tr><!-- menu -->
            <td width="7"><img src="images/menuH_Separateur.gif" alt="separateur" width="7" height="32"></td>
    	{foreach item=item from=$menu}
            <td width="80" class="menu"><div align="center"><a href={$item.url_menu}>{$item.nom_menu}</a></div></td>
            <td width="7"><img src="images/menuH_Separateur.gif" alt="separateur" width="7" height="32"></td>
    	{/foreach}
          </tr><!-- /menu -->
    Où fais-je la faute ?

    C'est peut-être que j'utilise le même nom de variable ?
    J'ai changé de nom pour la variable smarty, même résultat

    Laurent

  6. #6
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    ce que tu veux faire, c'est créer un tableau de tableaux associatif

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while ($donnees = mysql_fetch_array($reponse) ) {
      $menu[]=array(
        "nom_menu" => $donnees['nom_menu'],
        "url_menu" => $donnees['url_menu']
      );
    }
    Puis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    {foreach item=item from=$menu}
            <td width="80" class="menu"><div align="center"><a href={$item.url_menu}>{$item.nom_menu}</a></div></td>
            <td width="7"><img src="images/menuH_Separateur.gif" alt="separateur" width="7" height="32"></td>
    	{/foreach}
    normalement, ça devrait le faire Sur ce, bonne nuit, et à demain matin, si ça ne fonctionne toujours pas
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  7. #7
    Membre du Club
    Homme Profil pro
    Directeur adjoint en restauration
    Inscrit en
    Mai 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Directeur adjoint en restauration
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mai 2005
    Messages : 51
    Points : 57
    Points
    57
    Par défaut
    Bonjour titoumimi, le Forum,

    Modifications concluantes.

    C'est pourtant simple d'appliquer des règles connues à d'autres applications.

    Je sais déclarer les tableaux associatifs, mais le fait d'ajouter la problématique MSQL (qui n'en est pas une ), et je ne sais plus rien faire.

    Encore merci, et bonne journée.

    Laurent

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ToAsciiEx, comment cela marche ?
    Par mikyfpc dans le forum C++Builder
    Réponses: 2
    Dernier message: 17/02/2004, 21h39
  2. [MFC] list box : comment ça marche
    Par runn2 dans le forum MFC
    Réponses: 4
    Dernier message: 28/01/2004, 12h36
  3. [SYNEDIT] -> Comment ça marche ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 19h11
  4. [TP][Turbo Vision] comment ça marche ??
    Par Costello dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 05/08/2003, 00h24
  5. [update][req. imbriquee] Comment ca marche ??
    Par terziann dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/07/2003, 12h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo