Array et fonction en php

Résolu
Bonjour,
Voila j'arrive pas à récupérer les valeurs d'un tableau à partir d'une fonction
voici le code
public static function traiteme($table, $mid, $ids)
{
		$tbletable = array();

		$querys  = MySQL::$sql->prepare("SELECT * FROM '".$TABLE_NEWS."' lef JOIN  '".$TABLE_CATEGORIES."' ON 'news_cat' = 'cat_id'  WHERE 'news_mem' = ? AND 'news_id' = ? ORDER BY news_date DESC;")or die(print_r($querys->errorCode()));
		 $querys    ->execute(array($mid, $ids));
		while ($rows = $querys->fetch(PDO::FETCH_ASSOC))
	      {
   			$tbletable['table']['ID']         = $rows['news_id'];
   			$tbletable['table']['Titre']      = stripslashes($rows['news_titre']);
  	 		$tbletable['table']['Contenu']    = stripslashes($rows['news_contenu']);
   			$tbletable['table']['Date']       = $rows['news_date'];
   			$tbletable['table']['Photo']      = $rows['news_photo'];
   			$tbletable['table']['Fichier']    = $rows['news_fichier'];
   			$tbletable['table']['Publier']    = $rows['news_publier'];
			tbletable['table']['Categorie']  = $rows['cat_nom'];
		}
		return $tbletable;
}


Voici ou je bloque
$contenu = array();
$contenu = Verif::traiteme('news', $id, 8);
foreach($contenu as $valeur) 
{
   	$newsID         = $valeur['ID'];
   	$newsTitre      = stripslashes($valeur['Titre']);
  	$newsContenu    = stripslashes($valeur['Contenu']);
   	$newsDate       = $valeur['Date'];
   	$newsPhoto      = $valeur['Photo'];
   	$newsFichier    = $valeur['Fichier'];
   	$newsPublier    = $valeur['Publier'];
	$newsCategorie  = $valeur['Categorie'];
}
....	

ça me donne aucune valeur !!

6 réponses

  1. remplace :

    while ($rows = $querys->fetch(PDO::FETCH_ASSOC))
    	      {
       			$tbletable['table']['ID']         = $rows['news_id'];
       			$tbletable['table']['Titre']      = stripslashes($rows['news_titre']);
      	 		$tbletable['table']['Contenu']    = stripslashes($rows['news_contenu']);
       			$tbletable['table']['Date']       = $rows['news_date'];
       			$tbletable['table']['Photo']      = $rows['news_photo'];
       			$tbletable['table']['Fichier']    = $rows['news_fichier'];
       			$tbletable['table']['Publier']    = $rows['news_publier'];
    			tbletable['table']['Categorie']  = $rows['cat_nom'];
    		}
    		return $tbletable;


    par :
    $querys->setFetchMode(PDO::FETCH_ASSOC);
    $tbletable= $querys->fetchAll();
    
    return $tbletable;
    
    1. Bonjour yoshiro,
      laquelle d erreur???
      Print_r($contenu ) est correcte ???
      1. c'est quand je fais echo $newsID ça m'affiche le dernier enregistrement 8 fois sachant qu'il y a 2 enregistrements dans la BDD !!
        1. ta boucle
          while ($rows = $querys->fetch(PDO::FETCH_ASSOC))
          
          est pas adpaté.
          ou ta requete est mal faite.

          Vois plutot la requete
      2. Bof je trouve pas je l'ai essayer sans tableau ça passe pas !!
        le ARRAY() ne récupere pas tous les valeurs !!
        1. Oki merci !!
          La ou je bloque c'est comment récupérer la valeur !!
          Voici comment je la récupère
          $contenu = array();
          $contenu = Verif::traiteme('news', $id, 8);
          foreach($contenu as $valeur) 
          {
             	$newsID         = $valeur['ID'];
             	$newsTitre      = stripslashes($valeur['Titre']);
            	$newsContenu    = stripslashes($valeur['Contenu']);
             	$newsDate       = $valeur['Date'];
             	$newsPhoto      = $valeur['Photo'];
             	$newsFichier    = $valeur['Fichier'];
             	$newsPublier    = $valeur['Publier'];
          	$newsCategorie  = $valeur['Categorie'];
          }
          ....