begin process at 2012 05 31 15:45:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

POO

 > 

Autre

 > 

smarty et PDO


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

smarty et PDO

lundi 30 juin 2008 à 12:41:39 | smarty et PDO

nader19



NADER
lundi 30 juin 2008 à 12:43:53 | Re : smarty et PDO

nader19



NADER
lundi 30 juin 2008 à 14:18:03 | Re : smarty et PDO

neigedhiver

????


Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
lundi 30 juin 2008 à 14:33:33 | Re : smarty et PDO

nader19



désolé j'ai pas rzmarqué que j'ai ecris n'a pas été validé
Bonjour,
j'ai probleme un peu compliqué mais je me bloque et je trouve pas solution
en fete j'utilise PDO pour connexion avec mysql et smart comme moteur template
je me bloque dans une requete précise .
j'ai 1 table ou ou il ya 1 champs pour date . bien sur je pêux avoir milliers de lignes dans cete table
la requete que je veux la faire est parcourir cette table voir toutes les années existantes dans champs date puis affiche des liens par exemple: 2007----2008------2009 que lorsque on clique dessus une autyre requete va etre déclanché avec conditions de l'année . c'est a dire la requete a trouvé qu'il ya annee 2007 et annee 2008 et annee 2009..
j'ai utilisé requete suivante:

$requete_prepare_1=$connexion->prepare("select year(date) as date "); // on prépare notre requête
$requete_prepare_1->execute(array( 1 ));
$lignes=$requete_prepare_1->fetch(PDO::FETCH_OBJ);
$lignes->date.'<br />';

mais il affiche que la derniere ligne de la table

et aussi j'arrive pas a afficher résultat de PDO dans moteur tempate smarty surtout si'il s'agit de stoker tableau ou résultat de sql avec plusieurs résultats.
qu'elqu'un a une idée
merçi d'vance.
lundi 30 juin 2008 à 14:48:24 | Re : smarty et PDO

neigedhiver

Salut,

"mais il affiche que la derniere ligne de la table "

C'est normal : tu ne récupère qu'une seule ligne, puisque tu n'executes qu'un seule fois la méthode fetch().
Utilise fetchAll() au lieu de fetch().
La méthode fetchAll() retourne un tableau avec tous les résultats (ce qui est quand même plus intéressant que de boucler sur fetch())


"et aussi j'arrive pas a afficher résultat de PDO dans moteur tempate smarty surtout si'il s'agit de stoker tableau ou résultat de sql avec plusieurs résultats."
Dans Smarty, tu peux boucler sur un tableau. En l'occurrence, tu as récupéré un tableau avec fetchAll(), il te suffit de l'assigner à une variable de Smarty :

$Smarty -> assign('tableau', $lines);

Dans le template :

{foreach from=$tableau item=ligne}
  {$ligne.date} : Patati, patata
{/foreach}


Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
lundi 30 juin 2008 à 15:05:31 | Re : smarty et PDO

nader19



merçi pour votre réponse
 j'ainessayé cette méthode fetch all
et voilà erreur
Fatal error: Cannot use object of type stdClass as array in C:\Program Files\EasyPHP 2.0b1\www\SI\RH\index.php on line 34
et voila la requete:
$requete_prepare_1=$connexion->prepare("select year(date_debut) as date from atm_2008");
$requete_prepare_1->execute(array( 1 ));
$lignes=$requete_prepare_1->fetchAll(PDO::FETCH_OBJ);
 foreach ($lignes as $row)
                 {
                   echo $date = $row['date'];
       }
lundi 30 juin 2008 à 15:29:05 | Re : smarty et PDO

neigedhiver

Avec l'option PDO::FETCH_OBJ PDO va nécessairement retourne un objet.
Il faut utiliser PDO::FETCH_ASSOC pour que PDO retourne un tableau (ou PDO::FETCH_NUM ou encore laisser la valeur par défaut)

Pour avoir à la fois un tableau et un objet, PDO::FETCH_LAZY : http://fr2.php.net/manual/fr/pdostatement.fetch.php

Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
lundi 30 juin 2008 à 16:17:33 | Re : smarty et PDO

nader19


merçi pour tes réponses

function readDataForwards($connexion) {
  $sql = 'SELECT year(date_debut) FROM atm_2008';
  try {
    $stmt = $connexion->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
    $stmt->execute();
    while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
      $data = $row[0];
   print_r ($data);
    }
    $stmt = null;
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}


readDataForwards($connexion);

cela affiche toute les dates de la table. mais moi j'ai besoin qu'apres parcours de la table il va trouver les années x et y et afficher des liens href
par exemple 2007-2008-2009



Cette discussion est classée dans : smarty, pdo


Répondre à ce message

Sujets en rapport avec ce message

Template phplib [ par TuXAveRy ] Bonjour,Voila j'ai un problème de logique assez basic :/J'utilise smarty depuis quelque temps déjà et pour des raisons technique je souhaiterais passe Probleme avec Smarty [ par Sweet_7694 ] Bonjour,j'ai actullement un petit probleme avec la finalisation de l'installation de Smarty.Il me renvoie cette erreur au moment d'essai de l'affichag Eternel probleme avec la lib GD et Wamp 1.6.1 [ par jean84 ] Salut a tous !!J'ai un petit soucis avec la lib GD. Depuis peu  j'utilise Wamp. J'utilisai jusqu'a present easyphp 1.8 mais j'avais envie de commencer PDO et firebird [ par krovomite ] Bonjour, j'ai un gros probleme en ce moment a savoir que le serveur PHP me dit que le new PDO($dsn, $user, $pass) n'est pas un objet, je cite : "Fatal PhpZend et smarty [ par mnoussa ] Bonjour, je dois utiliser pour mon projet PhpZend, smarty et postgres.je ne les connais pas bien , j'utilise la classe ADODB pour les traitements de m Probleme PDO [ par flaaam ] Bonjour à tous : je viens de créer une classe extends PDO. Elle a une méthode de connexion qui fait appelle a PDO ainsi que toutes les autres méthodes Templte Smarty ! gros problème d'affichage [ par damien7755 ] Bonjour a tous !J'ai un gros probleme avec les templates smarty j'aimerais bien les tester mais malheureusement ça foire déja ... j'ai un fichier inde Avis à tous les utilisateurs de Template Smarty [ par damien7755 ] Bonjour a tous Je suis au bord au suicide ... ça fait des heures que je regarde les documentations sur smarty et il n'explique JAMAIS comment faire d Inclusions & Smarty [ par Sniperman113 ] Bonjour,J'ai un petit problème avec Smarty.Enfaite, je souhaite que mon site soit le plus rapide possible à s'afficher. Pour cela, je comptais utilise Ajouter une méthode à PDO [ par Evangun ] Hello,je me pose une question simple : est-ce qu'on peut ajouter une méthode à une classe "native" comme PDO ? Je n'ai pas trouvé d'info là-dessus. Je


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales