Dit stuk hieronder werkt. Ik wil echter het result alleen van vandaag (WHERE TIME >CURRENT_DATE)

//identify last row

$count = mysql_num_rows(mysql_query("SELECT * FROM readings3")); //gives number of rows

$result = mysql_query("SELECT * FROM readings3 LIMIT ". ($count-1).", 1 ") ; //gives number of last row
if(!$result)
{
echo '{"status":"failure","error":"query mislukt"}';
exit;
}


Wie helpt me met plaatsen van WHERE time> current_date
Na je definiering van de tabel in FROM.
Zie ook de syntax op deze pagina: https://dev.mysql.com/doc/refman/5.6/en/select.html

PS: De MySQL-functies zijn binnenkort uit PHP verwijderd. Verdiep je liever in de MySQLi- of PDO-functies..
Dankje, maar dat werkt niet dwz zoals ik dat deed.
Zou je nogmaals willen kijken.

<?php

// laat de browsers weten dat we JSON data terugsturen
header('Content-Type: application/json');

// Start MySQL Connection

/* Verbinding met de MySQL database maken.*/
$db = mysql_connect("******", "******","*****") or die (mysql_error());

/* Selecteer de database waarop de query gedraaid moet worden.*/
mysql_select_db("******", $db);


if (!$db) {
echo '{"status":"failure","error":"' . mysql_error() . '"}'; // geef ook foutmeldingen terug in JSON
exit;
}

//identify last row

$count = mysql_num_rows(mysql_query("SELECT * FROM readings3")); //gives number of rows

$result = mysql_query("SELECT * FROM readings3 LIMIT ". ($count-1).", 1 ") ; //gives number of last row
if(!$result)
{
echo '{"status":"failure","error":"query mislukt"}';
exit;
}

// omdat er maar één rij opgevraagd wordt is een IF logischer dan een WHILE
if($row = mysql_fetch_array($result)) {

echo '{"status":"success","sum":' . $row['sum'] . '}';

exit;
}

echo '{"status":"failure","error":"Geen informatie gevonden. (tabel readings3 is leeg?)"}';
?>

<?php //kleurtjes tonen
$result = mysql_query("SELECT * FROM readings3 WHERE `time` > CURRENT_DATE() LIMIT ". ($count-1).", 1 ") ;
?>

Zorg ook voor goede foutafhandeling die aangeeft wat er fout gaat met mysql_error().
Nu komt er fout melding te staan Geen informatie gevonden. (tabel readings3 is leeg?) dat is die niet ook niet vandaag.
Hmm... zorg eerst een dat je van die onnodige exit's af bent.
En controleer eerst of je query gelukt is, waarna je je data fetched.
.....
//identify last row

$count = mysql_num_rows(mysql_query("SELECT * FROM readings3 WHERE `time` > CURRENT_DATE()")); //gives number of rows

$result = mysql_query("SELECT * FROM readings3 WHERE `time` > CURRENT_DATE() LIMIT ". ($count-1).", 1 ") ;
if(!$result)
{
echo '{"status":"failure","error":"query mislukt"}';
exit;
}
....

Zo werkt het wel, echter zit het ()probleem ergens anders. Heeft met het vullen van de tabel te maken .
Daar wordt de kolom al opgetelt, dus moet de teller dus resetten.

Bedankt voor de moeite
Allereerst, Ariën zegt niet voor niets dat je moet gaan kijken naar PDO of mysqli. Omdat mysql_connect, mysql_query, mysql_etc functies verwijdert gaan worden uit PHP. Aangezien je daar nog niet op heb gereageerd attendeer ik je hier nog eens op.

Qua structuur, kijk eerst of je query's lukken voordat je dingen gaat doen.

<?php

function jsonfy($status, $data){
return json_encode(['status' => $status, $data]);
}

// laat de browsers weten dat we JSON data terugsturen
header('Content-Type: application/json');

// Start MySQL Connection
/* Verbinding met de MySQL database maken.*/
$db = mysqli_connect("******", "******","*****");

if (!$db) {
echo jsonfy('failure', ['error' => mysqli_error()]);
} else {
if(mysqli_select_db("******", $db)){
if($rsl = mysqli_query("SELECT * FROM readings3")){
$count = mysqli_num_rows($rsl);

if($count > 1 ){
if($rsl = mysqli_query("SELECT * FROM readings3 LIMIT ". ($count-1).", 1 ")){
if($row = mysqli_fetch_array($rsl)){
echo jsonfy('success', ['sum' => $row['sum']]);
} else {
// whoops, empty row? How could this be!!
echo jsonfy('failure', ['error' => 'Geen informatie gevonden. (tabel readings3 is leeg?)']);
}
} else {
echo jsonfy('failure', ['error' => 'query mislukt']);
}
} else {
echo jsonfy('failure', ['error' => 'Tabel is leeg of heeft maar 1 row']);
}
}
} else {
// Could not select database.
}
}

?>

Deze code is ongetest, en aangezien ik niet werk met mysqli durf ik niet met zekerheid te zeggen of alle mysql functies gewoon een i erachter kunnen hebben ja of nee.
Maar waar het hier vooral om ging is dat je een bepaalde structuur aan moet houden en die en exit alleen gebruiken als het echt nodig is.

In jouw code staat er aan het begin bij jouw database verbinding, Als het niet lukt, stop script. Daaronder ga je pas kijken of $db niet leeg is, en zo wel een foutmelding proberen uit te printen terwijl het script allang al gestopt is.

Daarbij moet je uitkijken met JSON code hard-coded in jouw script te zetten, nergens voor nodig. Het maakt het onoverzichtelijk en je hoeft maar een te commatje vergeten en het werkt meteen niet meer. Ik heb er maar een simpel functie voor geschreven en dacht dat het hier mee zou werken, maar alles ongetest..



Bedankt voor het onderstrepen van PDO en MYSQLI.
Daar heb ik al helemaal geen kaas van gegeten.
Komt wellicht nog.
Zoals ik hierboven al schreef werkt het script wel echter wil ik een aanpassing doen.
Maar dat moet dan wel voor dat het de database ingeslingerd wordt , zag ik aan de waarde.

Bedankt voor de snelle reacties.
Ik zou wel haast maken met de overstap naar MySQLi. Want in PHP 7 zullen de oude functies die jij gebruikt niet meer werken. Het zal nog enkele jaren zijn dat PHP 5.4 en PHP 5.5 (PHP6 bestaat niet) ondersteund worden, en dan is het echt over en uit met die functies.
Ander vraagje, zijn er misschien conversie programma's? (vraag zonder eerst google te hebben geraadpleegd) Ja dus net gevonden eens zien wat er gebeurd.

Reageren