Fonction Php

Fonction Php - PHP - Programmation

Marsh Posté le 25-05-2007 à 12:09:25    

Bonjour
J'ai un problème au niveau d'une fonction php et je vous demande donc votre aide  :ange:
Pour mon site je fais apparaitre sur chaque page dans ma sidebar des news défilantes.
Dans mon fichier principal de php, j'ai un switch placé sur l'url afin de savoir qu'est ce qu'il doit se passer lorsque on clique sur tel ou tel lien.
Dans mon cas les news s'affichent sur chaque page. Donc étant donné que celle-ci sont stockées dans une base de données, je dois pour chaque fonction de mon fichier réécrire la requete. Ca me fait donc pas mal de lignes pour le même code.
Objectif : créer une simple fonction avec ce code et y faire appel, mais ca se revelle non fonctionnel et je ne sais pas pourquoi
Merci de m'aider.
 
 
 require_once('../Class/CTables.php');
 $New = new CTables();
 $query = "SELECT * FROM news";
 $New->Set_query($query);
 $nb5 = $New->Select_all();
 $res5 = $New->Get_the_values();
 
 
 
et donc ma fonction
 
 
function ShowNews ()
{
 require_once('../Class/CTables.php');
 $New = new CTables();
 $query = "SELECT * FROM news";
 $New->Set_query($query);
 $nb5 = $New->Select_all();
 $res5 = $New->Get_the_values();
}
 
 
et son appel : ShowNews;
Dans le premier cas, ca fonctionne, mais lorsque je passe par l'appel de la fonction ,NIET


Message édité par Genuine le 25-05-2007 à 12:10:10
Reply

Marsh Posté le 25-05-2007 à 12:09:25   

Reply

Marsh Posté le 25-05-2007 à 12:21:34    

On peut pas dire que ton explication soit limpide :o
Mais si tu cherches à utiliser $New, $nb5 ou $res5 en dehors de ta fonction, il est on ne peut plus normal que ça fasse "NIET": http://fr.php.net/variables.scope

 

edit: si c'est bien ça le problème, non la solution n'est pas d'utiliser des variables globales, mais de faire retourner nb5 et res5 par ta fonction


Message édité par anapajari le 25-05-2007 à 12:22:39
Reply

Marsh Posté le 25-05-2007 à 13:31:37    

je vais essyer d'être un peu plus limpite  :)
Extrait de mon fichier appli.php :

 

function TopicDelPicture()
{
 ShowNews ();
        $contenu = '../Mod/TopicDelPicture.mod';
 require('../Mod/page2.mod');
}

 

et dans ma page2.mod j'ai une partie qui m'indique ca :

 

     <div id="sidebar">
     <?php require('../Mod/sidebar.mod'); ?>
     </div>
et enfin dans mon sidebar.mod, j'ai enfin l'affichage :

 

    <?
 for ($i=0; $i<$nb5; ++$i)
    {
  echo "<a class=lien1 href= '../Php/appli.php?EX=AffichNews'><b5>{$res5[$i]['Date']} - {$res5[$i]['Titre']}</b5></a>";
  echo "<br />";
  echo "<br />";
 
 }
     ?>

 

Mais effectivement, je pense que tu as raison et que c'est un problème de portée et que mes variables ne sont plus reconnues apres.
Mais je ne comprends pas du tout.
Comment expliquer le fait que :
qd je fais appel a ma fonction, les variables ne sont pas reconnus alors que si je mets le code de la fonction directement ca ne marche plus.
J'ai bien du mal.

 


Message édité par Genuine le 25-05-2007 à 13:32:03
Reply

Marsh Posté le 25-05-2007 à 13:44:25    

jfgi :o
Tu trouveras plein de liens qui expliquent tout ça très bien ( genre: http://www.lephpfacile.com/cours/2 [...] -variables )


Message édité par anapajari le 25-05-2007 à 13:44:33
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed