Искам да си направя един cronjob, който да се изпълнява всеки час и да изтрива записи ( в случая поръчки ), които не са платени.
Това успях да измисля като заявка, която да провери дали има неплатени през последния час и работи
Опитах нещо такова, но не разбирам как точно да направя delete заявката и условието
Това успях да измисля като заявка, която да провери дали има неплатени през последния час и работи
Код:
SELECT *
FROM orders
LEFT JOIN payments ON orders.order_id = payments.orderID
WHERE orders.created_at < DATE_SUB( CURDATE( ) , INTERVAL 1 HOUR )
AND payments.processed IS NULL
Опитах нещо такова, но не разбирам как точно да направя delete заявката и условието
Код:
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$select = "SELECT *
FROM orders
LEFT JOIN payments ON orders.order_id = payments.orderID
WHERE orders.created_at < DATE_SUB( CURDATE( ) , INTERVAL 1 HOUR )
AND payments.processed IS NULL ";
$conn->exec($select);
if( )
{
// sql to delete a record
}
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}