ma requete ne fonctionne pas ???

Eléphant du PHP | 218 Messages

27 sept. 2010, 15:29

Bonjour,
je souhaiterais récupérer toutes les valeur dans ma base lorsque la date (au format "datetime") est aout 2010
mais ma requête ne fonctionne pas :(
Elle n'affiche aucune erreur ni aucune données qui pourtant existe.

$mois_paiement = 08;
$annee_paiement = 2010;


	$reponse1 = $bdd->prepare("
							SELECT id, email, frais_port, prixtotal, transaction_id, date_paiement, paiement, statut
							FROM bouille_commandes
							WHERE YEAR(date_paiement)=:annee_paiement
							AND MONTH(date_paiement)=:mois_paiement
							ORDER BY id DESC
							LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage
							");
	$reponse1->execute(array(
							'mois_paiement' => $mois_paiement,
							'annee_paiement' => $annee_paiement
							));
	$reponse1->setFetchMode(PDO::FETCH_ASSOC);
page entiere :
<?php session_start(); ?>
<!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>Administration</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	   <meta name="description" content="Idée cadeau original pour homme. La boutique des cadeaux originaux pour femme. Idée cadeaux pour anniversaire, noël, saint valentin, départ en retraite...">
	   <meta name="keywords" content="anniversaire, aniversaire, aniverssaire, idée cadeau, idée cadeaux, idées cadeaux, idee, idée, idées,idee,cadeau, cadeaux, original, cadeau original, originaux, cadeaux originaux, sympathique, caricature, carricature, caricature, insolites, carte personnalisée, perssonalisee, rigolo, pas cher, fun">
   </head>


<body>
<link rel="stylesheet" media="screen" type="text/css" title="CSS" href="../../templates/css/admin_commandes.css" />
<link rel="stylesheet" media="screen" type="text/css" title="CSS" href="../../templates/css/pages.css" />
<link rel="stylesheet" media="screen" type="text/css" title="CSS" href="../../templates/css/statuts.css" />


<!-------------------->
<!---- Menu haut
<!-------------------->   
<!--connexion mysql-->
<?php include("../../class/bouilleDB.php"); ?>
<!--fonctions-->
<?php include("../../includes/functions/functions.php"); ?>
<!--menu du haut-->
<?php include("../../templates/admin/menu_haut.php"); ?>





<!---- page blanche début ---->
<div id="page_blanche">














<form method="post" action="<?php echo $chemin_vers_celebrite_categorie_php; ?>celebrite_categorie.php" >	
	<select name="rechercher_par_jour" >
		   <option value="null">vide</option>
		   <option value="01">01</option>
		   <option value="02">02</option>
		   <option value="03">03</option>
		   <option value="04">04</option>
		   <option value="05">05</option>
		   <option value="06">06</option>
		   <option value="07">07</option>
		   <option value="08">08</option>
		   <option value="09">09</option>
		   <option value="10">10</option>
		   <option value="10">11</option>
		   <option value="12">12</option>
		   <option value="13">13</option>
		   <option value="14">14</option>
		   <option value="15">15</option>
		   <option value="16">16</option>
		   <option value="17">17</option>
		   <option value="18">18</option>
		   <option value="19">19</option>
		   <option value="20">20</option>
		   <option value="21">21</option>
		   <option value="22">22</option>
		   <option value="23">23</option>
		   <option value="24">24</option>
		   <option value="25">25</option>
		   <option value="26">26</option>
		   <option value="27">27</option>
		   <option value="28">28</option>
		   <option value="29">29</option>
		   <option value="30">30</option>
		   <option value="31">31</option>
	</select>
	<select name="rechercher_par_mois" >
		   <option value="null">vide</option>
		   <option value="01">Janvier</option>
		   <option value="02">Février</option>
		   <option value="03">Mars</option>
		   <option value="04">Avril</option>
		   <option value="05">Mai</option>
		   <option value="06">Juin</option>
		   <option value="07">Juillet</option>
		   <option value="08">Août</option>
		   <option value="09">Septembre</option>
		   <option value="10">Octobre</option>
		   <option value="11">Novembre</option>
		   <option value="12">Décembre</option>
	</select>
	<select name="rechercher_par_annee" >
		   <option value="null">vide</option>
		   <option value="2006">2006</option>
		   <option value="2007">2007</option>
		   <option value="2008">2008</option>
		   <option value="2009">2009</option>
		   <option value="2010">2010</option>
		   <option value="2011">2011</option>
		   <option value="2012">2012</option>
		   <option value="2013">2013</option>
		   <option value="2014">2014</option>
		   <option value="2015">2015</option>
	</select>
	<input type="submit" value="ok" />
</form>









	

<?php	
  /***********************************************/
 /*** Nombre de commandes à afficher par pages
/***********************************************/
 
// On met dans une variable le nombre de commande qu'on veut par page
$nombreDeMessagesParPage = 100;


// On récupère le nombre total de messages					
$retour  = $bdd->query('SELECT COUNT(*) AS nb_messages FROM bouille_commandes');
$donnees = $donnees = $retour->fetch();
$totalDesMessages = $donnees['nb_messages'];

if (isset($_GET['page']))
{
        $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
        $page = 1; // On se met sur la page 1 (par défaut)
}
 
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
?>	
	

	
	
	

	
	
	
	
	


	




<?php
$mois_paiement = 08;
$annee_paiement = 2010;


	$reponse1 = $bdd->prepare("
							SELECT id, email, frais_port, prixtotal, transaction_id, date_paiement, paiement, statut
							FROM bouille_commandes
							WHERE YEAR(date_paiement)=:annee_paiement
							AND MONTH(date_paiement)=:mois_paiement
							ORDER BY id DESC
							LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage
							");
	$reponse1->execute(array(
							'mois_paiement' => $mois_paiement,
							'annee_paiement' => $annee_paiement
							));
	$reponse1->setFetchMode(PDO::FETCH_ASSOC);






	?>
	<table>
		<caption>Janvier</caption>

		<tr>
			<th>Date</th>
			<th>n° de commande</th>
			<th>TOTAL</th>
			<th>frais de port</th>
			<th>paiement</th>
			<th>n°transaction</th>
			<th>état</th>
		</tr>  
		<tr>
			<th>21/05</th>
			<th>156565165156</th>
			<th>89 €</th>
			<th>8,1 €</th>
			<th>CB</th>
			<th>45869</th>
			<th>remboursée</th>
		</tr>
		<tr>
			<th>21/05</th>
			<th>156565165156</th>
			<th>89 €</th>
			<th>8,1 €</th>
			<th>CB</th>
			<th>45869</th>
			<th>remboursée</th>
		</tr>
		
	</table>
	<?php








while( $bouille_commandes = $reponse1->fetch() )
{



	//variables POST
	$email = $bouille_commandes['email'];
	$id = $bouille_commandes['id'];
	
	
	
	
	$reponse2 = $bdd->prepare("
							SELECT email, id
							FROM bouille_commandes_bouille
							WHERE email = :email
							AND id = :id
							");
	$reponse2->execute(array(
							'email' => $email,
							'id' => $id
							));				
							$bouille = $reponse2->fetch(PDO::FETCH_ASSOC);								

	$reponse2->execute();
	$array = $reponse2->fetchALL();
	$nb_bouilles = count($array);






	$reponse3 = $bdd->prepare("
							SELECT civilite_fac, nom_fac, prenom_fac
							FROM bouille_clients
							WHERE email = :email
							");
	$reponse3->execute(array(
							'email' => $email
							));
							$bouille_clients = $reponse3->fetch(PDO::FETCH_ASSOC);
	

	


	
	
	
	
	
	?>	
	<table>
		<tr>
			<td><strong><?php echo $bouille_clients['date_commande'] . ' <span class="nom">' . $bouille_clients['nom_fac'] . '</span><span class="prenom"> ' . $bouille_clients['prenom_fac'] . '</span>';?></strong></td>
			<td class="cases_date" ><?php echo $bouille_commandes['date_paiement']; ?></td>
			<td class="cases_prix" ><?php echo $bouille_commandes['prixtotal']; ?> €</td>
			<td>
				<form action="../admin/admin_commandes_detail.php" method="post" >
					<input type="hidden" name="id" value="<?php echo $bouille_commandes['id']; ?>">
					<input type="hidden" name="email" value="<?php echo $bouille_commandes['email']; ?>">
					<input type="submit" value="<?php echo $bouille_commandes['id']; ?>">
					
					<select name=statut class="menu_statut">
						<option class="attente" value=0 <?php echo selected($bouille_commandes['statut'], 0); ?> >en attente de paiement</option>
						<option class="photo" value=3 <?php echo selected($bouille_commandes['statut'], 3); ?> >en attente de photo(s)</option>
						<option class="traitement" value=1 <?php echo selected($bouille_commandes['statut'], 1); ?> >traitement de la commande</option>
						<option class="bat" value=4 <?php echo selected($bouille_commandes['statut'], 4); ?> >validation du bon à tirer</option>
						<option class="support" value=5 <?php echo selected($bouille_commandes['statut'], 5); ?> >support(s) en préparation</option>
						<option class="expediee" value=2 <?php echo selected($bouille_commandes['statut'], 2); ?> >commande expédiée</option>
						<option class="remboursee" value=6 <?php echo selected($bouille_commandes['statut'], 6); ?> >commande remboursée</option>
					</select>
				</form>
			</td>
			
			<td class="cases_quantite" > - <?php echo $nb_bouilles; ?> - </td>
			<td class="cases_situation" ><?php echo $bouille_commandes['situationtitre']; ?></td>
			<td>
			
			<form method="post" action="#">
				<input type="image" name="<?php echo $bouille_commandes['id'] ?>" value="<?php echo $bouille_commandes['id'] ?>" onclick="document.getElementById('id_supp_<?php echo $bouille_commandes['id'] ?>').value=this.name ; if (window.confirm('Etes-vous sûr de vouloir supprimer la commande n°<?php echo $bouille_commandes['id'] ?>')) {return true;} else {return false;}" src="../../interface/bt_supprimer.gif" onmouseover="this.src='../../interface/bt_supprimer_push.gif'" onmouseout="this.src='../../interface/bt_supprimer.gif'"/>
				<input type="hidden" name="suppcommande_<?php echo $bouille_commandes['id'] ?>" id="id_supp_<?php echo $bouille_commandes['id'] ?>" value="" />
			</form>
		</tr>
	</table>

	<br />


<?php
}
?>
						
						


						
						
						
						


<?php
  /***********************************************/
 /*** Nombre de commandes à afficher par pages
/***********************************************/
// On calcule le nombre de pages à créer
$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    echo '<a href="admin_commandes.php?page=' . $i . '">' . $i . '</a> ';
}
?>						












</div>
<!---- page blanche fin ---->






 
 
</body>
</html>
Cadeaux personnalisés pour toute la famille :
https://cadeauxplaisir.com/

Petit nouveau ! | 7 Messages

27 sept. 2010, 15:47

Salut,

fais un or die et regarde ce que ca met

Mammouth du PHP | 19672 Messages

27 sept. 2010, 18:57

fais un or die et regarde ce que ca met
Non, c'est plus simple que ça :

C'est une bonne idée de faire des requêtes préparées, mais si tu envoies des paramètres, veilles à utiliser les mêmes index dans la requête et dans les paramètres. Regarde bien, dans la requête, tu utilises :annee_paiement et :mois_paiement, mais pour les paramètres, tu utilises annee_paiement et mois_paiement sans le " : " de début, donc PDO se heurte à un problème.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: