If en MySQL

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rick de Jong

Rick de Jong

15/09/2012 23:26:21
Quote Anchor link
Hallo,

Ik wil graag het volgende realiseren wat niet lukt. Het onderstaande bestand wordt iedere dag 1x uitgevoerd als cron. Als een resultaat uit de kolom dagen '0' is, dan wordt hij gereset naar 31. Ik heb nu dit:

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
$datum
     = date("d-m-Y"); // Geeft 15-04-2012

$con = mysql_connect("localhost","***","***");
if (!$con)
  {

  die('Could not connect: ' . mysql_error());
  }


mysql_select_db("***", $con);

$sql4="UPDATE push SET dagen=dagen-1 WHERE id=1";
$sql5= mysql_query("SELECT * FROM push WHERE dagen=0");


if (!mysql_query($sql4,$con))
  {

  die('Mislukt! Error: ' . mysql_error());
  }

echo "- Dag eraf voor push";
echo "<br /><br />";

if (mysql_num_rows($sql5) == 0) {
    $sql6="UPDATE push SET dagen=31 WHERE id=1";
echo "- Push dagen reset naar 31 en aantal naar 300";
}

else {
echo "- Reset nog niet nodig";
}


mysql_close($con)
?>


Waarom werkt dit niet?
Bedankt!
 
PHP hulp

PHP hulp

08/11/2024 14:29:41
 
Obelix Idefix

Obelix Idefix

16/09/2012 09:33:10
Quote Anchor link
Rick de Jong op 15/09/2012 23:26:21:
Waarom werkt dit niet?

Wat werkt er niet?
Krijg je foutmeldingen?
 
Eddy E

Eddy E

16/09/2012 11:14:01
Quote Anchor link
Een UPDATE geeft geen rijen terug. En dus werkt mysql_num_rows() natuurlijk niet.
Tadaa....
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

16/09/2012 11:20:05
Quote Anchor link
Niet moeilijk doen in PHP, gewoon in de query zelf:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
UPDATE push
SET dagen=IF(dagen-1 > 0, dagen-1, 31)
WHERE id = 1
 
Rick de Jong

Rick de Jong

17/09/2012 10:27:38
Quote Anchor link
Dus we doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql4="UPDATE push SET dagen=IF(dagen-1 > 0, dagen-1, 31) WHERE id = 1";
Gewijzigd op 17/09/2012 10:28:03 door Rick de Jong
 
Stefan WM

Stefan WM

17/09/2012 10:44:55
Quote Anchor link
mysql_num_rows() wordt hier op een select uitgevoerd..

Eddy Erkelens op 16/09/2012 11:14:01:
Een UPDATE geeft geen rijen terug. En dus werkt mysql_num_rows() natuurlijk niet.
Tadaa....

 
- Ariën  -
Beheerder

- Ariën -

17/09/2012 10:57:07
Quote Anchor link
Overigens zijn de namen van je variabelen heel slecht gekozen en onduidelijk ;-)

Toevoeging op 17/09/2012 10:57:17:

Overigens zijn de namen van je variabelen heel slecht gekozen en onduidelijk ;-)
 



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.