Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/01/2011, 15h45   #1
Futur Membre du Club
 
Inscription : avril 2010
Messages : 105
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 105
Points : 18
Points : 18
Par défaut probleme pour récupérer les données php/sql

bonjour tlm,

Je reprend le code de quelqu'un aujourd'hui dans le cadre d'un projet. (je suis obligé j'aurais préféré le coder dès le début mais bon.)


Code php :
1
2
3
4
5
6
7
8
9
10
11
12
sql_mysql_query ("SELECT DISTINCT YEAR( date_commande ) AS annee
FROM commandes
WHERE statut
IN ( 2, 3, 4, 100 )
ORDER BY annee DESC");
 
 
 
while ($row_annees = mysql_fetch_object($query_annees)) {
    $tab_annees[$row_annees->annee] = $row_annees->annee;
}
arsort($tab_annees);



Le problème c'est $tab_annees semble vide !
Alors que la requête fonctionne très bien sur phpmyadmin et me retourne des résultats.
Le problème doit venir du mysql_fetch_object et je suis obligé de l'utiliser.
jai remplacer mysql_fetch_object($query_annees)) par mysql_fetch_object($query)
J'ai essayer beaucoup de chose, je ne comprend pas très bien d'où est le problème.
J'ai aussi essayer d'afficher dans le while les résultats pour voir où ca coince lais ca ne m'affiche rien..

Code php :
echo $row_annees->annee;

Je vous remercie d'avance pour l'aide que vous m'apporterez.
xavioche77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 16h55   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Hello

D'où elle sort ta variable $tab_annees ?

Utilise les balises [CODE] s'il te plait.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 17h15   #3
Futur Membre du Club
 
Inscription : avril 2010
Messages : 105
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 105
Points : 18
Points : 18
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$sql = mysql_query ("SELECT DISTINCT YEAR( date_commande ) AS annee
FROM commandes
WHERE statut
IN ( 2, 3, 4, 100 )
ORDER BY annee DESC");         
 
 
while ($row = mysql_fetch_object($sql)){
        echo $row->annee;
        echo "iiiiiiiiiiiiiiiiiiiiiiiii";
        }
        $nombre = mysql_num_rows( $sql );
        echo $nombre;
        var_dump($row);
J'ai modifier les choses selon ce qui me semblait logique. La requête sous Phpmyadmin me renvoie bien 2 années.
Mais dans le code, la ligne de test iiiiiiiiiiiiiiiiiiiiiiiiiiii ne s affiche pas
$nombre=0 et var_dump me dit que $row est un bool(false)
!!
!
La requête fonctionne mais ca ne passe pas avec php ......
xavioche77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 18h06   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Fais donc voir ce que ça donne:
Code :
1
2
3
4
5
6
7
8
9
10
 
if ($sql = mysql_query ("SELECT DISTINCT YEAR( date_commande ) AS annee
FROM commandes
WHERE statut
IN ( 2, 3, 4, 100 )
ORDER BY annee DESC"))
{
     // ton code....
}
else echo mysql_error();
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 16h44   #5
Futur Membre du Club
 
Inscription : avril 2010
Messages : 105
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 105
Points : 18
Points : 18
ok ok ok
bon c bon j'ai réussi.
La solution était que :

je suis stagiaire et que je suis sur un projet qui gère 6 sites en même temps.
On m'a envoyé un accès à une base test phpmyadmin. Mais en fait ils en ont 3 base de données de test identique sauf pour les occurrences dedans, et on m'a filé les accès a la mauvaise donc tout les noms de table et tout sont les mêmes. Donc mes requète sql dans phpmyadmin semblait fonctionné mais en fait ben c'était pas celle qui fonctionnait avec le site sur lequel je taffe.
Bref ..

c'est résolu du coup
xavioche77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h35.


 
 
 
 
Partenaires

Hébergement Web