Hulp bij weergeven van query (Mysql) in PHP
zie hieronder.
Echter loop ik tegen het probleem dat met de DSC functie de waardes verkeerd in de grafiek geplaatst worden.
Van links naar rechts. En dit moet zijn van rechts naar links oplopend.
Nu heb ik mij laten vertellen dat dit met een subquery op te lossen is via een ASC functie.
Maar hoe pas ik dit in mijn onderstaande code toe? Niks lijkt te werken en ik krijg een blanco page.
Mijn PHP code;
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$con = mysql_connect("XXX","XXX","XXX");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("temp_database", $con);
$result = mysql_query("SELECT * FROM `tempLog` ORDER BY id DESC LIMIT 5;") or die ("Error");
while($row = mysql_fetch_array($result)) {
echo $row['datetime'] . "/" . $row['temperature']. "/" ;
}
mysql_close($con);
?>
$con = mysql_connect("XXX","XXX","XXX");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("temp_database", $con);
$result = mysql_query("SELECT * FROM `tempLog` ORDER BY id DESC LIMIT 5;") or die ("Error");
while($row = mysql_fetch_array($result)) {
echo $row['datetime'] . "/" . $row['temperature']. "/" ;
}
mysql_close($con);
?>
SELECT * FROM (SELECT * FROM `tempLog` ORDER BY id DESC LIMIT 5) ORDER BY id ASC;
Ik weet alleen niet of id een goed veld is om op te sorteren. Deze waarde hoeft niet perse oplopend te zijn voor nieuwe records. Misschien is beter om een ander veld te nemen (bijv datetime), maar dat ligt eraan wat je precies wilt bereiken.
Maakt voor de oplossing niets uit, gewoon twee keer id vervangen door een ander veld.
Gewijzigd op 22/11/2015 10:43:42 door Jan de Laet
Jan de Laet op 22/11/2015 10:34:05:
Zo?
SELECT * FROM (SELECT * FROM `tempLog` ORDER BY id DESC LIMIT 5) ORDER BY id ASC;
Ik weet alleen niet of id een goed veld is om op te sorteren. Deze waarde hoeft niet perse oplopend te zijn voor nieuwe records. Misschien is beter om een ander veld te nemen, maar dat ligt eraan wat je precies wilt bereiken.
Maakt voor de oplossing niets uit, gewoon twee keer id vervangen door een ander veld.
SELECT * FROM (SELECT * FROM `tempLog` ORDER BY id DESC LIMIT 5) ORDER BY id ASC;
Ik weet alleen niet of id een goed veld is om op te sorteren. Deze waarde hoeft niet perse oplopend te zijn voor nieuwe records. Misschien is beter om een ander veld te nemen, maar dat ligt eraan wat je precies wilt bereiken.
Maakt voor de oplossing niets uit, gewoon twee keer id vervangen door een ander veld.
Bedankt Jan voor je reactie. Alleen als ik jou code gebruik
$result = mysql_query("SELECT * FROM (SELECT * FROM `tempLog` ORDER BY id DESC LIMIT 5) ORDER BY id ASC;") or die ("Error");
Zie ik de grafiek, alleen geen waardes. Dus volledig blanco. Dit heb ik ook met de waardes "datetime" en "temperature" als ik deze vervang voor "id".
ID is PRIMAIRE KEY en AUTO INCREMENT. Het maakt mij ook niet uit waarop er geselecteerd word als het maar de laatste vijf records zijn uit mijn tabel "templog" in juiste volgorde in mijn grafiek.
kleine aanvulling, want mijn 1e query geeft een fout (de subquery heeft een alias A gekregen):
SELECT * FROM (SELECT * FROM `tempLog` ORDER BY datetime DESC LIMIT 5) A ORDER BY A.datetime ASC
Zoals je ziet heb ik veld id ook vervangen door datetime, maar dat is aan jou of je dit wel of niet wilt.
Jan de Laet op 22/11/2015 11:37:24:
Stefan,
kleine aanvulling, want mijn 1e query geeft een fout (de subquery heeft een alias A gekregen):
SELECT * FROM (SELECT * FROM `tempLog` ORDER BY datetime DESC LIMIT 5) A ORDER BY A.datetime ASC
Zoals je ziet heb ik veld id ook vervangen door datetime, maar dat is aan jou of je dit wel of niet wilt.
kleine aanvulling, want mijn 1e query geeft een fout (de subquery heeft een alias A gekregen):
SELECT * FROM (SELECT * FROM `tempLog` ORDER BY datetime DESC LIMIT 5) A ORDER BY A.datetime ASC
Zoals je ziet heb ik veld id ook vervangen door datetime, maar dat is aan jou of je dit wel of niet wilt.
Top! Hij werkt. Hartelijk dank voor je hulp.