Bonjour à tous,
j'ai mis en place un petit système de commentaires sous des images.

pour gérer les commentaires, j'ai une page qui permet de selectionner soit une Date soit le nom d'un répertoire

Pour cela 2 champs :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<tr><td style ="font-weight: bold; width: 150px; text-align: right;"> Depuis le : </td><td>
<input type="hidden" id="vide" name="vide" value="" >
<input type="text" id="date" name="date" ></td>
</td>
<td style ="font-weight: bold; width: 150px; text-align: center;"> ou  </td>
 
<td style ="font-weight: bold; width: 150px; text-align: right;"> Poste source : </td><td>
<input type="text" id="poste" name="poste" ></td>
</td>
</tr>

Coté traitement, je test si c'ets le champs "date" ou "poste" qui est remplis et suivant le résultat je lui attribut une requete mysql :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
if(($NomPoste != $Vide) && ($Date == $Vide))
{
// Ma requete de controle si NomPoste complété
$query = $bdd->query("SELECT IdPS, NomPoste, CommunePoste, CodePoste
FROM postesource WHERE NomPoste LIKE '$NomPoste'"); 
}
if(($NomPoste == $Vide) && ($Date != $Vide))
{
// Ma requete de controle si Date complété
// Renvois tous les commentaires supérieurs à la date entrée
$query = $bdd->query("SELECT Commentaire, Date, Nom, Prenom, NomPoste
FROM commentaire, user, image, postesource 
WHERE Date >= '$Date' 
AND commentaire.IdUser = user.IdUser
AND commentaire.IdImg = image.IdImg
AND image.IdPS = postesource.IdPS"); 
}
// Exécution de la requete
$query->execute();               // LIGNE 103
// Compteur
$count = $query->rowCount(); 
$i = 0;
// Si il renvoi 1 requete trouvé
if($count > 0) 
{ 
... affichage etc...
} ?>
Dans le 1er cas (nom poste) la requete s'éxécute bien et affiche les résultats attendu.

Dans le 2eme cas avec la date au format YYYY-MM-DD il me marque :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Notice: Undefined variable: query in ... on line 103
 
Fatal error: Call to a member function execute() on a non-object in ... on line 103
Je me demande pourquoi il m'affiche cela et ce qui ne vas pas dans mon code.

ps: les 2 requêtes fonctionnent, testé sous MySql.


Merci à tous