Probleme sur forum

Répondre
C_Kirby
le 22/06/2003 à 16:44
C_Kirby
Ah, euh, j'ai oublié de poser mon nouveau probleme (l'ancien est résolu)... Y'a écrit
Warning: mysql_fetch_array(): 9 is not a valid MySQL result resource in viewforum.php on line 156
à la place des petits dossiers (le while ne s'affiche pas) et mon code :
<? 
session_start();
include ('config.php');
$sql5 = 'SELECT * FROM forum_forums WHERE id="'.$f.'"';
$req5 = mysql_query($sql5) or die('Erreur SQL !<br>'.$sql5.'<br>'.mysql_error());
$data5 = mysql_fetch_array($req5);
$titre_forum = $data5['nom'];
$id_forum = $data5['id'];
mysql_free_result($req5);
?>

<html>
<head>
<? echo '<title>'.$titre_forum.'</title>'; ?>
</head>
<? include('top.php'); ?>
<br>
<!— on place un lien permettant d'accéder à la page contenant le formulaire d'insertion d'un nouveau sujet -->
<?
$sql2 = 'SELECT * FROM forum_forums WHERE id="'.$f.'"';
$req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
$data2 = mysql_fetch_array($req2);
$permission = $data2['permission'];
if ($permission == 99) {
$sql6 = 'SELECT * FROM forum_membres WHERE pseudo="'.$_SESSION['pseudo_base'].'"';
$req6 = mysql_query($sql6) or die('Erreur SQL !<br>'.$sql6.'<br>'.mysql_error());
$data6 = mysql_fetch_array($req6);
$permission_membre = $data6['permission'];
if ($permission_membre != 99) {
echo '';
} else {
echo '<center><a href="./newtopic.php?f='.$f.'">Insérer un sujet</a></center>';
}
}
else {
echo '<center><a href="./newtopic.php?f='.$f.'">Insérer un sujet</a></center>';
}
?>
<br>
<br>

<!— on crée une table html nous permettant de présenter joliment les résultats -->
<center>
<table width="90%" border="1">
<tr>
<td width="2%" align="center" valign="top">&nbsp;</td>
<td width="20%" align="center" valign="top"> Auteur </td>
<td width="50%" align="center" valign="top"> Titre du sujet </td>
<td width="2%" align="center" valign="top">Nb</td>
<td width="26%" align="center" valign="top">Dernière réponse </td>
</tr>
<?
if ($permission == 99)
{
$sql7 = 'SELECT * FROM forum_membres WHERE pseudo="'.$_SESSION['pseudo_base'].'"';
$req7 = mysql_query($sql7) or die('Erreur SQL !<br>'.$sql7.'<br>'.mysql_error());
$data7 = mysql_fetch_array($req6);
$permission_membre = $data6['permission'];
if ($permission_membre != 99) {
echo '';
}
else
{

// lancement de la requete
$sql = 'SELECT id, auteur, titre, date_derniere_reponse FROM forum_sujets WHERE correspondance_forum="'.$f.'" ORDER BY date_derniere_reponse DESC';

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {
// on récupère les valeurs qui nous intéressent
$id_sujet = $data['id'];
$auteur = $data['auteur'];
$titre = $data['titre'];
$date_derniere_reponse = $data['date_derniere_reponse'];
$permission = $data['permission'];

// on decompose la date
sscanf($date_derniere_reponse, "%4s-%2s-%2s %2s:%2s:%2s", &$annee, &$mois, &$jour, &$heure, &$minute, &$seconde);

// lancement de la requete
$sql2 = 'SELECT * FROM forum_reponses WHERE correspondance_sujet = "'.$id_sujet.'"';

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
$reponses = mysql_num_rows($req2);

echo '<tr>';
echo '<td width="100" align="center" valign="top">';

$reponses_cookie = $_COOKIE['sujet_'.$id_sujet.''];
if ($reponses <= $reponses_cookie)
{
if ($reponses <= 14)
{
echo '<img src="folders/folder.gif">';
}
else
{
echo '<img src="folders/hot_folder.gif">';
}
}
else
{
if ($reponses <= 14)
{
echo '<img src="folders/red_folder.gif">';
}
else
{
echo '<img src="folders/hot_red_folder.gif">';
}
}

echo '</td><td width="100" align="center" valign="top">';


// on affiche le nom de l'auteur de sujet
echo $auteur;
echo '</td><td width="300" align="center" valign="top">';

// on affiche le titre du sujet, et sur ce sujet, on insère le lien qui nous permettra de lire les différentes réponses de ce sujet
echo '<a href="./viewtopic.php?f='.$id_forum.'&t='.$id_sujet.'">'.$titre.'</a>';

echo '</td><td width="100" align="center" valign="top">';

// on affiche le nombre de réponse du sujet

echo $reponses;

mysql_free_result ($req2);

echo '</td><td width="100" align="center" valign="top">';

// on affiche la date de la dernière réponse de ce sujet
echo $jour.'-'.$mois.'-'.$annee.' '.$heure.':'.$minute;
echo '</td></tr>';
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req);
// on ferme la connection à la base de données.
mysql_close ();
}
}
else
{
// lancement de la requete
$sql = 'SELECT id, auteur, titre, date_derniere_reponse FROM forum_sujets WHERE correspondance_forum="'.$f.'" ORDER BY date_derniere_reponse DESC';

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {
// on récupère les valeurs qui nous intéressent
$id_sujet = $data['id'];
$auteur = $data['auteur'];
$titre = $data['titre'];
$date_derniere_reponse = $data['date_derniere_reponse'];
$permission = $data['permission'];

// on decompose la date
sscanf($date_derniere_reponse, "%4s-%2s-%2s %2s:%2s:%2s", &$annee, &$mois, &$jour, &$heure, &$minute, &$seconde);

// lancement de la requete
$sql2 = 'SELECT * FROM forum_reponses WHERE correspondance_sujet = "'.$id_sujet.'"';

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
$reponses = mysql_num_rows($req2);

echo '<tr>';
echo '<td width="100" align="center" valign="top">';

$reponses_cookie = $_COOKIE['sujet_'.$id_sujet.''];
if ($reponses <= $reponses_cookie)
{
if ($reponses <= 14)
{
echo '<img src="folders/folder.gif">';
}
else
{
echo '<img src="folders/hot_folder.gif">';
}
}
else
{
if ($reponses <= 14)
{
echo '<img src="folders/red_folder.gif">';
}
else
{
echo '<img src="folders/hot_red_folder.gif">';
}
echo '</td><td width="100" align="center" valign="top">';


// on affiche le nom de l'auteur de sujet
echo $auteur;
echo '</td><td width="300" align="center" valign="top">';

// on affiche le titre du sujet, et sur ce sujet, on insère le lien qui nous permettra de lire les différentes réponses de ce sujet
echo '<a href="./viewtopic.php?f='.$id_forum.'&t='.$id_sujet.'">'.$titre.'</a>';

echo '</td><td width="100" align="center" valign="top">';

// on affiche le nombre de réponse du sujet

echo $reponses;

mysql_free_result ($req2);

echo '</td><td width="100" align="center" valign="top">';

// on affiche la date de la dernière réponse de ce sujet
echo $jour.'-'.$mois.'-'.$annee.' '.$heure.':'.$minute;
echo '</td></tr>';
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req);
// on ferme la connection à la base de données.
mysql_close ();
}
}
?>
<!—on ferme notre table html -->
</table>
</center>

</body>
</html>
C_Kirby
Répondre
LoadingChargement en cours