Page 1 sur 1

Probleme de news

Posté : 10 nov. 2010, 00:05
par necromoine
Bonjour, m'étant mis a apprendre php et Mysqli il n'y a fort peu de temps, et que j'ai décidé de m'améliorer rapidement, je recontre (forcement) quelques probleme/
Ce soir, c'est donc un probleme de news.
Sur ma page d'acceuil, mes news se chargaient tres bien jusqu'au moment ou j'ai décidé d'ajouter un bouton page suivante/précédente.
La ou je suis "fiere" c'est que les boutons marchent (il y en a un que je doit dire copier/coller d'un code Javascript.) mais par contre, les news ne s'affichent plus, pouvez vous m'aider s'il vous plait .
Le code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR
/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
	<head>
<meta name="google-site-verification" content="RIwpVAT50FUDu7xOtfVKyNrXHOSjQ4nd6xr2W0T3130" />
    <title>Tuto du Web</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="css
/template.css" />
		
	</head>
	<body>
	<?php
$serveur = "localhost";
$user = "root";
$password = "";
$bdd = "site";
//création du message d'erreur.
function my_error($errno, $error)
{
$message = "Erreur Mysql $errno<br />$error";
trigger_error($message, E_USER_ERROR);
}

$sql = new mysqli($serveur, $user, $password, $bdd) or my_error(mysqli_connect_errno(),mysqli_connect_error());
$req_limit = $sql->prepare('SELECT ID FROM news');
$req_limit->store_result();
$nbr_message = ($req_limit->num_rows);
$limit_page ='10';
$nombre_pages = $nbr_messages/$limit_page;
$nbr_total = ceil($nombres_pages);
$nbr_total -= 1;
if(isset($_GET['nombre_pages']) or $_GET['nombre_pages'] !='0')
{
$limit_mysql = $limit_page * $_GET['nombre_pages'];
}
else
{
$limit_mysql = '0';
}
?>
		<div id="en_tete">
		</div>
		<div id="menu_sup">
		<div class="element_menuSup">
		<?php include("menusup.php");?>
		</div>
		</div>
		<div id="menu">
		<div class="element_menu">
		<?php include("menu.php");?>
		</div>
		</div>

		<div id="corps">
<?php


if($nbr_total !='0' and empty($_GET['numero_page']))
{
echo '<a href="index.php?numero_page=1">Page Suivante</a>';
}
elseif($nbr_total !='0' and isset($_GET['numero_page']) and $_GET['numero_page'] < $nbr_total)
{
$suivant = $_GET['numero_page'] + 1;
echo '<a href="index.php?numero_page='.$suivant.'">Page Suivante</a>';
print '&nbsp;&nbsp;<a href="javascript: history.back();">Page précédente</a>';
}
elseif($nbr_total != '0' and isset($_GET['numero_page']) and $_GET['numero_page'] >= $nbr_total)
{
echo '<a href="javascript: history.back();">Page Precedente</a>';
}
$stmt = $sql->prepare("SELECT ID, Titre, Contenu, Auteur, DATE_FORMAT(Date, \'%d/%m/%Y\') AS date_fr FROM news ORDER BY Date DESC LIMIT $limit_mysql, $limit_page");
$stmt->bind_result($ID, $Titre, $Contenu, $Auteur, $date_fr);
$stmt->execute() or my_error($stmt->errno,$stmt->error);

while($stmt->fetch())
{
echo '<p class="paragraphe">' . $Titre . "<br />\tLe : ". $date . '<br />' . nl2br($Contenu) . '<br /><span class="Rouge">' . $Auteur . '</span></p>';
}

?>
		</div>

		<div id="footer">
		<?php include("footer.php");?>
		</div>
	</body>
</html>
Merci
le message d'erreur est le suivant :
Fatal error: Call to a member function bind_result() on a non-object in C:\wamp\www\TutoSite\Savesitephp\index.php on line 74

Re: Probleme de news

Posté : 10 nov. 2010, 01:06
par moogli
salut,

c'est parce que la ligne précédente doit retourner false
<?php
$stmt = $sql->prepare("SELECT ID, Titre, Contenu, Auteur, DATE_FORMAT(Date, \'%d/%m/%Y\') AS date_fr FROM news ORDER BY Date DESC LIMIT $limit_mysql, $limit_page");
?>
pour être sur fait un var_dump($stmt); après le prépare.
si c'est le cas tu devrais avoir un message d'erreur avec $mysqli->error
par exemple
<?php
$stmt = $sql->prepare("SELECT ID, Titre, Contenu, Auteur, DATE_FORMAT(Date, \'%d/%m/%Y\') AS date_fr FROM news ORDER BY Date DESC LIMIT $limit_mysql, $limit_page");
if ($stmt === false) {
echo $mysqli->error;
}
?>
@+

Re: Probleme de news

Posté : 10 nov. 2010, 01:25
par necromoine
Ok,je vais essayer mais je n'ai pas mon pc pour le moment.
Si il y a bien un erreur.
Comment cela ce fait t'il??
Je ne vois pas comment resoudre ce probleme... Je ne peux que le "detecter" pour le moment...

Re: Probleme de news

Posté : 10 nov. 2010, 01:28
par moogli
Tu peut mettre la requête dans une variable et l'afficher pour être certain de la requête voir la tester avec phpmyadmin ou une console mysql

@+

Re: Probleme de news

Posté : 10 nov. 2010, 17:19
par necromoine
Escusez-moi, j'ai trouver d'ou venait les erreurs :
Betes erreur de concentration (un "s" a une variable qui n'en a pas ect...)

Merci
Par contre je n'ai pas résolu le problème de la date... ce qui est très étrange.