JeuWeb - Crée ton jeu par navigateur
[resolu] erreur pas moyen de trouvé la reponse - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [resolu] erreur pas moyen de trouvé la reponse (/showthread.php?tid=922)

Pages : 1 2


RE: erreur pas moyen de trouvé la reponse :'( - matrix59 - 12-03-2007

merci bien je fait que sa allez sur site du zero mais bon me aide pas grand chose

voicie la page complete de forum.php
Code PHP :
<?php
require 'Templates/config.php';
require
'Templates/functions.php';
require
'Templates/header.php';

?>

<?php

if(($_GET['cat'])&& is_numeric($_GET['cat'])&& isset($_GET['f'])&& is_numeric($_GET['f']))
{
Sql();

$query_cat = mysql_query("SELECT * FROM `categories` WHERE id='".$_GET['cat']."'");
$data_cat = mysql_fetch_array($query_cat);
if(empty(
$data_cat['id'])|| empty($data_cat['nom']))
{
erreur('Cette categorie n\'existe pas !','');
die;
}

$query_forum = mysql_query("SELECT * FROM `forums` WHERE idcat='".$_GET['cat']."' && id='".$_GET['f']."'");
$data_forum = mysql_fetch_array($query_forum);
if(empty(
$data_forum['id'])|| empty($data_forum['nom']))
{
erreur('Ce forum n\'existe pas !','');
die;
}

SqlC();
}
elseif(!(
$_GET['cat'])|| !($_GET['f']))
{
erreur('Vous n\'avez pas l\'autorisation de voir cette page !','');
die;
}

arbo();

print(
'<table border="0" align="center" width="800" cellspacing="0">');
print(
' <tr>');
print(
' <td width="800" align="left">');
print(
' <a href="?page=nouveau&cat='.$_GET['cat'].'&f='.$_GET['f'].'"><img class="image" alt="Nouveau" src="pics/nouveau.png" /></a>');
print(
' </td>');
print(
' </tr>');
print(
'</table>');

print(
'<table border="1" align="center" width="800" class="Forums" cellspacing="0" cellpadding="0">');
Sql();
//------
$q = mysql_query("SELECT COUNT(*) AS nb_sujets FROM `sujets` WHERE idcat='".$_GET['cat']."' && idforum='".$_GET['f']."'");
$d = mysql_fetch_array($q);

$nb_sujets = $d['nb_sujets'];
$nb_sujets_ppage = $INFO['forum_nbsujetsppages'];

$nb_pages = ceil($nb_sujets / $nb_sujets_ppage);

if (isset(
$_GET['page']))
$page = $_GET['page'];
else
$page = 1;

$sujet1 = ($page - 1) * $nb_sujets_ppage;
//------
$gris = 1;
//------
pagination($nb_pages,'?page=forum&cat='.$_GET['cat'].'&f='.$_GET['f'].'');
print(
' <br/>');
//------
$query1 = mysql_query("SELECT * FROM `sujets` WHERE idcat='".$_GET['cat']."' && idforum='".$_GET['f']."' ORDER BY date2 DESC LIMIT ".$sujet1.",".$nb_sujets_ppage) or die(mysql_error());
while ((
$data1 = mysql_fetch_array($query1)) !== false)
{ if(
$gris > 2) { $gris = 1; }
//------
$id = stripslashes($data1['id']);
$idcat = stripslashes($data1['idcat']);
$idforum = stripslashes($data1['idforum']);
$status = stripslashes($data1['status']);
$titre = stripslashes($data1['titre']);
$description = stripslashes(emoticon($data1['description']));
$pseudo = stripslashes($data1['pseudo']);
$date = stripslashes($data1['date']);
//------
$query2 = mysql_query("SELECT COUNT(*) AS nb_reponses FROM `reponses` WHERE idcat='".$idcat."' && idforum='".$idforum."' && idsujet='".$id."'");
$data2 = mysql_fetch_array($query2);
$nb_reponses = stripslashes($data2['nb_reponses']);
//------
print('<tr>');
print(
' <td class="gris'.$gris.'" width="400">');
if(
$status == '0')
{
print(
' <img class="image" src="pics/fermer.gif" alt="-" /> <a href="?page=liresujet&cat='.$idcat.'&f='.$idforum.'&sujet='.$id.'">'.$titre.'</a> <br/>');
}
elseif(
$status == '1')
{
print(
' <img class="image" src="pics/bouton.gif" alt="-" /> <a href="?page=liresujet&cat='.$idcat.'&f='.$idforum.'&sujet='.$id.'">'.$titre.'</a> <br/>');
}
print(
' <span class="description">'.$description.'</span>');
print(
' </td>');
print(
' <td class="gris'.$gris.'" width="133" align="center">');
print(
' Par <em>'.$pseudo.'</em>');
print(
' </td>');
print(
' <td class="gris'.$gris.'" width="133" align="center">');
print(
' '.$nb_reponses.' reponses');
print(
' </td>');
print(
' <td class="gris'.$gris.'" width="134">');
print(
' '.date('\l\e d/m/Y \à h\:i',$date).'');
print(
' </td>');
print(
'</tr>');
//------
$gris++;
}
SqlC();
print(
'</table>');
//------
print(' <br/>');
pagination($nb_pages,'?page=forum&cat='.$_GET['cat'].'&f='.$_GET['f'].'');
//------

print('<table border="0" align="center" >');
print(
' <tr>');
print(
' <td align="left">');
print(
' <a href="?page=nouveau&cat='.$_GET['cat'].'&f='.$_GET['f'].'"><img class="image" alt="Nouveau" src="pics/nouveau.png" /></a>');
print(
' </td>');
print(
' </tr>');
print(
'</table>');

arbo();

?>

<?php

require 'Templates/footer.php';

?>



RE: erreur pas moyen de trouvé la reponse :'( - matrix59 - 12-03-2007

donc voila mon erreur a etait reparai grace a l'aide de GOLD LE KING DU PHP frenchement rien n'avoir avec ce que vous me disai le probleme ne venai pas de LIMIT mais de
Code PHP :
<?php 
if (isset($_GET['page']))

donc nous avons remplacé
Code PHP :
<?php 
if (isset($_GET['page']))
par
Code PHP :
<?php 
if (isset($_GET['bouh']))

et comme par magie tout fonctionne nikel donc il a pas que moi qui doit allez sur le siteduzero mais la plupar d'entre vous aussi je pense donc je vous remercie quand meme de votre aide mais je remercie encore plus GOLD
merci encore a lui Smile


RE: erreur pas moyen de trouvé la reponse :'( - Yoda54 - 12-03-2007

C'est assez facile comme réactionde montrer tout le script après coup mais cela permet au moins de vérifier que tu n'as pas compris la correction effectuée dont voici l'explication:

Code PHP :
<?php 
if (isset($_GET['page']))
$page = $_GET['page'];
else
$page = 1;

$sujet1 = ($page - 1) * $nb_sujets_ppage;

Ton $_GET['page'] valait sans doute 0 au début du script voire n'avait pas de valeur du tout mais existait. En conséquence, tu donnais une valeur 0 ou NULL à $page.
Conséquement, ta variable $sujet1 valait "-1*$nb_sujets_ppage" et mon petit doigt me dit que cette dernière variable doit valoir 30, soit $sujet1=-30. C'est ainsi que tu te retrouves avec "LIMIT -30,30" dans ta requête. Et même si tu ne sembles pas vouloir l'admettre, cela génère automatiquement une erreur.

En effectuant le changement que tu nous indiques, $_GET['bouh'] n'étant jamais initialisée, c'est la partie 'else' qui s'exécute. De fait, $page prend la valeur 1 et $sujet1=30. Le hic, c'est que tu ne pourras pas afficher autre chose que ces 30 premières lignes; ce qui n'est visiblement pas le but de ton script!
Un petit conseil, essaye de remplacer le bout de code cité supra par celui-ci:
Code PHP :
<?php 
if (!empty($_GET['page']))
$page = $_GET['page'];
else
$page = 1;

$sujet1 = ($page - 1) * $nb_sujets_ppage;
Un second conseil, essaie de comprendre les modifications que l'on te fait faire, cela te permettra d'une part de progresser et d'autre part cela t'évitera de marquer des bêtises comme celle de ton dernier post sur les connaissances des gens qui te proposent leur aide.