Jump to content

[résolu] Problème d'interprétation code smarty/php


Recommended Posts

Bonjour,

 

Je voudrais modifier la fiche produit pour ajouter des logos dont j'ai enregistré le nom dans la base de données seulement je n'arrive pas à accéder au réponse de ma requête.

Je vous joins le modèle de la base de données et les codes de la page tpl et celle du php.

 

Cordialement,

 

-------------------------------------

SQL :

 

CREATE TABLE ps_fonctionnalite
( id_fc int NOT NULL AUTO_INCREMENT,
fc_name varchar(100),
fc_nameImage varchar(100),
PRIMARY KEY (id_fc));

CREATE TABLE ps_fonctionnalite_attribute
(
id_attrib int NOT NULL AUTO_INCREMENT,
id_fc int,
id_product int,
PRIMARY KEY (id_attrib));

ALTER TABLE ps_fonctionnalite_attribute
ADD FOREIGN KEY (id_fc) REFERENCES ps_fonctionnalite(id_fc);
ALTER TABLE ps_fonctionnalite_attribute
ADD FOREIGN KEY (id_product) REFERENCES ps_product(id_product);

 

TPL page product.tpl :

 

<div id="information_contenu">
{assign var=id value=$product->id}
{section loop=$list name=product}
<center><img src="http://www.lisica-informatique.fr/img/logo/{$list[$id].nameI}" /></center>
{/section}
</div>

 

PHP page product_req.php :

 

<?php
// Extraction des informations
require("../tools/smarty/smarty.class.php");
$query = $connexion->prepare("SELECT ps_fonctionnalite_attribute.id_fc, fc_nameImage, fc_name, ps_product.id_product FROM ps_product, ps_product_lang, ps_fonctionnalite, ps_fonctionnalite_attribute WHERE ps_product.id_product=ps_fonctionnalite_attribute.id_product AND ps_fonctionnalite.id_fc=ps_fonctionnalite_attribute.id_fc AND ps_product.id_product=ps_product_lang.id_product AND id_lang=2;");
$query->execute();
$list = array();
while($data = $query->fetch()){
$list[$data['ps_product.id_product']]['id']	= $data['ps_fonctionnalite_attribute.id_fc'];
$list[$data['ps_product.id_product']]['name']  = $data['fc_name'];
$list[$data['ps_product.id_product']]['nameI'] = $data['fc_nameImage'];
}
// On lance Smarty

$tpl = new Smarty();
$tpl->assign('list', $list);
$tpl->display("product.tpl");
?>

Link to comment
Share on other sites

oui j'ai vu que sur certains forums c'est ce qu'il fesait, j'ai donc mis

dans le fichier Product.php (classe) :

static public function Logo() {
 $query = "SELECT `fc_name` FROM `'._DB_PREFIX_.'ps_product`, `'._DB_PREFIX_.'ps_product_lang`, `'._DB_PREFIX_.'ps_fonctionnalite`, `'._DB_PREFIX_.'ps_fonctionnalite_attribute` WHERE ps_product.`id_product`=ps_fonctionnalite_attribute.`id_product` AND ps_fonctionnalite.`id_fc`=ps_fonctionnalite_attribute.`id_fc` AND ps_product.`id_product`=ps_product_lang.`id_product` AND `id_lang`=2 ;";
 $query->execute();
 $list = array();
 while($data = $query->fetch()){
 $list[$data['ps_product.id_product']]['id']    = $data['ps_fonctionnalite_attribute.id_fc'];
 $list[$data['ps_product.id_product']]['name']  = $data['fc_name'];
 $list[$data['ps_product.id_product']]['nameI'] = $data['fc_nameImage'];
 }
 return $list;
}

 

dans le fichier product.php de www. :

$smarty->assign('list', Product::Logo());

 

et le fichier product.tpl, je n'ai rien changé :

{assign var=id value=$product->id}

{section loop=$list name=list}
<center><img src="http://www.lisica-informatique.fr/img/logo/{$list[$id].nameI}" /></center>
{/section}

 

J'ai un peu de mal à comprendre le lien exacte entre tous ces fichiers, même si j'ai compris la notion de template.

Link to comment
Share on other sites

elkastor : En faite, j'ai créé une table me permettant d'enregistrer le nom de Logo tel que "windows7".. et j'aimerais récupérer ce nom "fc_nameImage" (table ps_fonctionnalite) pour afficher le logo sur la fiche produit

ET chaque produit a donc plusieurs logos d'attribués (table ps_fonctionnalite_attribute)

 

Après avoir écrit le code sous toutes les façons possibles que propose autant les sujets postés sur ce forum que d'autres, toujours aucun résultat :

http://www.siteduzer...ichier-tpl.html

http://www.prestasho...ne-requete-sql/

http://www.smarty.ne...pic.php?p=68221

http://emilienmalbra...ans-prestashop/

Link to comment
Share on other sites

OK,

 

Voilà ce que je ferais à ta place, je surchargerai la class product.php,

dans le repertoire override/classes/ il faut créer le fichier Product.php :

 

<?php
class Product extends ProductCore
{
}

 

tu y ajoutes ta vriable logos :

 

public $logos;

 

Ensuite tu créé la fonction qui va récuperer les logos associés au produit :

 

/**
* Retourne les logos associés au produit
* @param $id_product : l'identifiant du produit
* @return la liste des logos
*/
public function get_logos( $id_product ) {

global $cookie, $smarty;
$logos = array();
$sql = sprintf("
 SELECT
  fa.id_fc, f.fc_name, f.fc_nameImage, p.id_product,
 FROM
  %s p
 INNER JOIN
  %s pl on p.id_product = pl.id_product
 INNER JOIN
  %s fa ON fa.id_product = p.id_product
 INNER JOIN
  %s f ON f.id_fc = fa.id_fc
 WHERE
  pl.id_lang = %d AND id_product = %d",
 _DB_PREFIX_.'product',
 _DB_PREFIX_.'product_lang',
 _DB_PREFIX_.'fonctionnalite',
 _DB_PREFIX_.'fonctionnalite_attribute',
 $cookie->id_lang,
 $id_product)
$res = Db::getInstance()->executeS( $sql );
if ( count( $res ) > 0 )
{
 foreach( $res as $r )
 {
  $logos[ $id_product ]['id'] = $r['id_fc'];
  $logos[ $id_product ]['name'] = $r['fc_name'];
  $logos[ $id_product ]['nameI'] = $r['fc_nameImage'];
 }
}
return $logos;
}

 

Ensuite tu surcharges le constructeur de la classe product :

 

public function __construct($id_product = NULL, $full = false, $id_lang = NULL)
{
   parent::__construct($id_product = NULL, $full = false, $id_lang = NULL);
   $this->logos = $this->get_logos( $this->id_product );
}

 

Ensuite tu devrais pouvoir retrouver les logos dans le template via

 

{$product.logos}

 

Essaies ça et dis moi si ça fonctionne.

Link to comment
Share on other sites

Merci de votre aide,

 

alors j'obtiens cette erreur en activant config.inc.php

 

 

Il y a 1 erreur :

  1. ce produit n'est plus disponible

 

Pourtant il est bien présent et plus haut il m'indique :

 

Warning: Invalid argument supplied for foreach() in /homez.461/lisicain/www/override/classes/Product.php on line 37

 

l37 : foreach( $res as $r )

 

PS : il manquait un ";" à la fin de $sql

 

Petite question dans la requête comment au niveau du traitement sql reconnaît que "p." c'est ps_product ou que "f." c'est ps_fonctionnalite... ?

Link to comment
Share on other sites

Pour la petite question, je viens de comprendre en regardant les propriétés de sprintf %d = double donc soit id_lang ou id_product sinon %s = string donc les "_DB_PREFIX_.' .... ' "

 

Par contre, il est indiqué que l'on peux écrire la position du string s'il en contient plusieurs de cette façon "%1$d" on doit donc l'indiquer non ?

Link to comment
Share on other sites

Par contre, il est indiqué que l'on peux écrire la position du string s'il en contient plusieurs de cette façon "%1$d" on doit donc l'indiquer non ?

 

Non, ce n'est pas nécessaire, les arguments sont traités dans l'ordre d'apparition.

 

As tu essayé d'afficher la requête et de l’exécuter directement via phpymadmin pour voir si celle si fonctionne ?

Car je n'ai pas tester du coup je ne sais pas si c'est fonctionnel, d'où le ";" manquant.

Link to comment
Share on other sites

J'ai rajouté les %1$d.. car en faite ils sont pas dans l'ordre ensuite dans phphmyadmin j'ai une erreur de ce type

 

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM ps_product p INNER JOIN ps_product_lang pl on p.id_product = pl.' at line 3

 

Je suis entrain de chercher à quoi cela est dû

 

SELECT fa.id_fc, f.fc_name, f.fc_nameImage, p.id_product,
FROM ps_product p
INNER JOIN ps_product_lang pl ON p.id_product = pl.id_product
INNER JOIN ps_fonctionnalite_attribute fa ON fa.id_product = p.id_product
INNER JOIN ps_fonctionnalite f ON f.id_fc = fa.id_fc
WHERE pl.id_lang =2
AND id_product =14

Link to comment
Share on other sites

perso je mettrai (pour éviter les erreurs) :

 

 


$sql = 'SELECT fa.id_fc, f.fc_name, f.fc_nameImage, p.id_product
FROM     '._DB_PREFIX_.'product p
INNER JOIN  '._DB_PREFIX_.'product_lang pl on p.id_product = pl.id_product
INNER JOIN  '. _DB_PREFIX_.'fonctionnalite_attribute fa ON fa.id_product = p.id_product
INNER JOIN  '. _DB_PREFIX_.'fonctionnalite f ON f.id_fc = fa.id_fc
WHERE pl.id_lang = '.(int)$cookie->id_lang.'
AND  p.id_product = '.(int)$id_product;

$res = Db::getInstance()->ExecuteS($sql);

 

C'est ExecuteS et non executeS

Link to comment
Share on other sites

Oui le executeS je l'avais changé au cas où je savais pas tellement si la majuscule avait de l'importance et comme c'est souvent le cas, je l'avais changé ;)

 

j'ai un peu changé pour éviter les conflits entre les différents guillemets ' et ". et au niveau des coloris c'est plus clair pour moi.

$sql = "SELECT fa.id_fc, f.fc_name, f.fc_nameImage, p.id_product
FROM    "._DB_PREFIX_."product' p
INNER JOIN  "._DB_PREFIX_."product_lang' pl on p.id_product = pl.id_product
INNER JOIN  ". _DB_PREFIX_."fonctionnalite_attribute' fa ON fa.id_product = p.id_product
INNER JOIN  ". _DB_PREFIX_."fonctionnalite' f ON f.id_fc = fa.id_fc
WHERE
pl.id_lang = ".(int)$cookie->id_lang."
AND p.id_product = ".(int)$id_product;

 

Comme résultat je vois plus le "array()" mais il y a toujours une erreur

Link to comment
Share on other sites

ok c'est fait le "Array ( )" est de retour ^^"

Merci de votre aide, à plusieurs on voit beaucoup plus d'erreurs.

 

Je rejoins le fichier pour que ce soit plus clair sur l'avancement qu'on soit au même point

<?php
class Product extends ProductCore
{
public $logos;
/**
* Retourne les logos associés au produit
* @param $id_product : l'identifiant du produit
* @return la liste des logos
*/
public function get_logos( $id_product ) {
global $cookie, $smarty;
$logos = array();
$sql = 'SELECT fa.id_fc, f.fc_name, f.fc_nameImage, p.id_product
FROM	 '._DB_PREFIX_.'product p
INNER JOIN  '._DB_PREFIX_.'product_lang pl on p.id_product = pl.id_product
INNER JOIN  '. _DB_PREFIX_.'fonctionnalite_attribute fa ON fa.id_product = p.id_product
INNER JOIN  '. _DB_PREFIX_.'fonctionnalite f ON f.id_fc = fa.id_fc
WHERE pl.id_lang = '.(int)$cookie->id_lang.'
AND  p.id_product = '.(int)$id_product;

$res = Db::getInstance()->ExecuteS($sql);
print_r($res);
if(!empty($res))
{
  foreach( $res as $r )
  {
$logos[ $id_product ]['id'] = $r['id_fc'];
$logos[ $id_product ]['name'] = $r['fc_name'];
$logos[ $id_product ]['nameI'] = $r['fc_nameImage'];
  }
}
return $logos;
}

public function __construct($id_product = NULL, $full = false, $id_lang = NULL)
{
 parent::__construct($id_product = NULL, $full = false, $id_lang = NULL);
 $this->logos = $this->get_logos( $this->id_product );
}
}
?>

Link to comment
Share on other sites

si mes souvenirs sont bons print_r($res); est à utiliser avec pre:

 

 

echo '<pre>';

print_r($res);
echo '</pre>';

sinon vers la fin change:

 

$this->logos = $this->get_logos( $this->id_product );

par

$this->logos = $this->get_logos( $id_product );

Link to comment
Share on other sites

bon, on va afficher la totale:

change les 2 lignes

 

$res = Db::getInstance()->ExecuteS($sql);
print_r($res);

 

 

par :

 

 

echo '<br/>id_product : '.$id_product;
echo '<br/>sql: '.$sql;
if(!$res = Db::getInstance()->ExecuteS($sql))
echo '<br/>PROBLEME AVEC LA REQUETE SQL !!!';
else
{
echo '<br/>tableau : <br/><pre>';
print_r($res);
echo '</pre>';
}

Link to comment
Share on other sites

J'obtiens ceci :

id_product :
sql: SELECT fa.id_fc, f.fc_name, f.fc_nameImage, p.id_product FROM ps_product p INNER JOIN ps_product_lang pl on p.id_product = pl.id_product INNER JOIN ps_fonctionnalite_attribute fa ON fa.id_product = p.id_product INNER JOIN ps_fonctionnalite f ON f.id_fc = fa.id_fc WHERE pl.id_lang = 2 AND p.id_product = 0
PROBLEME AVEC LA REQUETE SQL !!!

Link to comment
Share on other sites

Oui, j'ai bien la même chose que ce message

 

<?php
class Product extends ProductCore
{
public $logos;
/**
* Retourne les logos associés au produit
* @param $id_product : l'identifiant du produit
* @return la liste des logos
*/
public function get_logos( $id_product ) {
global $cookie, $smarty;
$logos = array();
$sql = 'SELECT fa.id_fc, f.fc_name, f.fc_nameImage, p.id_product
FROM	 '._DB_PREFIX_.'product p
INNER JOIN  '._DB_PREFIX_.'product_lang pl on p.id_product = pl.id_product
INNER JOIN  '. _DB_PREFIX_.'fonctionnalite_attribute fa ON fa.id_product = p.id_product
INNER JOIN  '. _DB_PREFIX_.'fonctionnalite f ON f.id_fc = fa.id_fc
WHERE pl.id_lang = '.(int)$cookie->id_lang.'
AND  p.id_product = '.(int)$id_product;

echo '<br/>id_product : '.$id_product;
echo '<br/>sql: '.$sql;
if(!$res = Db::getInstance()->ExecuteS($sql))
echo '<br/>PROBLEME AVEC LA REQUETE SQL !!!';
else
{
echo '<br/>tableau : <br/><pre>';
print_r($res);
echo '</pre>';
}
if(!empty($res))
{
  foreach( $res as $r )
  {
$logos[ $id_product ]['id'] = $r['id_fc'];
$logos[ $id_product ]['name'] = $r['fc_name'];
$logos[ $id_product ]['nameI'] = $r['fc_nameImage'];
  }
}
return $logos;
}

public function __construct($id_product = NULL, $full = false, $id_lang = NULL)
{
 parent::__construct($id_product = NULL, $full = false, $id_lang = NULL);
 $this->logos = $this->get_logos( $id_product );
}
}
?>

 

et dans le template j'ai :

<div id="information_contenu">
{assign var=id value=$product->id}
{$product.logos}
</div>

 

ici assign étant inutile vu qu'on l'utilise pas mais je l'ai gardé en mémoire

Link to comment
Share on other sites

j'ai rien dit ^^ j'avais modifié une ligne entre temps que j'ai remis à l'initiale :

et j'ai maintenant :

id_product : 14

sql: SELECT fa.id_fc, f.fc_name, f.fc_nameImage, p.id_product FROM ps_product p INNER JOIN ps_product_lang pl on p.id_product = pl.id_product INNER JOIN ps_fonctionnalite_attribute fa ON fa.id_product = p.id_product INNER JOIN ps_fonctionnalite f ON f.id_fc = fa.id_fc WHERE pl.id_lang = 2 AND p.id_product = 14

tableau :

Array

(

    [0] => Array

        (

            [id_fc] => 1

            [fc_name] => Garantie 1an

            [fc_nameImage] => 1an.gif

            [id_product] => 14

        )

)

Link to comment
Share on other sites

donc maintenant c'est bon, tu as bien id_product, la requete sql est bonne, tu as bien un tableau en retour, il n'y a plus qu'à remettre:

 

$res = Db::getInstance()->ExecuteS($sql);

 

au lieu des lignes qui permettent l'affichage des différents messages et de mettre en forme le infos retournées

 

tu as forcé la compilation et vidé le cache smarty ?

Link to comment
Share on other sites

Je modifie ça.

oui à chaque fois, je vide la compilation par contre le cache est toujours vide.

 

Je rajoute :

if(!$res = Db::getInstance()->ExecuteS($sql))
echo '<br/>PROBLEME AVEC LA REQUETE SQL !!!';
else
{
$res = Db::getInstance()->ExecuteS($sql);
echo '<br/>tableau : <br/><pre>';
print_r($res);
echo '</pre>';
}

Link to comment
Share on other sites

oui, ou i tu peux,

je réfléchi...

 

en mettant le code en commentaire tu as quoi ?

<?php
class Product extends ProductCore
{
public $logos;
/**
* Retourne les logos associés au produit
* @param $id_product : l'identifiant du produit
* @return la liste des logos
*/
public function get_logos( $id_product ) {
global $cookie, $smarty;
$logos = array();
/*
$sql = 'SELECT fa.id_fc, f.fc_name, f.fc_nameImage, p.id_product
FROM	 '._DB_PREFIX_.'product p
INNER JOIN  '._DB_PREFIX_.'product_lang pl on p.id_product = pl.id_product
INNER JOIN  '. _DB_PREFIX_.'fonctionnalite_attribute fa ON fa.id_product = p.id_product
INNER JOIN  '. _DB_PREFIX_.'fonctionnalite f ON f.id_fc = fa.id_fc
WHERE pl.id_lang = '.(int)$cookie->id_lang.'
AND  p.id_product = '.(int)$id_product;

echo '<br/>id_product : '.$id_product;
echo '<br/>sql: '.$sql;
if(!$res = Db::getInstance()->ExecuteS($sql))
echo '<br/>PROBLEME AVEC LA REQUETE SQL !!!';
else
{
echo '<br/>tableau : <br/><pre>';
print_r($res);
echo '</pre>';
}
if(!empty($res))
{
  foreach( $res as $r )
  {
    $logos[ $id_product ]['id'] = $r['id_fc'];
    $logos[ $id_product ]['name'] = $r['fc_name'];
    $logos[ $id_product ]['nameI'] = $r['fc_nameImage'];
  }
}
*/
return $logos;
}

public function __construct($id_product = NULL, $full = false, $id_lang = NULL)
{
 parent::__construct($id_product = NULL, $full = false, $id_lang = NULL);
 $this->logos = $this->get_logos( $id_product );
}
}
?>

Link to comment
Share on other sites

et met :

public function __construct($id_product = NULL, $full = false, $id_lang = NULL)
{
 parent::__construct($id_product , $id_lang);
// $this->logos = $this->get_logos( $id_product );
}

 

et essaye de changer parent::__construct($id_product, false, $id_lang);

par parent::__construct($id_product, $id_lang);

 

ça dépend de la fonction construct précédente... si ça ce trouve c'est juste ça le problème

Link to comment
Share on other sites

Avec en plus :

$this->logos = $this->get_logos( $id_product );

 

en commentaire ça change rien

 

En gardant les commentaires et en changeant le parent::construct en plus du fatal error j'ai :

 

Warning: htmlentities() expects parameter 1 to be string, array given in /homez.461/lisicain/www/tools/smarty/plugins/modifier.escape.php on line 30

Link to comment
Share on other sites

Bon me revoilà, et toujours sur mon problème si le fatal error indique qu'il ne veut pas que Product retourne un objet de type "array" = tableau comment pourrait-on faire ?

 

par rapport à la lligne255 du compile :

<?php echo $_smarty_tpl->getVariable('token')->value['logos']; ?>

sur la plus part des pages de prestashop, on voit plutôt

<?php echo $_smarty_tpl->getVariable('token')->value; ?>

Link to comment
Share on other sites

AAAAAAAAAAAAAH ! FINI c'est résolu j'ai tout bêtement essayer de modifier ce qu'il y avait écrit dans product.tpl et à force de tout tester (oui quand on y arrive pas on essai tout) ^^" et j'ai trouvé avec ceci :

{assign var=id value=$product->id}
{assign var=name value=$product->logos[$id]['nameI']}
{$name}

alors qu'avant il y avait ceci :

{assign var=id value=$product->id}
{assign var=name value=$product->logos[$id]['nameI']}
{$name}

 

Un Grand Merci à elkastor et coeos.pro, j'ai maintenant fini cette grosse partie sur les logos :)

Je teste tout ça, au cas où si je met deux logos ça marche ^^

Link to comment
Share on other sites

Bon avec deux logos ça ne marche pas mais un oui, si je fais un tableau avec une dimension de plus, un $i qui s'incrémenterait peut être ça pourrait marcher, plus qu'à tester. ;)

 

Bon résultat :

Product.php

$i=0;
if(!empty($res))
{
  foreach( $res as $r )
  {
   $logos[ $id_product ][$i]['id'] = $r['id_fc'];
   $logos[ $id_product ][$i]['name'] = $r['fc_name'];
   $logos[ $id_product ][$i]['nameI'] = $r['fc_nameImage'];
   $i++;
  }
 session_start();
 $_SESSION['nb']=$i;
}

 

product.tpl

{assign var=nb value=$smarty.session.nb}
{assign var=id value=$product->id}

{section name=boucle start=0 loop=$nb step=1}
{assign var=name value=$product->logos[$id][$smarty.section.boucle.index]['nameI']}
<p style="HEIGHT:25%; WIDTH:25%" ><center><img src="http://www.lisica-informatique.fr/img/logo/{$name}" /></center></p>
{/section}

 

Pour l'instant ça marche super bien !

Link to comment
Share on other sites

Bonjour me revoilà,

J'ai un nouveau soucis, je n'arrive pas à avoir via mes modules que j'ai créé le token, j'ai tout essayé les solutions ici :

http://www.prestashop.com/forums/topic/39645-resolutoken/

Ca marche bien sur un template en front-office mais pas du tout en back-office.

A part défaire la sécurité qu'apporte les tokens ou alors l'écrire en "dur" en le cherchant une fois sur l'url de la page vers laquelle on veut se diriger...

Merci de votre aide :)

Link to comment
Share on other sites

Bonjour,

j'ai une nouvelle question voilà j'aimerais créer une page totalement indépendante de tout module,

il s'agit juste d'une page d'affichage.

Seulement, je n'arrive pas à faire le lien entre une page déjà existante dans le back office et ma page que j'ai créé :

echo'<a href="http://www.monsite.fr/modules/Fonctionnalite/Fc_Prod.php" style="color:#0186DF;" >Liste des Produits</a><BR /><BR />';

Si je met un lien comme ceci, il se met en front-office et non en back-office...

J'avais utilisé ceci dans mon fichier.php

<?php

include(dirname(__FILE__).'/config/config.inc.php');
include_once(dirname(__FILE__).'/init.php');

----- VOTRE CONTENU -----

include(dirname(__FILE__).'/header.php');
$smarty->display(_PS_THEME_DIR_.'profile.tpl');
include(dirname(__FILE__).'/footer.php');

?>

Effectivement c'est super.. mais c'est pour ajouter une page en front-office et non back-office.

 

Merci encore de tout votre aide ! Mon projet avance beaucoup !

Link to comment
Share on other sites

Bonjour,

Encore une nouvelle question, je suis entrain de faire de l'upload de fichier, tout fonctionne super bien sauf à partir du moment où sur la même page dans un formulaire différent j'ai voulu recréer mon upload en modifiant seulement le nom du "input type="file" "

A quoi cela peut être dû ?

Sur un forum, j'ai vu que ça doit être dû au nom du formulaire mais ça ne change rien...

http://www.developpez.net/forums/d700376/php/langage/fonctions/plusieurs-upload-dimages-meme-page/

 

Merci de votre aide.

Link to comment
Share on other sites

  • 7 years later...

Je m'appelle Kayode, on m'a diagnostiqué l'hépatite E en novembre dernier, après une fièvre grave, un jaunissement de la peau, une urine foncée, des douleurs abdominales, des vomissements et de la fatigue. On m'a donné un traitement à la ribavirine à l'hôpital, qui s'est apaisé mais qui est revenu après 3 mois. Cette fois, c'était pire, un problème de levier est apparu, aucun espoir de traitement, j'ai perdu l'appétit et mes articulations étaient douloureuses. Mais au début de l’année, ma sœur a eu connaissance en ligne de la recommandation en ligne du docteur IYABIYE concernant le traitement à base de plantes et l’a demandé de l’aider. Je suis devenu totalement guéri après le traitement et toutes les douleurs ont disparu. Je suis retourné à l'hôpital et j'ai été testé négatif. Je dois rester un petit moment pour voir si cela va revenir, mais voici: (JE SUIS LIBRE), vous aussi pouvez être libéré de l'hépatite avec ses médicaments. Contact: +2348072229413 ou +2348158577300 email: [email protected]
 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...