Requête sql dans un tableau

Fermé
malhek69 Messages postés 79 Date d'inscription mardi 6 décembre 2011 Statut Membre Dernière intervention 11 avril 2018 - Modifié par jordane45 le 23/05/2016 à 10:53
jordane45 Messages postés 38365 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 31 décembre 2024 - 23 mai 2016 à 13:38
Bonjour à tous et bon lundi ! ,


Je comprends pas trop pourquoi mais je n'arrive pas à mettre ma requête dans un tableau array. Pour info, voici mon code actuel, j'ai essayé avec du array_push, array, écho de mon array, rien à faire je n'arrive pas à y insérer mes données.
$sql = "SELECT * FROM cdr ORDER BY cdr.channel, cdr.calldate";
$req = mysql_query($sql) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

//$news = '';
// tant qu'il y a un enregistrement, les instructions dans la boucle s'exécutent
while($resultat = mysql_fetch_array($req))


{

//on formate le numero de tel pour qu'il commence par 33 POUR LA FRANCE

if (substr($dataline['dst'], 0 , 4) == '0033')  
        {
                $dataline['dst'] = substr($dataline['dst'], 2);
        }
$dataline['dst'] = preg_replace( "/^0(?=[1-9])/", "33" , $dataline['dst']);


if (substr($dataline['dst'], 0 , 4) == '9933')  
        {
                $dataline['dst'] = substr($dataline['dst'], 2);
        }
$dataline['dst'] = preg_replace( "/^99(?=[1-9])/", "" , $dataline['dst']);


        $sql = "SELECT *, SUM(f.prix_minute* (cdr.billsec/60)) as SUM  FROM trunks t".
" LEFT JOIN clients c ON c.clients_id = t.clients_id".
" LEFT JOIN forfaits f ON c.forfaits_id = f.forfaits_id".
" LEFT JOIN cdr ON c.clients = cdr.channel".
" WHERE cdr.dst LIKE concat(f.prefixe,'%')".
" AND t.nomtrunk LIKE cdr.channel";

$values = mysql_query($sql) or die ('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());


if($values)
{
array($values);
//array_push($linefinal, $finalSumBillSec['billsec']);
$tabComplete[] = $values;
//array_push($tabComplete[],$finalSum);
//$tabComplete[]['sumTotal'] = $final2;
}
var_dump($values);
}



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.


Si quelqu'un peut m'aider...
Merci à tous !
A voir également:

3 réponses

jordane45 Messages postés 38365 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 31 décembre 2024 4 720
23 mai 2016 à 10:54
Bonjour,

Tu as oublié de faire un FETCH....


PS: Attention.. tu utilises une version considérée comme obsolète de mysql.
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

Passes à PDO ou mysqli
1
malhek69 Messages postés 79 Date d'inscription mardi 6 décembre 2011 Statut Membre Dernière intervention 11 avril 2018 3
23 mai 2016 à 13:11
concernant le mysqli je ne le maitrise pas du tout (tout comme mysql et php mais bon)
et mon maître de stage me conseille de rester sur mysql malgré l'obsolescence
0
malhek69 Messages postés 79 Date d'inscription mardi 6 décembre 2011 Statut Membre Dernière intervention 11 avril 2018 3
Modifié par jordane45 le 23/05/2016 à 13:35
du coup j'ai écrit ça:

if($values)
{
mysql_fetch_array($values);
//array_push($linefinal, $finalSumBillSec['billsec']);
$tabComplete[] = $values;
//array_push($tabComplete[],$finalSum);
//$tabComplete[]['sumTotal'] = $final2;
}
var_dump($values);
}


Mais toujours aucune donnée dans mon tableau :/

EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.


Choisis un travail que tu aimes, et tu n'auras pas à travailler un seul jour de ta vie
0
jordane45 Messages postés 38365 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 31 décembre 2024 4 720
Modifié par jordane45 le 23/05/2016 à 13:38
Oula ...
Il faut que tu fasses une BOUCLE sur les éléments retournés par la requête ... et que tu fasses un FETCH sur chacun d'eux....

$tabComplete = array(); //initialisation du tableau
if($values){
  while ($row = mysql_fetch_array($values, MYSQL_NUM)) {
    $tabComplete[] = $row; //on ajoute les données dans le tableau
  }
}

//affichage du contenu du tableau :
print_r($tabComplete);

0