Hulp bij weergeven van query (Mysql) in PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stefan Dona

Stefan Dona

22/11/2015 09:36:37
Quote Anchor link
Ik probeer uit mijn MySQL tabel de laatste 5 waardes uit te lezen en te plaatsen in een Highcharts grafiek,
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)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>


Afbeelding
 
PHP hulp

PHP hulp

16/11/2024 05:24:29
 
Jan de Laet

Jan de Laet

22/11/2015 10:34:05
Quote Anchor link
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 (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
 
Stefan Dona

Stefan Dona

22/11/2015 10:45:30
Quote Anchor link
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.


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.
 
Jan de Laet

Jan de Laet

22/11/2015 11:37:24
Quote Anchor link
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.
 
Stefan Dona

Stefan Dona

22/11/2015 11:51:38
Quote Anchor link
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.


Top! Hij werkt. Hartelijk dank voor je hulp.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.