Ok , c'est mieux ..
Alors , commençons par ta fonction :
Dans ton fichier
func.php , nous allons créer une nouvelle fonction nommée
get_produits ( tu changeras si tu le souhaites )
La fonction aura besoin pour fonctionner uniquement l'instance de Smarty , on va donc lui passer un seul paramètre .
Ce qui devrai donner :
function get_produits( &$P_smarty=null ){
//on insère ton code
$req="SELECT
u.LPR,
c.libelle_ligne
FROM
user_lpr u,
collection c
WHERE
c.LPR=u.LPR
AND
u.usr_id =".mysql_real_escape_string($_SESSION['USR']);
$res=mysql_query($req)or die(mysql_error());
if ($res){
while($data=mysql_fetch_array($res)){
$lpr[$data['LPR']]=$data['libelle_ligne'];
}
//assignation du resultat au template
$P_smarty->assign("lpr",$lpr);
}
}
Voilà ta fonction prête à être utilisée, nous allons maintenant l'appeler dans ton index :
Ce qui te donneras un index.php comme ceci :
<?php
session_start();
include ("mylib/func.php");
init_profile();
if(!isset($_SESSION['LANG'])):
$lng="fr";
else:
$lng=$_SESSION['LANG'];
endif;
include ("setup.inc.php");
include ("config.inc.php");
//include ('config.inc.php');
$npo = new Smarty_po($_SESSION['LANG']);
//-------------------------------------------------------------------------------
//$_SESSION['USR']='Eric';
unset ($_SESSION['pays']);
unset ($_SESSION['sais']);
unset ($_SESSION['lpr']);
if (isset($_POST))
//-------------------- Le User est il authentifie ? ----------------------
if(!isset($_SESSION['USR']))
$npo->display("login.tpl");
else
{// connexion à la base de donnée
$conn_my = mysql_connect($MY_srv , $MY_user , $MY_pwd )
or die('Connexion impossible !') ;
mysql_select_db($MY_bd) or die('Impossible de trouver la base !');
$npo->assign("MyUsr",$_SESSION['USR']);
$npo->assign("lnkupd",link2upd());
//Requête LIGNE PRODUIT ( appel de ta fonction )
get_produits( $npo );
//Requête SAISON
$req="SELECT c.saison from collection c";
$res=mysql_query($req);
if ($res)
{
while($data=mysql_fetch_array($res))
{
$sais[$data['saison']]=$data['saison'];
}
$npo->assign("sais",$sais);
}
//Requête PAYS
$req="SELECT u.code_pays, p.nompays from user_pays u,pays p";
$req.=" WHERE p.codepays=u.code_pays and u.usr_id =".$_SESSION['USR'];
$res=mysql_query($req);
if ($res)
{
while($data=mysql_fetch_array($res))
{ $pays[$data['code_pays']]=$data['nompays'];
}
$npo->assign("pays",$pays);
}
$npo->display("YourIn.tpl");
}
//----------------------------------------------------------------------
?>
Et voilà ,
Note : le code donné ici est fait à "main levé" il peut y avoir des erreurs de frappe ou autre ..
Voilà je te laisse en faire autant pour les autre portions de code que tu souhaites externaiser en fonction .
Ch.