Pb d'include et de BDD

Eléphanteau du PHP | 16 Messages

13 avr. 2007, 14:53

Bonjour.

J'ai un problème avec une page (carte.php) contenant plusieurs include.
Chaque include (vins.php, entrees.php, ...) fait appel à la même base de données.

Lorsque je les fais s'afficher séparément, je n'ai pas de problème, je récupère bien les données. mais lorsque j'essaie d'afficher la page générique, il n'y a que le premier include qui s'inscrit.

Je tourne en rond depuis un moment et je ne trouve pas la solution. Est-ce que ça vient des $requetebd et si oui, comment contourner le problème ? Avec mes faibles connaissances en php, j'y arrive pas.

Voilà le code des pages.


Page carte.php :

Code : Tout sélectionner

<html> <head> ... </head> <body> <div id="carte"> <div id="menuvins"> <?php include('module/vins.php'); // texte carte des vins ?> </div> <div id="entrees"> <?php include('module/entrees.php'); // texte entrees ?> </div> <div id="plats"> <?php include('module/plats.php'); // texte plats ?> </div> </div> </body> </html>
Page vins.php :
<?php
{
require('config.php');

$requetebd = mysql_query("SELECT * from ".$prefixetab."news") or die ($errormessage); 
while($data = mysql_fetch_array($requetebd))
{	
echo"$data[vins]"; 
}
} 
?>
Page entrees.php :
<?php
{
require('config.php');

$requetebd = mysql_query("SELECT * from ".$prefixetab."news") or die ($errormessage); 
while($data = mysql_fetch_array($requetebd))
{	
echo"$data[entrees]"; 
}
} 
?>
Page config.php :
<?php
		$nomserveur = "localhost";
		$loginserveur = "root";
		$passserveur = "root";
		$baseserveur = "xx";
		$prefixetab = "xx_";
		$errormessage = "Désolé, une erreur s'est produite sur la base de données.";
		$db = mysql_connect($nomserveur,$loginserveur,$passserveur) or die ($errormessage);
		mysql_select_db($baseserveur,$db) or die ($errormessage);
		?>

Eléphant du PHP | 216 Messages

13 avr. 2007, 15:06

Bonjour,
non, non, je pense ton problème est bien un problème d'includes

remplace ça:
require('config.php'); 
par ça:
 require('module/config.php'); 
dans tes pages incluses, si "module" est bien le dossier ou ce trouve config.php
Le PHP c'est bien, surtout quand ça marche ;) mon site
Hébergement gratuit et sans pub => Image

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

13 avr. 2007, 15:21

Sinon, essayes - si possible - de remonter ton require() au niveau de ta page principale plutôt que d'y faire appel dans chaque page inclue. Ou sinon au pire, utilise require_once() au lieu de require(), pour éviter de charger 3 fois ton script config.php :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 16 Messages

13 avr. 2007, 15:29

Merci Ryle ety polo pour vos réponses.

J'ai essayé ta solution polo, mais ça n'a rien changé.
Par contre, avec require_once, ça fonctionne.

Merci de votre aide. :wink: