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

Langage PHP Discussion :

Stocker HTML généré par PHP


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Stocker HTML généré par PHP
    Bonjour à tous, après pas mal de recherches infructueuses sur Google et avoir parcouru les ressources ici, je reste perdu face à un problème qui, j'en suis sûr est simplissime à résoudre.

    J'ai écrit une boucle qui contient tout une série de if, echo, etc. afin de générer l'affichage d'une liste de produits.

    Tout fonctionne, ma page s'affiche correctement avec tous les produits, photos... mais je voudrais stocker le code créé dans une variable chaîne de caractères afin de pouvoir l'inscrire dans MySQL et récupérer plus tard cette liste de produits figée en html pour l'envoyer dans une newsletter (écrire dans la BDD je sais faire).

    Voici ce que j'ai essayé de faire, sans succès (mais comme ça vous comprendrez sûrement mieux mon problème) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $code_a_stocker = while (blabla = blabla) {
    tout le bordel qui génère ma liste de produits;
    }
    Visiblement PHP n'aime pas trop voir une boucle arriver en tant que contenu d'une variable...

    J'espère que ma demande est claire, et je vous remercie par avance pour vos réponses

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bonjour

    Tu veux que ce qui doit être afficher soit stocké dans une variable ? Tu peux utiliser la concaténation sur une chaine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $code_a_stocker = '';
    for( $i=5; $i==0; $i--)
    {
      $code_a_stocker .= 'il reste $i chaussettes dans le tiroir <br/>';
    }
    echo $code_a_stocker;

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci pour ta réponse Celira,

    Etant donné que je débute j'ai besoin que tu m'éclaircisses un peu sur ta solution.

    Mon code est composé de plusieurs instructions, d'ailleurs, j'avais un peu honte de le montrer mais ça nous aidera je pense Dois-je créer une variable au début de chaque instruction ?

    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
     
    while ($id_prod_net = mysql_fetch_array($id_prod_brut)) {
    	if (empty($id_prod_net['products_name']) OR empty($_POST[$id_prod_net['products_id']])) {
    	}
    	else {
    		$id_prod = $id_prod_net['products_id'];
    		echo '<div id="prod"><div id="prod_nom">' . $id_prod_net['products_name'] . "</div>";
    		$id_img_brut = mysql_query("SELECT products_image FROM osc_products WHERE products_id = '$id_prod'") or die (mysql_error());
    		$id_img_net = mysql_fetch_array($id_img_brut);
    		echo '<img width="100px" src="http://localhost/oscss_v1.2/images' . $id_img_net['products_image'] . '" />';
    		$id_description_brut = mysql_query("SELECT products_description FROM osc_products_description WHERE products_id = '$id_prod'") or die (mysql_error());
    		$id_description_net = mysql_fetch_array($id_description_brut);
    		echo '<div id="description">' . $id_description_net['products_description'] . "</div>";
    		$id_prix_brut = mysql_query("SELECT products_price FROM osc_products WHERE products_id = '$id_prod'") or die (mysql_error());
    		$id_prix_net = mysql_fetch_array($id_prix_brut);
    		echo '<div id="prix">Prix :&nbsp;' . substr($id_prix_net['products_price'], 0, -2) . "&euro;</div>" . '<a id="add" href="http://localhost/oscss_v1.2/product_info.php?products_id=' . "$id_prod" . '">Page du produit</a>' . "</div>";
    	}
    }

  4. #4
    Membre averti Avatar de makmaoui
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 283
    Points : 368
    Points
    368
    Par défaut
    Bonjour,

    non tu n'as besoin que d'une seule variable dans laquelle stocker ton code HTML et dans ta boucle tu utilises la concaténation :

    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
    	$machaine = '';
     
    while ($id_prod_net = mysql_fetch_array($id_prod_brut)) {
    	if (!empty($id_prod_net['products_name']) && !empty($_POST[$id_prod_net['products_id']])) {
     
    		$id_prod = $id_prod_net['products_id'];
    		$machaine .= '<div id="prod"><div id="prod_nom">' . $id_prod_net['products_name'] . "</div>";
    		$id_img_brut = mysql_query("SELECT products_image FROM osc_products WHERE products_id = '$id_prod'") or die (mysql_error());
    		$id_img_net = mysql_fetch_array($id_img_brut);
    		$machaine .=  '<img width="100px" src="http://localhost/oscss_v1.2/images' . $id_img_net['products_image'] . '" />';
    		$id_description_brut = mysql_query("SELECT products_description FROM osc_products_description WHERE products_id = '$id_prod'") or die (mysql_error());
    		$id_description_net = mysql_fetch_array($id_description_brut);
    		$machaine .=  '<div id="description">' . $id_description_net['products_description'] . "</div>";
    		$id_prix_brut = mysql_query("SELECT products_price FROM osc_products WHERE products_id = '$id_prod'") or die (mysql_error());
    		$id_prix_net = mysql_fetch_array($id_prix_brut);
    		$machaine .=  '<div id="prix">Prix :&nbsp;' . substr($id_prix_net['products_price'], 0, -2) . "&euro;</div>" . '<a id="add" href="http://localhost/oscss_v1.2/product_info.php?products_id=' . "$id_prod" . '">Page du produit</a>' . "</div>";
    	}
    }
     
    echo $machaine ;

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    En clair, là tu faisais un écho, tu ajoutes à la chaine ce qu'il y a à afficher par concaténation. Et tu fais l'affichage en une seule fois à la fin

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Wouawou merci beaucoup !

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

Discussions similaires

  1. [PDF] Envoyer en PDF le fichier HTML généré par PHP
    Par sebhm dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 04/03/2009, 22h55
  2. Réponses: 6
    Dernier message: 13/06/2008, 15h33
  3. [MySQL] Récupérer Code HTML généré par PHP
    Par @ngelofdeath dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 26/04/2006, 21h51
  4. [HTML] Scroller un tableau généré par PHP
    Par guy2004 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 11/04/2006, 12h07
  5. [Système] récupérer l'HTML généré par ma page PHP
    Par saint-pere dans le forum Langage
    Réponses: 2
    Dernier message: 27/09/2005, 10h19

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