BilouZ36

Inscris le 27/03/2013 à 17:40
  • Signature
    pfff, c'est pas facile....
  • Nombre de sujets
    1
  • Nombre de messages
    2
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
BilouZ36
le 27/03/2013 à 17:47
Problème fonction max()
Bonjour,

Depuis quelque temps je cherche à récupérer la valeur la plus haute et celle la plus basse des 5 dernières ligne d'une table mysql. Mais je suis bloqué car si je fais la requête suivante ne marche pas.

<?php 
mysql_query('SELECT MAX(cours) AS max FROM table ORDER BY id DESC LIMIT 5');
php ?>


La limite n'est pas prise en compte, je ne sais pas comment faire. Alors, je fais un array, je sépare les informations par une virgule.

<?php 
$str = array();
$i = '0';
$sql = mysql_query('SELECT (cours) FROM table ORDER BY id DESC LIMIT 5');
while($data = mysql_fetch_array($sql)){
$str[$i]= $data['cours'].', ';
$i++;
}
php ?>


Je récupère mes informations une à une (Si il y a plus simple....)
<?php 
$chaine = $str[0].$str[1].$str[2].$str[3].$str[4];
echo '<br />Chaine = '.$chaine;
php ?>


Je supprime la dernière virgule

<?php 
$chaine = substr($chaine, 0, -2);
php ?>


Jusqu'ici tout marche bien, si je fais un echo, c'est OK!

Mais à partir du moment ou je cherche la valeur maximal ou minimal avec la fonction max() ou min(), j'ai le message d'erreur suivant:
<?php 
Warning: max() [function.max]: When only one parameter is given, it must be an array in C:\wamp\www\test\index.php on line 96
php ?>


Si vous pouvez me venir en aide, merci d'avance
pfff, c'est pas facile....

Ses derniers messages sur les forums

forum
BilouZ36
le 28/03/2013 à 08:07
Problème fonction max()
Bon, voici une alternative qui je pense être simple, peut-être lourde au niveau du traitement mais elle marche.

Etape 1 : Je récupère mes infos dans un array
<?php 
$i=0;
$array = '';
$sql = mysql_query('SELECT (cours) FROM table ORDER BY id DESC LIMIT 5');
while($data = mysql_fetch_array($sql)){
$array[$i] = $data['cours'];
$i++;
}
php ?>



Etape 2 : Vérification des informations
<?php
echo '1 = '.$array[0];
echo '<br />2 = '.$array[1];
echo '<br />3 = '.$array[2];
echo '<br />4 = '.$array[3];
echo '<br />5 = '.$array[4];
php ?>


Etape 3 : Petite condition pour trouver la valeur la plus forte
<?php 
if($array[0]>=$array[1]){$max = $array[0];}else{$max = $array[1];}
if($max>=$array[2]){$max=$max;}else{$max=$array[2];}
if($max>=$array[3]){$max=$max;}else{$max=$array[3];}
if($max>=$array[4]){$max=$max;}else{$max=$array[4];}
echo '<br />Max est = à :'.$max;
php ?>


Etape 4 : Petite condition pour trouver la valeur la plus faible
<?php 
if($array[0]<=$array[1]){$min = $array[0];}else{$min = $array[1];}
if($min<=$array[2]){$min=$min;}else{$min=$array[2];}
if($min<=$array[3]){$min=$min;}else{$min=$array[3];}
if($min<=$array[4]){$min=$min;}else{$min=$array[4];}
echo '<br />Min est = à :'.$min;
php ?>


Il y a surement plus simple, mais cela marche.
pfff, c'est pas facile....
BilouZ36
le 27/03/2013 à 17:47
Problème fonction max()
Bonjour,

Depuis quelque temps je cherche à récupérer la valeur la plus haute et celle la plus basse des 5 dernières ligne d'une table mysql. Mais je suis bloqué car si je fais la requête suivante ne marche pas.

<?php 
mysql_query('SELECT MAX(cours) AS max FROM table ORDER BY id DESC LIMIT 5');
php ?>


La limite n'est pas prise en compte, je ne sais pas comment faire. Alors, je fais un array, je sépare les informations par une virgule.

<?php 
$str = array();
$i = '0';
$sql = mysql_query('SELECT (cours) FROM table ORDER BY id DESC LIMIT 5');
while($data = mysql_fetch_array($sql)){
$str[$i]= $data['cours'].', ';
$i++;
}
php ?>


Je récupère mes informations une à une (Si il y a plus simple....)
<?php 
$chaine = $str[0].$str[1].$str[2].$str[3].$str[4];
echo '<br />Chaine = '.$chaine;
php ?>


Je supprime la dernière virgule

<?php 
$chaine = substr($chaine, 0, -2);
php ?>


Jusqu'ici tout marche bien, si je fais un echo, c'est OK!

Mais à partir du moment ou je cherche la valeur maximal ou minimal avec la fonction max() ou min(), j'ai le message d'erreur suivant:
<?php 
Warning: max() [function.max]: When only one parameter is given, it must be an array in C:\wamp\www\test\index.php on line 96
php ?>


Si vous pouvez me venir en aide, merci d'avance
pfff, c'est pas facile....

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours