Recuperer des données conditionnelles en php

ANTHURIUMRE Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   -  
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


je voudrais récupérer dans une page vue.php des données dans une base de donnée que je selectionne à partir d'un fichier get_billets.php mais je ne sais comment et quel indice ou variable mettre dans ma page vue.php. Pourriez-vous m'aider s'il vous plaît. Vous trouverez ci-dessous un exemple de mes deux fichiers l'un get_billets.php et l'autre vue.php. ATTENTION CE N EST PAS UN FORMULAIRE QU'ON DOIT REMPLIR mais simplement des données à récupérer à partir de conditions dans une autre page. Merci pour votre aide.

FICHIER get_billets.php contenant les conditions :

<?php
function get_billets($offset,$limit)
{
global $bdd;

$offset=(int)$offset;
$limit=(int)$limit;


switch($offset)

{

case "w":

$req=$bdd->prepare('SELECT id_billet, image, titre, contenu, auteur, categorie, resume, DATE_FORMAT(date_de_creation,\'%d/%m/%Y à %Hh%imin%ss\') AS
date_de_creation_fr FROM billets WHERE repertoire="trvip" AND categorie="warriors"
ORDER BY date_de_creation DESC LIMIT :offset,:limit');
breack;

case "s":
$req=$bdd->prepare('SELECT id_billet, image, titre, contenu, auteur, categorie, resume, DATE_FORMAT(date_de_creation,\'%d/%m/%Y à %Hh%imin%ss\') AS
date_de_creation_fr FROM billets WHERE repertoire="trvip" AND categorie="soldiers"
ORDER BY date_de_creation DESC LIMIT :offset,:limit');
breack;

case "c":
$req=$bdd->prepare('SELECT id_billet, image, titre, contenu, auteur, categorie, resume, DATE_FORMAT(date_de_creation,\'%d/%m/%Y à %Hh%imin%ss\') AS
date_de_creation_fr FROM billets WHERE repertoire="trvip" AND categorie="cptain"
ORDER BY date_de_creation DESC LIMIT :offset,:limit');
breack;

}

$req->bindParam(':offset',$offset, PDO::PARAM_INT);
$req->bindParam(':limit',$limit,PDO::PARAM_INT);
$req->execute();
$billets=$req->fetchAll();

return $billets;

}
?>



FICHIER VUE.PHP

<!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>
<title>TITRE</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1"/>
<link href="vue/style.css" rel="stylesheet" type="text/css"/>

</head>

<body >

<!--L'ENTETE-->

<div id="entete"><h1>TITRE</div>

<!--LE MENUENTETE-->

<?php include_once("menu/menuentete.php");?>

<!--LE BLOC DE DROITE-->

<div id="menudroite"><h2>ZONE</h2>

<?php include_once("menu/elementmenudroite.php");?>


</div>


<!--LE CORPS-->
<div id="corps">



<?php


foreach($billets as $cle=> $billet)
{
?>


<div class="news">





<div id="warrior"><!--DEBUT BLOC W-->
//QUE METTRE ICI POUR RECUPERER LA CONDITION RELATIVE A CE BLOC W DANS GET_BILLETS.PHP
<h3>
	<?php echo $billet['titre'];?>
	<em>le <?php echo $billet['date_de_creation_fr'];?></em>
</h3>



<div id="Wt">
<?php echo $billet['image'];?>
</div>

<p>

<?php echo $billet['contenu'];?>
<br/>


</p>

</div><!--FIN BLOC Warriors -->

<div id="soldier"><!--DEBUT BLOC SOLDIER-->
//QUE METTRE ICI POUR RECUPERER LA CONDITION RELATIVE A CE BLOC S DANS GET_BILLETS.PHP
<h3>
	<?php echo $billet['titre'];?>
	<em>le <?php echo $billet['date_de_creation_fr'];?></em>
</h3>

<div id="St">
<?php echo $billet['image'];?>
</div>

<p>

<?php echo $billet['contenu'];?>
<br/>

</p>

</div><!--FIN BLOC SOLDIER-->

<div id="cptain"><!--DEBUT BLOC CPTAIN-->
//QUE METTRE ICI POUR RECUPERER LA CONDITION RELATIVE A CE BLOC C DANS GET_BILLETS.PHP

<h3>
	<?php echo $billet['titre'];?>
	<em>le <?php echo $billet['date_de_creation_fr'];?></em>
</h3>


<div id="ct">
<?php echo $billet['image'];?>
</div>
<p>
<?php echo $billet['contenu'];?>
<br/>

</p>
</a>
</div><!--FIN BLOC CPTAIN-->



</div> <!--DIV FIN BLOC NEWS-->
<?php
}
?>





</div>

<!--PIEDDEPAGE-->
<div id="pieddepage">XXXXXX</div>



</body>
</html>




A voir également:

1 réponse

Camuke Messages postés 224 Date d'inscription   Statut Membre Dernière intervention   88
 
En fait ta page billet contient juste une fonction php, il te suffit d'inclure la page dans vue.php et te faire appel a la fonction en lui passant les bon paramétrés.
(As tu tester ta fonction get_billet? car a mon avis elle ne fonctionnera pas)

sa donne sa (vue.php):
<!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> 
<title>TITRE</title> 
<meta http-equiv="Content-Type" content="text/html; 
charset=iso-8859-1"/> 
<link href="vue/style.css" rel="stylesheet" type="text/css"/> 

</head> 

<body > 

<!--L'ENTETE--> 

<div id="entete"><h1>TITRE</div> 

<!--LE MENUENTETE--> 

<?php include_once("menu/menuentete.php");?> 

<!--LE BLOC DE DROITE--> 

<div id="menudroite"><h2>ZONE</h2> 

<?php include_once("menu/elementmenudroite.php");?> 


</div> 


<!--LE CORPS--> 
<div id="corps"> 



<?php 

include('billet.php'); 
foreach($billets as $cle=> $billet) 
{ 
?> 
  

<div class="news"> 





<div id="warrior"><!--DEBUT BLOC W--> 
  
<h3> 
 <?php 
 $billet = get_billets("Valeur de offset","valeur de limit"); 
 echo $billet['titre'];?> 
 <em>le <?php echo $billet['date_de_creation_fr'];?></em> 
</h3> 



<div id="Wt"> 
<?php echo $billet['image'];?> 
</div> 

<p> 

<?php echo $billet['contenu'];?> 
<br/> 


</p> 

</div><!--FIN BLOC Warriors --> 

<div id="soldier"><!--DEBUT BLOC SOLDIER--> 
//QUE METTRE ICI POUR RECUPERER LA CONDITION RELATIVE A CE BLOC S DANS GET_BILLETS.PHP 
<h3> 
 <?php  
 $billet = get_billets("Valeur de offset","valeur de limit"); 
 echo $billet['titre'];?> 
 <em>le <?php echo $billet['date_de_creation_fr'];?></em> 
</h3> 

<div id="St"> 
<?php echo $billet['image'];?> 
</div> 

<p> 

<?php echo $billet['contenu'];?> 
<br/> 

</p> 

</div><!--FIN BLOC SOLDIER--> 

<div id="cptain"><!--DEBUT BLOC CPTAIN--> 
//QUE METTRE ICI POUR RECUPERER LA CONDITION RELATIVE A CE BLOC C DANS GET_BILLETS.PHP 

<h3> 
 <?php echo $billet['titre'];?> 
 <em>le <?php echo $billet['date_de_creation_fr'];?></em> 
</h3> 


<div id="ct"> 
<?php echo $billet['image'];?> 
</div> 
<p> 
<?php echo $billet['contenu'];?> 
<br/> 

</p> 
</a> 
</div><!--FIN BLOC CPTAIN--> 



</div> <!--DIV FIN BLOC NEWS--> 
<?php 
} 
?> 





</div> 

<!--PIEDDEPAGE--> 
<div id="pieddepage">XXXXXX</div> 



</body> 
</html> 
0
ANTHURIUMRE Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   2
 
Bonjour Camuke, non apparemment il faut que je fasse une liaison via url de ma page vue.php vers ma page get_billets.php en définissant une variable classe mais je n'y arrive pas. Merci quand même pour ton aide.
0
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
les variables du get sont accessible dans les pages inclues donc si les parametres sont implementée tu peux les recuperer sans les passer.
Sinon essai <require "monfichier?php?Classe=myclass">
Y a une autre solution passé par les variable session de sessionstarr()
tu fais
sessionstart();
$_SESSION['calsse']=$_GET[classe];

et puis tu testes l existance de cette variable
if (isset($_SESSION['calsse']))
require "monfichier?php?Classe=".$_SESSION['calsse'];
else
require "monfichier?php?Classe=".$default;
0
ANTHURIUMRE Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   2
 
Bonjour Fallentree,
en mettant require le message suivant s'affiche :


Parse error: syntax error, unexpected '<' in C:\Program Files\EasyPHP-5.3.6.0\www\site\modele\trvip\get_billets.php on line 8


Quand au Session je ne maîtrise pas et rique de m'enfoncer davantage. Mais cette session il faut que je la mette sur ma page get-billets.
0
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
ligne 8 ??? <?php require ("fichier.php");?>
session c est pour pouvoir gerer des comptes d utilisateur par exemple...
0
ANTHURIUMRE Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   2
 
Voilà avec requie ce qu'il m'affiche maintenant : Merci quand même pour ton aide.

Warning: require(vue/trvip/index.php?class=categorie) [function.require]: failed to open stream: No error in C:\Program Files\EasyPHP-5.3.6.0\www\site\modele\trvip\get_billets.php on line 8

Fatal error: require() [function.require]: Failed opening required 'vue/trvip/index.php?class=categorie' (include_path='.;C:\php\pear') in C:\Program Files\EasyPHP-5.3.6.0\www\site\modele\trvip\get_billets.php on line 8
0