Aller au contenu

Requete sql donnant un array


snwoman49

Sujets conseillés

Bonjour,

J'ai un petit problème actuellement,

Il faudrait que les champs X de ma table Y s'affiche sous la forme d'un array,pour ensuite crée un graphique de ces points avec gd.

$sql= "SELECT * FROM climato_tbl WHERE pseudo='$pseudo' ORDER BY id DESC";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_array($req))  
{
echo "".$data['tempemin'].",";
}

J'ai essayer ca mais comme vous le voyez,la virgule pose des problèmes.

J'espère que vous pourrez m'aider.

A bientôt.

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

J'ai un petit problème avec le array maintenant..

Voila le code

$fa = fopen("http://meteorologic.net/climato/tempemin.php?pseudo=snowman49", "r");
$fa=fread($fa,200);
  $values = array($fa);
  echo "$values";

Et ca m'affiche Array.

:fou:

Modifié par snwoman49
Lien vers le commentaire
Partager sur d’autres sites

$tab = array();
while($data = mysql_fetch_array($req)){
$tab[]=$data['tempemin'];
}
echo implode(",",$tab);

C'est pas très malin.

Gaspillage de temps et de mémoire.

$first = true;
while($data = mysql_fetch_array($req))
{
   if($first)
   {
        $first = false;
        echo $data['tempemin'];
   }
   else
   {
        echo ','.$data['tempemin'];
   }
}

Modifié par loufoque
Lien vers le commentaire
Partager sur d’autres sites

C'est pas très malin.

Gaspillage de temps et de mémoire.

$first = true;
while($data = mysql_fetch_array($req))
{
   if($first)
   {
        $first = false;
        echo $data['tempemin'];
   }
   else
   {
        echo ','.$data['tempemin'];
   }
}

<{POST_SNAPBACK}>

C'est pas très malin.

Gaspillage de temps et de mémoire.

$first = "";
while($data = mysql_fetch_array($req))
{
   echo $first.$data['tempemin'];

   if(empty($first))
        $first = ", ";
   
}

;)

Lien vers le commentaire
Partager sur d’autres sites

Un booléen fait un octet, une chaîne en fait bien plus (ne connaissant pas exactement le système interne de php, je ne saurais te dire, mais bon comme ce sont des chaînes binaires ils doivent stocker la taille de la chaîne dans un entier assez long du genre 4 octets plus un octet par caractère).

De plus la seule concaténation que j'effectue, c'est avec une chaîne statique, ce qui est bien plus rapide qu'avec une variable.

Il y a une vraie différence entre le code que j'ai fourni et le code précédent, mais une différence minime entre mon code et celui que tu viens de présenter, et qui n'est en plus même pas à ton avantage.

Lien vers le commentaire
Partager sur d’autres sites

Un booléen fait un octet, une chaîne en fait bien plus (ne connaissant pas exactement le système interne de php, je ne saurais te dire, mais bon comme ce sont des chaînes binaires ils doivent stocker la taille de la chaîne dans un entier assez long du genre 4 octets plus un octet par caractère).

De plus la seule concaténation que j'effectue, c'est avec une chaîne statique, ce qui est bien plus rapide qu'avec une variable.

Il y a une vraie différence entre le code que j'ai fourni et le code précédent, mais une différence minime entre mon code et celui que tu viens de présenter, et qui n'est en plus même pas à ton avantage.

<{POST_SNAPBACK}>

En même temps l'allocation du nombre de bits à un type ne dépends pas que du language donc je me vois mal avancer ces chiffres sans connaitre les spécifications du serveur qui exécutera ce script.

Mais en même temps je ne suis pas sûr que tout ceci préoccupe snwoman49 qui est venu poser une question simple et qui se retrouve à arbitrer un combat du plus beau code pour afficher un tableau "implosé"... au passage si on veut jouer au malin et ne pas utiliser de mémoire ni d'opcode de trop (des conditions dans une boucle impliquent un passage à chauqe itération...) il faut mettre la virgule après chaque valeur et après la boucle utiliser rtrim avec "," comme caractère à tronquer... L'utilisation mémoire d'un caractère de plus dans la chaîne est minime quand on pense que la boucle (et donc l'évaluation de condition à l'intérieure de celle-ci) peut être exécutée un nombre de fois énorme suivant la base de données... mais bon j'aurais du me passer de ce commentaire pour coller avec l'esprit de mon message ;)

Modifié par TheRec
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...