problem avec tableau array

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problem avec tableau array

par shen » 06 avr. 2006, 11:31

N'ayant toujours pas de réponse , je suppose que personne n'a trouvé de réponse à ma solution!!!

Please aider moi à trouver!!!

sinon avez vous une autre technique pour permettre d'afficher dans un tableau la signification d'une donnée d'une base.

c'est a dire : dans ma base j'ai par exemple F (qui signifie Fax ) et au lieu d'afficher F, j'affiche Fax.

si vous avez des suggestion merci sinon moi que vous aussi ne comprenez pas pourquoi mon truc ne marche pas.

sinon peut etre que c'est sur mon PC que sa marche pas alors peut etre que quelqu'un pourrait tester sur son PC, je lui fournirais mon programme avec une base....

par shen » 05 avr. 2006, 17:41

elseif($i==4)
			{
				$type = $result->fields[$i];
				
				//echo "castype : ".$casTyp["$type"]."<br>";
				if(array_key_exists("$type",$casTyp))
				{
					printf( "\n<td><center>".$casTyp["$type"]."</center></td>\n" );
				}
				else	
				{
					echo $type;
					if($type=="F")
					{
						$type=="FF";
						printf( "\n<td><center>".$casTyp["$type"]."</center></td>\n" );
						echo "nextype:".$type."<br>";
					}
					elseif($type=="I")
					{
						$type=="II";
						printf( "\n<td><center>".$casTyp["$type"]."</center></td>\n" );
					}
					elseif($type=="M")
					{
						$type=="MM";
						printf( "\n<td><center>".$casTyp["$type"]."</center></td>\n" );
					}
					else	printf( "\n<td><center>".$type."</center></td>\n" );
				}
			}
pensant qu'une seule lettre posait probleme alors j'ai émis des conditions pour si par exemple $type=="F" alors je remplacais la valeur de type par "FF"(valeur changé dans mon tableau aussi) mais probleme, mon echo me donne bien F mais mon if($type=="F") ne passe pas et signifie donc que mon $type est différent de F or j'affiche F!!!

Là je ne comprends plus, si vous y comprenez quelque chose, aidez moi MERCI!!!

par shen » 05 avr. 2006, 16:49

j'ai l'impression que que les termes à une lettre (I,F et M) ne sont pas reconnus.
comment faire???

par shen » 05 avr. 2006, 16:34

salut Mario j'ai testé ton bout de programme mais sa donne le meme résultat que pour mon bout de programme, sa ne reconnait pas le I et F (sauf le premier).
FaxF F F F F I I I I I I I I I I I I Hprim DemandeI I I I
sinon Zeus j'affiche $type et je récupère bien à chaque fois F ou I ou HD ou RR.

c'est vraiment très bizarre je ne comprends pas

par mario » 05 avr. 2006, 16:03

$type = 'F';
if ( (isset($type)) && (array_key_exists($type, $casTyp)) ){
   echo $casTyp[$type]; // Fax 
}
else
{
   echo $type;
}

par zeus » 05 avr. 2006, 15:57

$type est bien récupéré dans tout les cas ?

par shen » 05 avr. 2006, 15:52

Ben non il faut les ", c'est sur .j'ai testé quand meme au cas ou et il faut les guillemet.

par mario » 05 avr. 2006, 15:30

Re: problem avec tableau array

par jpaul » 05 avr. 2006, 15:25

A mon avis, les " autour de $type sont en trop !!!
        if(array_key_exists("$type",$casTyp))//si $type existe dans mon tableau
...
	        printf( "\n<td><center>".$casTyp["$type"]."</center></td>\n" );//j'affiche ceux à quoi correspond $type dans le tableau
Essaye :
        if(array_key_exists($type,$casTyp))//si $type existe dans mon tableau
...
	        printf( "\n<td><center>".$casTyp[$type]."</center></td>\n" );//j'affiche ceux à quoi correspond $type dans le tableau

problem avec tableau array

par shen » 05 avr. 2006, 15:11

voilà c'est encore moi avec un autre soucis :
je fais donc un tableau array (excusez moi je ne sais pas si c francais)
<?php
//tableau des différents cas de type Edition
$casTyp = array ( "F"=> "Fax",
"I"=> "Internet Hprim Médecin",
"HD"=> "Hprim Demande",
"M"=> "Hprim Médecin Modem",
"RR"=> "Réception Résultat",
"RD"=> "Réception Demande",
"HR"=> "Envoi Résultat",
"HF"=> "Envoi Facturation",
"RA"=> "Réception Admission");
?>
donc ce que je veux juste faire c'est d'afficher dans mon tableau par exemple "Fax" au lieu de "F":
elseif($i==3)
{
		$type = $resultcc->fields[$i];//je récupère ma données de la base que je mets dans $type
		if(array_key_exists("$type",$casTyp))//si $type existe dans mon tableau 
		        printf( "\n<td><center>".$casTyp["$type"]."</center></td>\n" );//j'affiche ceux à quoi correspond $type dans le tableau
			else	printf( "\n<td><center>".$type."</center></td>\n" );//sinon j'affiche $type
				
}
probleme il ne me trouve pas le "I" et il me trouve uniquement le premier "F", chose très bizarre. Il trouve aussi "HD" et "RR".
Dans ma base de données se trouve 5 cas seulement : "I","F","HD" et "RR", il y a aussi "FD" mais ce cas n'est pas répertorié dans mon tableau.

donc je ne comprends pas pourquoi

espérant que ce ne soit pas une faute bete une fois de plus, je vous remercie de votre aide!!!