Probleme avec une fonction

jclampe -  
Airmanbzh Messages postés 122 Statut Membre -
Bonjour, j'ai un probleme avec une fonction qui ne marche pas. Lorsque les commandes sont en dehors de la fonction elle marche, mais des que je les mets dans une fonction et que j'appelle cette fonction, ca ne marche plus.

voici le code qui marche :

<?php

mysql_select_db($database_dbprotect, $dbprotect);
$query_articles = "SELECT * FROM post ORDER BY date_post ASC ";
$articles = mysql_query($query_articles, $dbprotect) or die(mysql_error());
$row_articles = mysql_fetch_assoc($articles);

do {

echo $row_articles["id_post"];

} while ($row_articles = mysql_fetch_assoc($articles));

?>

Et voici le code avec la fonction :

<?php

mysql_select_db($database_dbprotect, $dbprotect);
$query_articles = "SELECT * FROM post ORDER BY date_post ASC ";
$articles = mysql_query($query_articles, $dbprotect) or die(mysql_error());
$row_articles = mysql_fetch_assoc($articles);

do {

function test() {

echo $row_articles["id_post"];

}

test();

} while ($row_articles = mysql_fetch_assoc($articles));

?>

en fait j'ai l'impression que ma variable $row_article[] contenant les infos récuperé dans la base de donnée ne contient plus rien losque je la mets dans une fonction.

Le premier code me retourne bien tous les ID_post de ma base de donné, le deuxieme code ne me retourne rien.

Je ne comprend pas du tout d'ou vient le probleme.

Merci
A voir également:

1 réponse

Airmanbzh Messages postés 122 Statut Membre 9
 
Petite question : pourquoi tu redéfinis ta fonction à chaque passage dans ta boucle ?

Essaye quelque chose du genre :
<?php 
function test($param)
   {...}

mysql_select_db($database_dbprotect, $dbprotect); 
$query_articles = "SELECT * FROM post ORDER BY date_post ASC "; 
$articles = mysql_query($query_articles, $dbprotect) or die(mysql_error()); 
$row_articles = mysql_fetch_assoc($articles); 
while ($row_articles = mysql_fetch_assoc($articles)); 
   {
   test($row_articles["id_post"]);
   } 

?> 


Ce serait : plus propre, plus compréhensible et surtout plus stable

Cdt
0