J'ai utilisé un tuto pour (essayer de) comprendre le sql. Le tuto de base servait a 'lié' des liste déroulantes (c'était celui sur es départements/régions).
Grâce a celui ci, j'ai fait un genre d'afficheur de news. L'idée est d'afficher toutes les news (seulement le début) et d'ajouter un bouton a cliquer pour voir la suite, voila ce que donne mon code :
<?php if ($code==-1){
$connexion = mysql_pconnect($serveur, $admin, $mdp);
$sql = "SELECT *".
" FROM `news`".
" ORDER BY `Date` DESC";
if($connexion != false)
{
$rech_news = mysql_query($sql, $connexion);
$nd = 0;
$titre = array();
$contenu = array();
$date = array();
$code = array();
while($ligne_news = mysql_fetch_assoc($rech_news))
{
array_push($titre, $ligne_news['Titre_News']);
array_push($contenu, $ligne_news['Contenu']);
array_push($date, $ligne_news['Date']);
array_push($code, $ligne_news['Code_News']);
$nd++;
}
for($d = 0; $d<$nd; $d++)
{
?>
<table width="641" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="201" height="24"><span class="Style1"><?php echo($titre[$d]) ?></span></td>
<td width="440">
<form id="histo" name="histo" method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>">
<span class="Style1"><?php echo(substr($contenu[$d],0,30).'...'); ?>
<input type="submit" name="Submit" value="Lire la suite" />
</span>
<input name="menu" type="hidden" id="menu" value="1" />
<input name="ssmenu1" type="hidden" id="ssmenu1" value="1" />
<input name="code" type="hidden" id="news" value="<?php echo($code[$d]) ?>" />
</form>
</td>
</tr>
<tr>
<td colspan="2"><hr /></td>
</tr>
</table>
<?php
}
}
mysql_free_result($rech_news);
}elseif ($code>=0){
$connexion = mysql_pconnect($serveur, $admin, $mdp);
$sql = "SELECT *".
" FROM `news`".
" ORDER BY `Date` DESC".
" WHERE `Code_News` = ". $code ."";
if($connexion != false)
{
$rech_news = mysql_query($sql, $connexion);
$nd = 0;
$titre = array();
$contenu = array();
$date = array();
$code = array();
while($ligne_news = mysql_fetch_assoc($rech_news))
{
array_push($titre, $ligne_news['Titre_News']);
array_push($contenu, $ligne_news['Contenu']);
array_push($date, $ligne_news['Date']);
array_push($code, $ligne_news['Code_News']);
$nd++;
}
for($d = 0; $d<$nd; $d++)
{
?>
<table width="641" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="201" height="24"><span class="Style1"><?php echo($titre[$d]) ?></span></td>
<td width="440"><?php echo($date[$d]) ?></td>
</tr>
<tr>
<td colspan="2"><span class="Style1"><?php echo($contenu[$d]); ?></span></td>
</tr>
</table>
<?php
}
}
mysql_free_result($rech_news);
}
?>
Désolé si c'est un peu long...Le problème c'est que quand je clique sur le bouton, voila ce qui s'affiche :
La ligne 124 c'est : while($ligne_news = mysql_fetch_assoc($rech_news))Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in d:\apps\easyphp1-8\www\audi - phase 2\News\Index.php on line 124
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in d:\apps\easyphp1-8\www\audi - phase 2\News\Index.php on line 147
la ligne 147 c'est : mysql_free_result($rech_news);
Ce problème je l'ai aussi sur d'autre page qui utilise exactement le meme code (seulement les nom de table SQL ou les variable changent) et pour que cela s'affiche convenablement je suis obligé de recliquer sur le bouton qui m'affiche la page (encore c'est pas trop génant, mais la je n'ai plus le bouton, donc impossible de recliquer, et la fonction actualiser ne regle pas le problème)
Si quelqu'un a une idée, merci d'avance...