Requête sql dans un tableau
malhek69
Messages postés
75
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
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.
Si quelqu'un peut m'aider...
Merci à tous !
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 !
3 réponses
-
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
-
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 -
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);