Jump to content

Probleme affichage fonction


Recommended Posts

J'ai rajouté une table dans ma base de donnée : ps_fichearttiste.

Je veux que lorsque l'utilisateur clique sur une catégorie, prestashop récupère l'id de la catégorie, le compare avec celui de la table "ps_ficheartiste", puis m'affiche toute la ligne correspndante. (en gros c'est des caratéristique de catégories..)

J'ai fait une fonction du type :


public function getFicheArtiste()
   {
   $id_categorie = (intval(Tools::getValue('id_category')));

   $result = Db::getInstance()->getRow('SELECT *
               FROM `'._DB_PREFIX_.'catgraphiste`
               WHERE idgraphiste = '.intval($id_categorie).'');

   //    foreach ($result as $val)
   //        {
   //        echo $result.'
';
   //        }                                                
   //        $soluc = $result['id_category'];

   return $result[idgraphiste];

   }




Pour l'instant je fait juste afficher l'id pour voir si ca marche...


J'ai deux soucie :

mon premier -> j'ai fait cette fonction dans le fichier : function.php. Comment je fait pour l'appeller depuis le template de la catégorie ?

$fiche = Category::getfichartiste();

   {l s=$fiche};



ca pu comme code ca non ? :) ducoup ca marche pas, j'arrive pas a l'appeller..


->Deuxieme soucie : je voudrais qu'après avoir executé ma requête, tout les champs de la ligne soit un minimum organisé, pour cela il faut que je mettent mes valeurs dans un tableau, du type :

|id_graphiste| 5 |
|telephone |00 00 00 00 00 |
|email | [email protected]|

Je pense q'il faut utiliser un truc du genre (en rajoutant ls champs devant et ca je sais pas comment faire :

foreach ($result as $val)
{
echo $result.'

';
}

-> Bref si je peux avir une solution déjâ pour mon premier problème: l'appel de la fonction, c serait pas mal. Merci et dob Dev a tous !

Link to comment
Share on other sites

Salut,

Si tu veux utiliser du php dans smarty, tu dois le mettre entre les balises {php}. Petit exemple ci-dessus :

{php}
global $smarty;

$fiche = Category::getfichartiste();

$smarty->assign('fiche', $fiche);
{/php}

{l s=$fiche}; 



Concernant ton autre question, je ne comprend pas trop ta demande...

Link to comment
Share on other sites

Mercis pour ta soluc, ca marche...

Pour mon autre problème je t'explique : en somme j'ai une table qui contient 8 champs. Je veux récupérer ces valeurs et les affichers, si possible sous forme de tableau avec en collonne 1 : le champ et en collone 2, la valeur correspondante.;

Pour l'instant j'ai fait une requête qui me permet de récupérer tout les champs mais je sais pas les organiser... En somme toutes mes valeurs sont contenues dans une variable : $result.

Link to comment
Share on other sites

J'ai résolu ce problème (en faisant un tableau de la manière suivante dans ma fonction) :

>

public function getFicheArtiste()
   {
   //la recuperation de la categorie marche
   $id_categorie = (intval(Tools::getValue('id_category')));

   $result = Db::getInstance()->getRow('SELECT *
               FROM `'._DB_PREFIX_.'catgraphiste`
               WHERE idgraphiste = '.intval($id_categorie).'');

   $nom = $result[nom];
   $teldomi = $result[phonedomicile];


   // debut du tableau
   echo '</pre>
<table bgcolor="#000000">Nom du graphiste : '.$result[nom].'PHOTO'.$result[descriptiongra].'Site web'.$result[siteweb].'Telecharger son cv'.$result[siteweb].'Email'.$result[email].'Telephone (domicile)'.$result[phonedomicile].'Telephone (portable)'.$result[phoneportable].'Autre'.$result[autre].'</table>'."\n"



pour l'affichage pas de soucie, mais ducou j'aimerais que quelqu'un m'explique comment fonctionne le <input="file" name="book"> sous prestashop. Comment faire pour stocker ce fichier dans un certain dossier ?, comment faire pour récupérer son chemin pour par exemple le proposé au téléchargement ?

Mon traitement du formulaire ce fait avec une fonction :

$query = 'INSERT INTO `ps_catgraphiste`
               (`nom`,`idgraphiste`,`phonedomicile`,`phoneportable`,`email`,`siteweb`,`autre`,`descriptiongra`,`book`)
           VALUES
               (\''.pSQL($nom).'\',\''.pSQL($idgraphiste).'\',\''.pSQL($phonedomicile).'\', \''.pSQL($phoneportable).'\',  \''.pSQL($email).'\',  \''.pSQL($siteweb).'\',  \''.pSQL($autre).'\',  \''.pSQL($descriptiongra).'\',   \''.pSQL($book).'\')';
       Db::getInstance()->Execute($query) or die("La requete ne fonctionne pas. La table n'a pas ete mise à jour. 
".mysql_error());



c'est ma dernière valeur $book qui est censé récupérer la valeur du chemin, mais rien ne ce passe, pour le reste, pas de soucie..

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...