php

php - Programmation

Marsh Posté le 09-07-2001 à 16:38:48    

comment faire afficher cette variable?
debkngc01.gcphlfac.gnufac

Reply

Marsh Posté le 09-07-2001 à 16:38:48   

Reply

Marsh Posté le 09-07-2001 à 16:43:21    

Ce n'est pas un nom de variable valide en PHP.
 
En PHP, les variables sont représentées par un signe dollar "$" suivi du nom de la variable. Le nom est sensible à la casse (ie : $x != $X).  
 
Les noms de variables suivent les mêmes règles de nommage que les autres entitées PHP. Un nom de variable valide doit commencer par une lettre ou un souligné (_), suivi de lettres, chiffres ou soulignés. Exprimé sous forme d'une expression régulière, cela donne : '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'  
http://www.php.net/manual/fr/language.variables.php
 
Faut que tu te débrouille pour ne pas avoir de point dans le nom.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 09-07-2001 à 16:50:52    

je ne epux pas dire que totu mon truc c'ets une chaine et le definie comme variable?

Reply

Marsh Posté le 09-07-2001 à 16:53:25    

Pas de . dans les noms de variables !
 
C'est pas plus compliqué.

Reply

Marsh Posté le 09-07-2001 à 16:55:51    

bon alors coment puis je faire pour faire ceci  
e nsachant que ind est de type KNGC01.GCPHLFAC.GNUFAC et quej e veux recuperer les données entrees dans les zones de textes?
foreach($tabcor as $ind => $val )  
  {
    $indi=deb.$ind;
    echo "<P> $val : entre<INPUT TYPE=TEXT NAME=indi VALUE='' SIZE=10 MAXLENGTH=30> ";
    $indi=fin.$ind;
    echo"            et   <INPUT TYPE=TEXT NAME=$indi VALUE='' SIZE=10 MAXLENGTH=30>
           <BR>";
  }

Reply

Marsh Posté le 09-07-2001 à 17:00:42    

Je ne comprends pas ton PB !
 
D'où y sort ton debkngc01.gcphlfac.gnufac ? ? ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 09-07-2001 à 17:01:56    

il sort de deb.$ind

Reply

Marsh Posté le 09-07-2001 à 17:04:40    

j'ai un tableau associatif
genre : $tabcor["KNGC01.GCPHLFAC.GNUFAC"]  =  "numéro facture";
je voudrais faire pour chaque element du tableau deux zones de textes qui permettraient de rentrer des valeurs  
ex annnee : entre 1980 et 1999
et je voudrais recuper ces valeurs
mais il me faut l'indice du tableau car je l'utilsie dans une requete pour faire WHERE KNGC01.GCPHLFAC.GNUFAC=1980  
AND KNGC01.GCPHLFAC.GNUFAC=1981 ....
si vous avez une idée

Reply

Marsh Posté le 09-07-2001 à 17:21:40    

"il sort de deb.$ind"  
 
deb.$ind, c'est pas une syntaxe PHP çà !
C'est quoi 'deb' ?
 
Si ton tableau est associatif, cela ne veut pas dire qu'il n'a pas d'indice numérique !
Ou bien tu remplace les points pas des '_'.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 09-07-2001 à 17:23:04    

je peux utilsier le numerique?
pour regarder les valeurs du tableau?

Reply

Marsh Posté le 09-07-2001 à 17:23:04   

Reply

Marsh Posté le 09-07-2001 à 17:24:03    

Cela dit, la condition :
WHERE KNGC01.GCPHLFAC.GNUFAC=1980 AND KNGC01.GCPHLFAC.GNUFAC=1981  
 
Sera fausse quel que soit ta base de donnée.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 09-07-2001 à 17:25:23    

bob2674 a écrit a écrit :

je peux utilsier le numerique?
pour regarder les valeurs du tableau?  




 
O U I !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 09-07-2001 à 17:25:32    

ouais lol je me suis trompe  
mais je peuxs utiliser du numerique?
et comme je parcours les elment du aprcours tu peux faire un exemple stp

Reply

Marsh Posté le 09-07-2001 à 17:58:47    

Je me suis un peu avancé en affirmant que tu pouvais parcourrir ton tableau avec les indice numérique. C'est pas le cas alors que je l'ai toujours cru ! J'ai pas du en avoir besoin en fait.
 
Cela dit, il y a une solution :
 
Eclater ton tableau en deux
 
$k = array_keys( $tabcor );
$v = array_values( $tabcor );
 
$k est un tableau des Clefs, et $v un tableau des valeurs !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 09-07-2001 à 18:32:12    

cela resoud pas mon pb tu as une autre solution?

Reply

Marsh Posté le 10-07-2001 à 08:52:04    

UP

Reply

Marsh Posté le 10-07-2001 à 09:04:58    

Est-ce que tu peux être un peu plus explicite dans l'énoncé de ton problème car une variable avec des . dedans c'est pas posible mais y certainement un autre moyen. Enonce tout ton problème, tes variables et ce à quoi elles correspondent...

Reply

Marsh Posté le 10-07-2001 à 09:24:40    

le problème c'est que j'ai un tableau avec les indices qui on des points. Ces indices je les utilise pour faire une requete derrière  
je voudrias faire des input texte pour que l'utilisateur entre une valeur et pouvoir faire par ex :WHERE KNGC01.GCPHLFAC.GNUFAC=12
si je mets un autre nom de variable il faut que je le puisse retrouver dans mon tableau
as-tu une idée?

Reply

Marsh Posté le 10-07-2001 à 09:40:26    

Le problème c'est qu'on ne comprends pas tout:
 
KNGC01.GCPHLFAC.GNUFAC=12
KNGC01.GCPHLFAC.GNUFAC=1980  
 
KNGC01.GCPHLFAC.GNUFAC c'est un numéro de facture, une année ???
Qu'est-ce que ça représente pour toi "deb.$ind"?
Il est où ton tableau dans tout ça? Quel est le rapport entre ton tableau et ta requête, soit plus explicite!
 
Quel est le but? , donne un exemple pour y voir plus clair.

Reply

Marsh Posté le 10-07-2001 à 09:43:09    

La solution que je t'ai proposée peut etre utilisée pour ton PB.
 
$k = array_keys( $tabcor );  
$v = array_values( $tabcor );  
 
Tu fais ton formulaire comme çà :

Code :
  1. for( $i=0; $i<count($k); $i++ )
  2. {
  3.    echo("$k[$i] entre : " );
  4.    echo("<input type=texte name=tabv1[\"$k[$i]\"]> et " );
  5.    echo("<input type=texte name=tabv2[\"$k[$i]\"]><br>" );
  6. }


 
Tu récupère donc 2 tableaux $tabv1[] et tabv2 avec les mêmes indices que $tabcor[].
 
A toi de voir pour la suite !

 

[edtdd]--Message édité par Mara's dad--[/edtdd]


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 10-07-2001 à 10:10:43    

desole de te derange encore mais comment tu fais après pour recuperer les valeurs entrer dasn la zone de texte

Reply

Marsh Posté le 10-07-2001 à 10:13:01    

for( $i=0; $i<count($k); $i++ )  
{  
   echo $tabv1[$k[$i]]."<br>";  
   echo $tabv2[$k[$i]]."<br>";  
}

Reply

Marsh Posté le 10-07-2001 à 10:25:06    

Merci shinji.
 
Un exemple complet :

Code :
  1. <?php // Fichier t1.php !
  2. // Tableau associatif
  3. $a = array (
  4.     "A.B.C" => 1,
  5.     "D.E.F" => 2,
  6.     "G.H.I" => 3,
  7.     "J.K.L" => 17
  8. );
  9. $k = array_keys( $a );
  10. // Si le formulaire à été soumit
  11. if( isset( $go ) )
  12. {
  13. for( $i=0; $i<count($a); $i++ )
  14. {
  15.      echo($k[$i] . ' entre ' . $tabv1[$k[$i]] . ' et ' . $tabv2[$k[$i]] . "<br>\n" );
  16. }
  17. }
  18. // Affichage du formulaire.
  19. echo("<form method=post action=t1.php>\n" );
  20. for( $i=0; $i<count($a); $i++ )
  21. {
  22.    echo("$k[$i] entre : " );
  23.    echo("<input type=texte name=tabv1[$k[$i]]> et " );
  24.    echo("<input type=texte name=tabv2[$k[$i]]><br>\n" );
  25. }
  26. echo("<input type=submit name=go>\n" );
  27. echo("</form>\n" );
  28. ?>


 
Note la correction sur les inputs : c'est tabv1[$k[$i]] et pas tabv1[\"$k[$i]\"]>  
 
A+

 

[edtdd]--Message édité par Mara's dad--[/edtdd]


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 10-07-2001 à 10:25:59    

rien de s"affiche juste les espaces cela vient de koi?

Reply

Marsh Posté le 10-07-2001 à 10:28:51    

Je sais pas !
 
Montre ton code !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 10-07-2001 à 10:46:08    

j'ai envoye sur ton emial sinon ce serait trop gros ici

Reply

Marsh Posté le 10-07-2001 à 11:02:52    

T'as pas noté la correction ;)
 
Dans les input, C'est tabv1[$k[$i]] et pas tabv1[\"$k[$i]\"]
Et pareil pour tabv2 hein !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 10-07-2001 à 11:11:33    

ah oui en effet j'avais loupe un message  
merci beaucoup à vous deux d'avoir resolu mon problème  
à bientôt   :p

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed