Bonjour
Je cherche depuis 1 jours et je bloque.
je travail sur une vieille machine en PHP6, vieux soft que je doit un peux modifié.
Avant tous désoler je suis pas trop doué mais ji travail, idem désoler d'avance pour mon Français douteux.

Mon code est :

$bdd = SQL_Query_exec("SELECT * FROM `jeux` WHERE iduser='$id'");
$perso= mysql_fetch_assoc($bdd);
$b1 = array($perso['Amaison']);
print_r($b1);


Ma valeur de Amaison est des chiffre : 1, 2, 3, 45, 85
j'ai aussi tester a mettre des '' entre chaque chiffre mais mon array ne fonctionne pas
Résultat:
Array ( [0] => 1, 2, 3, 45, 85 )


Par contre si j'écris directement le resultat cela sort ce que j'aimerais

$b1 = array(1, 2, 3, 45, 85);
print_r($b1);

mon résultat est ce que j'attend
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 45 [4] => 85 )


Je loupe quoi?
j'ai vraiment besoin d'avoir un array comment faire?

Merci par avance de votre aide
Modifié par djmanu68 (17 Dec 2022 - 18:12)
Modérateur
Salut,

djmanu68 a écrit :

je travail sur une vieille machine en PHP6,


php6 ? Smiley hum

Je pense que tu parles de php 5.56 (dernière sous version de php 5)

djmanu68 a écrit :


$bdd = SQL_Query_exec("SELECT * FROM `jeux` WHERE iduser='$id'");
//...



Cette fonction n'existe pas en vanilla php
djmanu68 a écrit :


$perso= mysql_fetch_assoc($bdd);



PDO ou mysqli_xxx est à prioriser !

djmanu68 a écrit :


$b1 = array($perso['Amaison']);
print_r($b1);


Ma valeur de Amaison est des chiffre : 1, 2, 3, 45, 85
j'ai aussi tester a mettre des '' entre chaque chiffre mais mon array ne fonctionne pas
Résultat:
Array ( [0] => 1, 2, 3, 45, 85 )


Par contre si j'écris directement le resultat cela sort ce que j'aimerais

$b1 = array(1, 2, 3, 45, 85);
print_r($b1);

mon résultat est ce que j'attend
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 45 [4] => 85 )


Je loupe quoi?
j'ai vraiment besoin d'avoir un array comment faire?

Merci par avance de votre aide


Tu encapsules le résultat dans un array (plat). C'est évident que tu as ce résultat.
Apparemment avec cette variable ($perso['Amaison']), tu obtiens une chaîne de caractères que tu souhaites transformer en tableau[^1], alors :

<?php
    $b1 = array_map('intval', explode(',', $perso['Amaison']));
    print_r($b1);
?>


[^1]: explode , intval, array_map
Modifié par niuxe (18 Dec 2022 - 11:03)
Meilleure solution
Bonjour niuxe et merci
Cela fonctionne.

SQL_Query_exec est une fonctione en backend du script qui retourne le resultat

function &SQL_Query_exec ($query) {
	$sql = new SQL_Query ($query);
	return $sql->execute();
}

J'avais tester plusieur foi avec implode(), mais je n'avais jamais eu le résultat que je cherchais
Maintenant il vas faloir que j'étudie cette fonction array_map et ce intval

Et en effet la version PHP Version 5.5.9 je croyais que la machine avais un php6.

Merci pour votre aide et passez de bonne fêtes
Modifié par djmanu68 (18 Dec 2022 - 11:25)