Requête select max

Signaler
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010
-
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010
-
Bonjour,

Je patine avec ma requête, je voudrais la date la plus récente mais j'ai un message d'erreur : mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
Le champ effectue et un date.
SELECT MAX(suivi_vr.effectue), suivi_vr.societe FROM suivi_vr INNER JOIN chariot ON suivi_vr.idchariot chariot.idchariot WHERE suivi_vr.idchariot '.$idchariot.' LIMIT 1';

Merci de votre aide.

8 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
salut

envoie nous ton code php stp.
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010

Salut coucou !

<?php$requete1 'SELECT MAX(suivi_vr.effectue), suivi_vr.societe FROM suivi_vr INNER JOIN chariot ON suivi_vr.idchariot chariot.idchariot WHERE suivi_vr.idchariot = '.$idchariot.' LIMIT 1';
$execution_requete1 = mysql_query($requete1);

?>
   
            ----

        Dernière VR 1,
       
        <?php while($row = mysql_fetch_array($execution_requete1)) {  ?>
       
        <?php echo $row['effectue'] ?>,
       
        ----

        Société,
        <?php echo $row['societe'] ?>,
       
    <?php } ?>
   

   
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010

Désolé j'en avais oublié un bout :)

<?php$requete1 'SELECT MAX(suivi_vr.effectue), suivi_vr.societe FROM suivi_vr INNER JOIN chariot ON suivi_vr.idchariot chariot.idchariot WHERE suivi_vr.idchariot = '.$idchariot.' LIMIT 1';
$execution_requete1 = mysql_query($requete1);

$total1 = mysql_num_rows($execution_requete1);
if($total1) {
?>
   
            ----

        Dernière VR 1,
       
        <?php while($row = mysql_fetch_array($execution_requete1)) {  ?>
       
        <?php echo $row['effectue'] ?>,
       
        ----

        Société,
        <?php echo $row['societe'] ?>,
       
    <?php } ?>
   

    <?php } ?>
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
ajoute des or die...

$execution_requete1 = mysql_query($requete1) or die(mysql_error());

t'auras alors une VRAIE erreur sql et tu pourras alors trouver le probleme.
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010

J'ai ça comme erreur :

Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010

Ok il me manque le GROUP BY, mais quand je met :
SELECT MAX(suivi_vr.effectue), suivi_vr.societe FROM suivi_vr INNER JOIN chariot ON suivi_vr.idchariot chariot.idchariot WHERE suivi_vr.idchariot '.$idchariot.' GROUP BY effectue, societe LIMIT 1';

Il m'affiche bien la société mais pas la date.
Messages postés
83
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
14 décembre 2011
1
Salut Bruno,

Quelques pistes peut-être :

...

GROUP BY societe

 
uniquement -

Ecrit et teste ta requête en "résolvant" ton argument, d'abord directement dans l'interface mysql,
puis dans ton code, afin de cibler le problème.


"...WHERE suivi_vr.idchariot = '10' GROUP ... "
,




Tu devras peut-être rajouter des 'cotes' autour de ton argument. Du genre (ma mémoire me fait défaut)
"...WHERE suivi_vr.idchariot = '" . $idchariot ."' ... "
,

bat

m100
Messages postés
155
Date d'inscription
dimanche 28 septembre 2008
Statut
Membre
Dernière intervention
28 mars 2010

Salut MasterCent,

j'ai tenté beaucoup de combinaisons dont ta proposition, mais rien n'y fait. Je pense que l'erreur vient d'ailleurs sur la page, ma page de code comprend plusieurs formulaires que j'ai encore du mal à imbriquer proprement. La page est très longue.

Merci pour ta réponse. :)