par
Sebg76 » 03 avr. 2014, 21:36
Bonjour,
Ma bdd est composée de 3 colonnes
une ffeed avec le nom des sondes (T_Sej, T_Ext...).
une timestamp avec un timestamp datetime.
une avec la valeur de la sonde.
Je souhaite récupérer l'ensemble au format json suivant :
Code : Tout sélectionner
[[1387648232000,21,9,11,49],[1387648232000,21,9,11,40],[1387648232000,21,9,11,40],[1387648232000,21,9,11,40],[1387648232000,21,9,11,40],[1387648232000,21,9,11,40],[1387648232000,21,9,11,40],[1387648232000,21,9,11,40],[1387648232000,21,9,11,40]]
J'ai essayé avec le script suivant :
Code : Tout sélectionner
$sql_date = mysql_query("SELECT DISTINCT UNIX_TIMESTAMP(ftimestamp) AS date
FROM graph
ORDER BY date ASC ");
$sql_tsejour = mysql_query("SELECT fvalue as tsejour,
UNIX_TIMESTAMP(ftimestamp)
FROM graph
WHERE ffeed = 'T_Sejour'
ORDER BY UNIX_TIMESTAMP(ftimestamp) ASC ");
$sql_text = mysql_query("SELECT fvalue as text,
UNIX_TIMESTAMP(ftimestamp)
FROM graph
WHERE ffeed = 'T_Ext'
ORDER BY UNIX_TIMESTAMP(ftimestamp) ASC ");
$sql_tsouf = mysql_query("SELECT fvalue as tsouf,
UNIX_TIMESTAMP(ftimestamp)
FROM graph
WHERE ffeed = 'T_Souf'
ORDER BY UNIX_TIMESTAMP(ftimestamp) ASC ");
$sql_hsejour = mysql_query("SELECT fvalue as hsejour,
UNIX_TIMESTAMP(ftimestamp)
FROM graph
WHERE ffeed = 'H_Sejour'
ORDER BY UNIX_TIMESTAMP(ftimestamp) ASC ");
while($date = mysql_fetch_array($sql_date)) {
$result_date = $date['date']*1000;
while($tsejour = mysql_fetch_array($sql_tsejour)) {
$result_tsejour = $tsejour['tsejour'];
while($text = mysql_fetch_array($sql_text)) {
$result_text = $text['text'];
while($tsouf = mysql_fetch_array($sql_tsouf)) {
$result_tsouf = $tsouf['tsouf'];
while($hsejour = mysql_fetch_array($sql_hsejour)) {
$result_hsejour = $hsejour['hsejour'];
$result [] = array($result_date, $result_tsejour, $result_text, $result_tsouf, $result_hsejour);
}
}
}
}
}
print json_encode($result, JSON_NUMERIC_CHECK);
J'ai bien le format json souhaité mais les valeurs sont fausses, seul la dernière valeur est bonne.
Je fais peut être fausse route avec ce type de script mais je ne sais pas comment faire pour imbriquer mes requetes sql en une seule requete !
Bonjour,
Ma bdd est composée de 3 colonnes
une ffeed avec le nom des sondes (T_Sej, T_Ext...).
une timestamp avec un timestamp datetime.
une avec la valeur de la sonde.
Je souhaite récupérer l'ensemble au format json suivant :
[code][[1387648232000,21,9,11,49],[1387648232000,21,9,11,40],[1387648232000,21,9,11,40],[1387648232000,21,9,11,40],[1387648232000,21,9,11,40],[1387648232000,21,9,11,40],[1387648232000,21,9,11,40],[1387648232000,21,9,11,40],[1387648232000,21,9,11,40]][/code]
J'ai essayé avec le script suivant :
[code]$sql_date = mysql_query("SELECT DISTINCT UNIX_TIMESTAMP(ftimestamp) AS date
FROM graph
ORDER BY date ASC ");
$sql_tsejour = mysql_query("SELECT fvalue as tsejour,
UNIX_TIMESTAMP(ftimestamp)
FROM graph
WHERE ffeed = 'T_Sejour'
ORDER BY UNIX_TIMESTAMP(ftimestamp) ASC ");
$sql_text = mysql_query("SELECT fvalue as text,
UNIX_TIMESTAMP(ftimestamp)
FROM graph
WHERE ffeed = 'T_Ext'
ORDER BY UNIX_TIMESTAMP(ftimestamp) ASC ");
$sql_tsouf = mysql_query("SELECT fvalue as tsouf,
UNIX_TIMESTAMP(ftimestamp)
FROM graph
WHERE ffeed = 'T_Souf'
ORDER BY UNIX_TIMESTAMP(ftimestamp) ASC ");
$sql_hsejour = mysql_query("SELECT fvalue as hsejour,
UNIX_TIMESTAMP(ftimestamp)
FROM graph
WHERE ffeed = 'H_Sejour'
ORDER BY UNIX_TIMESTAMP(ftimestamp) ASC ");
while($date = mysql_fetch_array($sql_date)) {
$result_date = $date['date']*1000;
while($tsejour = mysql_fetch_array($sql_tsejour)) {
$result_tsejour = $tsejour['tsejour'];
while($text = mysql_fetch_array($sql_text)) {
$result_text = $text['text'];
while($tsouf = mysql_fetch_array($sql_tsouf)) {
$result_tsouf = $tsouf['tsouf'];
while($hsejour = mysql_fetch_array($sql_hsejour)) {
$result_hsejour = $hsejour['hsejour'];
$result [] = array($result_date, $result_tsejour, $result_text, $result_tsouf, $result_hsejour);
}
}
}
}
}
print json_encode($result, JSON_NUMERIC_CHECK);[/code]
J'ai bien le format json souhaité mais les valeurs sont fausses, seul la dernière valeur est bonne.
Je fais peut être fausse route avec ce type de script mais je ne sais pas comment faire pour imbriquer mes requetes sql en une seule requete !