Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2519 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Mes variables sont tronquées sans que je le demande ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Mes variables sont tronquées sans que je le demande ...

n°303367
Core 666
Posté le 06-02-2003 à 18:38:29  profilanswer
 

PHP est en train de me faire devenir fou, et pourtant je bosse sur un truc on ne peut plus simple :cry:
 

Code :
  1. $tabr = array();
  2. $verif_no1 = mysql_query("SELECT value FROM longman WHERE active = 1" );
  3. while($resultat = mysql_fetch_row($verif_no1)) $tabr[] = $resultat[0];
  4. for($n = 0; $n < sizeof($tabr); $n++) {
  5.     echo "Valeur n° $n => ".$tabr[$n][0]."<BR>";
  6. }


 
Voici le résultat de ce script :
 

Valeur n° 0 => 9
Valeur n° 1 => 2
Valeur n° 2 => 3


 
Hors, quand j'exécute ma requête SQL en ligne de commande, voici le résultat :
 

mysql> SELECT value FROM longman WHERE active = 1
+-------+
| VALUE |
+-------+
|     9 |
|   217 |
|  3104 |
+-------+
3 rows in set (0.00 sec)


 
PHP ne me sort que le premier chiffre de chaque valeur. C'est quoi cette connerie ? :heink:


Message édité par Core 666 le 06-02-2003 à 18:39:36
mood
Publicité
Posté le 06-02-2003 à 18:38:29  profilanswer
 

n°303385
einstein2
Windaube, FAIS l'EFFORT !
Posté le 06-02-2003 à 19:10:59  profilanswer
 

on dirait que tu passes que le premier chiffre!
$resultat[0] c un caractère on dirait!
le premier caractère?
 :pt1cable:  
 
t'es sur pour $resultat[0]?
ha non c'est $tabr[$n][0]!!!
tu lis que le premier carac  :bounce:  
faut enlever [0]
 


Message édité par einstein2 le 06-02-2003 à 19:15:39
n°303386
Core 666
Posté le 06-02-2003 à 19:18:05  profilanswer
 

einstein2 a écrit :

on dirait que tu passes que le premier chiffre!
$resultat[0] c un caractère on dirait!
le premier caractère?
 :pt1cable:  
 
t'es sur pour $resultat[0]?
ha non c'est $tabr[$n][0]!!!
tu lis que le premier carac  :bounce:  
faut enlever [0]


Hum, non, $resultat[0] correspond au premier champ de la requete, pas au premier caractère. J'ai quand même essayé de remplacer mysql_fetch_row par mysql_fetch_array et $resultat[0] par $resultat[value] mais c'est pareil :(
 
D'ailleurs, $resultat[] n'aurait aucun sens

n°303387
Core 666
Posté le 06-02-2003 à 19:18:40  profilanswer
 

> D'ailleurs, $resultat[] n'aurait aucun sens
 
Fatal error: Cannot use [] for reading

n°303389
dropsy
et bonne chance surtout...
Posté le 06-02-2003 à 19:21:09  profilanswer
 

Core 666 a écrit :


$tabr[] = $resultat[0];


 
le problème vient de cette ligne, amha
moi j'aurais mis $tabr=$resultat[0]
 
edit: ha bah non, rien à voir :pt1cable: jsuis fatigué là :(


Message édité par dropsy le 06-02-2003 à 19:28:03
n°303391
Core 666
Posté le 06-02-2003 à 19:22:11  profilanswer
 

> ha non c'est $tabr[$n][0]!!!
 
Oups, je suis confu. Merci einstein2 ! :)


Message édité par Core 666 le 06-02-2003 à 19:23:02
n°303392
einstein2
Windaube, FAIS l'EFFORT !
Posté le 06-02-2003 à 19:22:32  profilanswer
 

et $attr[$n] sans le [0]? t'as essayé?
po grave 90% du temps c une erreur à la con  :sleep:  


Message édité par einstein2 le 06-02-2003 à 19:24:02
n°303397
Core 666
Posté le 06-02-2003 à 19:24:57  profilanswer
 

einstein2 a écrit :

et $attr[$n] sans le [0]? t'as essayé?


Oui, ca marche :D
 
Du coup tu viens de m'apprendre un truc là. Car avec une sélection multichamp, $attr[$n][0] permet bien de lister le premier champ, $attr[$n][1] le second, etc. Je ne savais pas du tout que sur une requete mono champ ca n'affichait qu'un seul caractère :??:


Message édité par Core 666 le 06-02-2003 à 19:25:49
n°303404
einstein2
Windaube, FAIS l'EFFORT !
Posté le 06-02-2003 à 19:28:26  profilanswer
 

ben attr[$n] est un String, et attr[$n][i] le 'ième+1' caractère
du String attr[$n]
en PHP c implicite donc pas trés clair.
 

Core 666 a écrit :


Oui, ca marche :D
 
Du coup tu viens de m'apprendre un truc là. Car avec une sélection multichamp, $attr[$n][0] permet bien de lister le premier champ, $attr[$n][1] le second, etc. Je ne savais pas du tout que sur une requete mono champ ca n'affichait qu'un seul caractère :??:


Message édité par einstein2 le 06-02-2003 à 19:29:04
n°303418
Core 666
Posté le 06-02-2003 à 19:38:12  profilanswer
 

einstein2 a écrit :

ben attr[$n] est un String, et attr[$n][i] le 'ième+1' caractère
du String attr[$n]
en PHP c implicite donc pas trés clair.


 
Je ne le savais pas du tout. Mais ca doit dépendre de la manière dont on construit attr[$n] alors ? Car je viens de le vérifier  à l'instant, et avec une sélection multi-champs i correspond bien au champ n° i, et non au ième+1 caractère :
 

Code :
  1. $tabr = array();
  2. $verif_no1 = mysql_query("SELECT value, cat FROM longman WHERE active = 1" );
  3. while($resultat = mysql_fetch_row($verif_no1)) $tabr[] = $resultat;
  4. for($n = 0; $n < sizeof($tabr); $n++) {
  5.    echo "Valeur n° $n => ".$tabr[$n][0]."<BR>";
  6. }

 
 

Valeur n° 0 => 9  
Valeur n° 1 => 217  
Valeur n° 2 => 3104


Message édité par Core 666 le 06-02-2003 à 19:38:54
mood
Publicité
Posté le 06-02-2003 à 19:38:12  profilanswer
 

n°303425
Core 666
Posté le 06-02-2003 à 19:44:13  profilanswer
 

Arg, je viens de comprendre mon erreur par rapport à ma manière de coder habituelle.
 
C'est le $resultat[0] qui met tout en l'air. Avec $tabr[] = $resultat ca fonctionne nickel, même avec utilisant $tabr[$n][0] pour l'affichage :
 

Code :
  1. $tabr = array();
  2.   $verif_no1 = mysql_query("SELECT value FROM longman WHERE active = 1" );
  3.   while($resultat = mysql_fetch_row($verif_no1)) $tabr[] = $resultat[0];
  4.   for($n = 0; $n < sizeof($tabr); $n++) {
  5.         echo "Valeur n° $n => ".$tabr[$n][0]."<BR>";
  6.   }


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Mes variables sont tronquées sans que je le demande ...

 

Sujets relatifs
Problème avec PHPPro du C requi : question sur les variables initalisées dans un for
[PHP] Passer les caractères ' et & en parametre ?[Php/mySql+JavaScript] Listes à sélection dépendantes entre elles
[ PHP ] Dites-moi si c'est possible...Transmission de variables.
[PHP] PHP 4.3.0 problème stream , flux ?[JS | PHP] Variable de JS à PHP
Petite question de PHP...[PHP] Apache ne veux pas se lancer
Plus de sujets relatifs à : [PHP] Mes variables sont tronquées sans que je le demande ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR