Page 1 sur 1

un seul caractère affiché dans une chaine array

Posté : 09 juin 2014, 14:56
par dogmongo
Bonjour,

j'ai remarqué que je reproduisais souvent la même erreur de codage, après avoir crée des tableaux associatifs, au moment de les afficher je n'obtiens que la première lettre de cette chaîne ?
quelle pourrai en être la raison d'après vous ?

merci d'avance

Re: un seul caractère affiché dans une chaine array

Posté : 09 juin 2014, 15:43
par xTG
Un exemple de code ?

Re: un seul caractère affiché dans une chaine array

Posté : 09 juin 2014, 16:22
par dogmongo
oui
	while($lignes=$select->fetch(PDO::FETCH_OBJ))
	{

    $DB_ID = $lignes->id;
    $Table_chien_par_ID[$DB_ID]  = $lignes->id;
    $DB_dog_nom[$DB_ID] = $lignes->dog_nom;
    $Ref_pere[$DB_ID] = $lignes->dog_pere;
    $Ref_mere[$DB_ID] = $lignes->dog_mere;
$Photo[$DB_ID] = $lignes->photo;

	}
	
	$A1 = $DB_dog_nom[$Ref_pere[$id]] ; // OK
	$A2 = $DB_dog_nom[$Ref_mere[$id]] ; // OK
		
	$pere_id = array_search($Ref_pere[$id],$Table_chien_par_ID);
    $mere_id = array_search($Ref_mere[$id],$Table_chien_par_ID);
	
(isset($Photo[$pere_id]))? $pA1 = "<a href='".$Photo[$pere_id]."'  rel=\"example_group\" ><img src='".$Photo[$pere_id]."' width='50'></a>" : $pA1 ="" ; // OK
(isset($Photo[$mere_id]))? $pA2 = "<a href='".$Photo[$mere_id]."'  rel=\"example_group\" ><img src='".$Photo[$mere_id]."' width='50'></a>" : $pA2 ="" ; // OK
	
    $pere_pere_id = array_search(isset($Ref_pere[$pere_id]),$Table_chien_par_ID);   // 1
    $mere_pere_id = array_search(isset($Ref_mere[$pere_id]),$Table_chien_par_ID);   // 2
    $pere_mere_id = array_search(isset($Ref_mere[$mere_id]),$Table_chien_par_ID);   // 3
    $mere_mere_id = array_search(isset($Ref_pere[$mere_id]),$Table_chien_par_ID);   // 4

(isset($Photo[$pere_pere_id]))? $pb1="<a href='".$Photo[$pere_pere_id]."'  rel=\"example_group\" ><img src='".$Photo[$pere_pere_id]."' width='50'></a>" : $pb1 ="" ; // OK
(isset($Photo[$mere_pere_id]))? $pb2="<a href='".$Photo[$mere_pere_id]."'  rel=\"example_group\" ><img src='".$Photo[$mere_pere_id]."' width='50'></a>" : $pb2 ="" ; // OK
(isset($Photo[$mere_mere_id]))? $pb3="<a href='".$Photo[$mere_mere_id]."'  rel=\"example_group\" ><img src='".$Photo[$mere_mere_id]."' width='50'></a>" : $pb3 ="" ; // OK
(isset($Photo[$pere_mere_id]))? $pb4="<a href='".$Photo[$pere_mere_id]."'  rel=\"example_group\" ><img src='".$Photo[$pere_mere_id]."' width='50'></a>" : $pb4 ="" ; // OK

	$B1 = isset($DB_dog_nom[isset($Ref_pere[$pere_id])]) ; 
	$B2 = isset($DB_dog_nom[isset($Ref_mere[$pere_id])]) ; 
	$B3 =  isset($DB_dog_nom[isset($Ref_pere[$mere_id])] ); 
	$B4 =  isset($DB_dog_nom[isset($Ref_mere[$mere_id])]) ; 
	
    $chien1_id = array_search(isset($Ref_pere[$pere_pere_id]),$Table_chien_par_ID);
    $chien2_id = array_search(isset($Ref_mere[$pere_pere_id]),$Table_chien_par_ID);
    $chien3_id = array_search(isset($Ref_pere[$mere_pere_id]),$Table_chien_par_ID);
	$chien4_id = array_search(isset($Ref_mere[$mere_pere_id]),$Table_chien_par_ID);
    $chien5_id = array_search(isset($Ref_pere[$mere_mere_id]),$Table_chien_par_ID);
    $chien6_id = array_search(isset($Ref_mere[$mere_mere_id]),$Table_chien_par_ID);
    $chien7_id = array_search(isset($Ref_pere[$pere_mere_id]),$Table_chien_par_ID);
    $chien8_id = array_search(isset($Ref_mere[$pere_mere_id]),$Table_chien_par_ID);
	
(isset($Photo[$chien1_id]))? $pc1 ="<a href='".$Photo[$chien1_id]."'  rel=\"example_group\" ><img src='".$Photo[$chien1_id]."' width='50'></a>" : $pc1 ="" ; // OK
(isset($Photo[$chien2_id]))? $pc2 ="<a href='".$Photo[$chien2_id]."'  rel=\"example_group\" ><img src='".$Photo[$chien2_id]."' width='50'></a>" : $pc2 ="" ; // OK
(isset($Photo[$chien3_id]))? $pc3 ="<a href='".$Photo[$chien3_id]."'  rel=\"example_group\" ><img src='".$Photo[$chien3_id]."' width='50'></a>" : $pc3 ="" ; // OK
(isset($Photo[$chien4_id]))? $pc4 ="<a href='".$Photo[$chien4_id]."'  rel=\"example_group\" ><img src='".$Photo[$chien4_id]."' width='50'></a>" : $pc4 ="" ; // OK	
(isset($Photo[$chien5_id]))? $pc5 ="<a href='".$Photo[$chien5_id]."'  rel=\"example_group\" ><img src='".$Photo[$chien5_id]."' width='50'></a>" : $pc5 ="" ; // OK
(isset($Photo[$chien6_id]))? $pc6 ="<a href='".$Photo[$chien6_id]."'  rel=\"example_group\" ><img src='".$Photo[$chien6_id]."' width='50'></a>" : $pc6 ="" ; // OK
(isset($Photo[$chien7_id]))? $pc7 = "<a href='".$Photo[$chien7_id]."'  rel=\"example_group\" ><img src='".$Photo[$chien7_id]."' width='50'></a>" : $pc7 ="" ; // OK
(isset($Photo[$chien8_id]))? $pc8 = "<a href='".$Photo[$chien8_id]."'  rel=\"example_group\" ><img src='".$Photo[$chien8_id]."' width='50'></a>" : $pc8 ="" ; // OK
	
	
    $C1 = $DB_dog_nom[isset($Ref_pere[$pere_pere_id])] ; 
    $C2 = $DB_dog_nom[isset($Ref_mere[$pere_pere_id])] ; 
    $C3 = $DB_dog_nom[isset($Ref_pere[$mere_pere_id])] ; 
    $C4 = $DB_dog_nom[isset($Ref_mere[$mere_pere_id])] ; 
    $C5 = $DB_dog_nom[isset($Ref_pere[$mere_mere_id])] ; 
    $C6 = $DB_dog_nom[isset($Ref_mere[$mere_mere_id])] ; 
    $C7 = $DB_dog_nom[isset($Ref_pere[$pere_mere_id])] ; 
    $C8 = $DB_dog_nom[isset($Ref_mere[$pere_mere_id])] ;
 



merci de ton aide

Re: un seul caractère affiché dans une chaine array

Posté : 09 juin 2014, 18:17
par xTG
#-o
array_search(isset($Ref_pere[$pere_id]),$Table_chien_par_ID);
Il fait quoi ici ce isset ? Cette fonction sert à tester l'existence d'une variable.
Donc si elle existe c'est remplacé par :
array_search(true ,$Table_chien_par_ID);
autrement dit rechercher la valeur true dans l'array...
$B1 = isset($DB_dog_nom[isset($Ref_pere[$pere_id])]) ; 
???
$B1 est un booléen au final, pas sûr que cela soit ce que tu souhaites. ;)

A mon avis tu veux trop jouer avec les conditions ternaires sans savoir les maîtriser ce qui abouti à des codes incohérents comme ceux là.

Re: un seul caractère affiché dans une chaine array

Posté : 10 juin 2014, 15:30
par dogmongo
j'en prends bonne note, merci e ton aide #-o

mais je vais quand même t'expliquer pourquoi je fais ça, j'ai depuis peu modifié mon comportement de programmation, je mets le Registre global OFF , safe mode OFF et surtout j'affiche la moindre erreur, et très souvent pour supprimer des erreurs de déclaration que je ne comprends pas forcement je suis obligé de faire un test sur variable.
et bien souvent un simple isset me fais disparaître l'erreur

voilà :)

Re: un seul caractère affiché dans une chaine array

Posté : 10 juin 2014, 15:37
par dogmongo
je viens de comprends la bêtise que je faisais :oops: #-o
merci