Boucle dans fonction avec affichage html.
Résolu
vermich89
Messages postés
63
Date d'inscription
Statut
Membre
Dernière intervention
-
vermich89 Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
vermich89 Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je sollicite votre aide car je suis en train de créer un module prestashop mais je reste bloqué.
je souhaite afficher le contenu d'une table sous forme de tableau et pour cela j'ai créer une boucle qui est censé affiché chaque ligne de la table. Mais j'ai eu beau la retravailler 15 fois je vois plus du tout comment ça doit marcher. voici la page php du module
Si quelqu'un a un peu de temps pour m'aider , merci d'avance.
Je sollicite votre aide car je suis en train de créer un module prestashop mais je reste bloqué.
je souhaite afficher le contenu d'une table sous forme de tableau et pour cela j'ai créer une boucle qui est censé affiché chaque ligne de la table. Mais j'ai eu beau la retravailler 15 fois je vois plus du tout comment ça doit marcher. voici la page php du module
Si quelqu'un a un peu de temps pour m'aider , merci d'avance.
<?php if (!defined('_PS_VERSION_')) exit; class CodeCe extends Module { public function __construct() { $this->name = 'codece'; $this->tab = 'administration'; $this->version = '1.0'; $this->author = 'vermeeren romain'; $this->need_instance = 0; $this->ps_versions_compliancy = array('min' => '1.5', 'max' => '1.6'); parent::__construct(); $this->displayName = $this->l('Code CE'); $this->description = $this->l('champs code CE lors de l\'inscription permettant de rejoindre automatiquement un groupe préalablement crée'); $this->confirmUninstall = $this->l('Are you sure you want to uninstall?'); } public function install() { if(!parent::install() || !$this->registerHook('leftColumn') || !$this->installModuleTab('AdminTutorial', array(1=>'My Tutorial Tab', 2=>'Mon onglet tutoriel'), 2)) return false; return true; } public function uninstall() { if(!parent::uninstall() || !$this->uninstallModuleTab('AdminTutorial')) return false; return true; } public function getContent() { mysql_connect("localhost","admin","m4vri2ll"); mysql_select_db("shop.admin.charlet.com"); $requete = "select * from ps_group_code"; $resultat = mysql_query($requete); $html = ''; if(Tools::isSubmit('submitCode')) { $date=date("d-m-Y H:i:s"); //$mysql_query("Insert into ps_group_code ('$submitNom','$submitCode','$date')"); $html .= $this->displayConfirmation($this->l('Settings updated.')); } $html .= '<h2>'.$this->l('Tutorial Module').'</h2> <form action="'.$_SERVER['REQUEST_URI'].'" method="post"> <fieldset> <legend>'.$this->l('Settings').'</legend> <table align="center" width="200px"> <tr> <td><label width="150px">'.$this->l('Nom:').'</label> <input type="text" name="submitCode" value="'.$submitCode.'" placeholder="Nouveau Nom" /> </td> <td><label>'.$this->l('Code:').'</label> <input type="text" name="submitNom" value="'.$submitNom.'" placeholder="Nouveau Code" /> </td> </tr> </table> 'While($enreg=mysql_fetch_array($resultat)) { Echo "<table><tr><td>"$enreg['nom'];"</td><td>"$enreg["code_ce"];"</td></tr></table>;" }' </fieldset> </form>'; return $html; } } ?>
A voir également:
- Boucle html
- Editeur html - Télécharger - HTML
- Br html ✓ - Forum Webmastering
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Espace html ✓ - Forum HTML
- Télé samsung s'éteint et se rallume en boucle - Forum Téléviseurs
8 réponses
Bonjour,
En effet, je serai étonné si cela fonctionne.
Quelque piste :
ta méthosde "public function getContent()" doit très probablement retourner une chaine HTML. (D'après ce que je vois !).
Pourquoi donc as-tu un appel à "echo" dans ton while ?
Tu utilise quoi comme éditeur ?
Aller, je te donne vite fais le code pour afficher ton tableau :
En effet, je serai étonné si cela fonctionne.
Quelque piste :
ta méthosde "public function getContent()" doit très probablement retourner une chaine HTML. (D'après ce que je vois !).
Pourquoi donc as-tu un appel à "echo" dans ton while ?
Tu utilise quoi comme éditeur ?
Aller, je te donne vite fais le code pour afficher ton tableau :
$html .= '<h2>'.$this->l('Tutorial Module').'</h2> <form action="'.$_SERVER['REQUEST_URI'].'" method="post"> <fieldset> <legend>'.$this->l('Settings').'</legend> <table align="center" width="200px"> <tr> <td><label width="150px">'.$this->l('Nom:').'</label> <input type="text" name="submitCode" value="'.$submitCode.'" placeholder="Nouveau Nom" /> </td> <td><label>'.$this->l('Code:').'</label> <input type="text" name="submitNom" value="'.$submitNom.'" placeholder="Nouveau Code" /> </td> </tr> </table>'; $column = array('nom', 'code_ce'); $html .= '<table>'; while ($line = mysql_fetch_object($resultat)) { $html .= '<tr>'; foreach($i = 0; $i < count($column); $i++) $html .= '<td>'.$line[$column[$i]].'</td>'; $html .= '</tr>'; } $html .= '</table>'; $html .= '</fieldset> </form>'; return $html;
Oui comme tu a pu le voir j'ai finit pas coder à la truelle, je suis partie dans tous les sens. Merci pour ton aide, par contre le module ne se charge plus :
Le(s) module(s) suivant(s) ne peuvent pas être chargé.:
codece (erreur de syntaxe dans /modules/codece/codece.php)
codece (classe manquante dans /modules/codece/codece.php)
Le(s) module(s) suivant(s) ne peuvent pas être chargé.:
codece (erreur de syntaxe dans /modules/codece/codece.php)
codece (classe manquante dans /modules/codece/codece.php)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
c'est pas faux.
Remplace foreach par for.
C'est juste que j'étais parti sur une version avec foreach et que en cours de route j'ai changé d'avis. C'est ma faute, désolé.
Gigatrappeur
Remplace foreach par for.
C'est juste que j'étais parti sur une version avec foreach et que en cours de route j'ai changé d'avis. C'est ma faute, désolé.
Gigatrappeur
ça bloque même avec le for:
[PrestaShop] Fatal error in module codece:
Cannot use object of type stdClass as array
Comment tu va chercher nom et code_ce pour les mettre dans $column ?
[PrestaShop] Fatal error in module codece:
Cannot use object of type stdClass as array
Comment tu va chercher nom et code_ce pour les mettre dans $column ?