[RESOLU] un seul caractère affiché dans une chaine array

Mammouth du PHP | 804 Messages

09 juin 2014, 14:56

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

ViPHP
xTG
ViPHP | 7331 Messages

09 juin 2014, 15:43

Un exemple de code ?

Mammouth du PHP | 804 Messages

09 juin 2014, 16:22

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

ViPHP
xTG
ViPHP | 7331 Messages

09 juin 2014, 18:17

#-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à.

Mammouth du PHP | 804 Messages

10 juin 2014, 15:30

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à :)

Mammouth du PHP | 804 Messages

10 juin 2014, 15:37

je viens de comprends la bêtise que je faisais :oops: #-o
merci