tek liste işler şimdiki zaman if>

3 Cevap php

Ben dolmamış bir veritabanındaki tüm kayıtları listelemek için çalışıyorum.

i, geliştirilmekte olan bir iş listeleme site var i veritabanındaki tüm 'etkin' iş detayları kapmak ve dışarı listelemek için kodu var.

$mysql = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or die('There was a problem connecting to the database');
$stmtJ = $mysql->prepare('SELECT id,jobtitle,vcref,jobtype,jobintro,closingdate FROM jobs WHERE active = 1');

$stmtJ->execute();
$stmtJ->store_result();
$stmtJ->bind_result($id,$jobtitle,$vcref,$jobtype,$jobintro,$closingdate);
$totalLiveJobs = $stmtJ->num_rows();

ve böylece gibi outputted:

<?php
while($row = $stmtJ->fetch()) :
echo("<p>job detail here</p>");
endwhile; 
?>

ve i de var, bir iş (yani dolduğunda eğer göstermek olmamalı 'şimdi $' den büyüktür {tarih yyyy-aa-gg sona ermesini} süresi dolmuş ya da henüz olmadığını pasajı görmek için 'deyimi if'.

$expires = date('Y-m-d-H-i-s',strtotime("$closingdate 12:00:00"));

$now = date('Y-m-d-H-i-s');


if ($expires < $now) {

echo ("<h3>Live Jobs Here</h3> $expires");

} else {

echo ("<h3>Job Expired</h3> $now");

}

Ancak, ana hedefi henüz dolmamış tüm işleri olmak ile birlikte iki birleştirilmesi sorunları yaşıyorum sayfasında görünecek, zaman aşımına uğramış herhangi bir iş sayfada gösterilen olmamalıdır.

Ben daha fazla bilgi için her istekleri en kısa sürede ben olabildiğince cevap vereceğiz, burada herhangi bir yardım karşılama saçımı çekerek duyuyorum.

önceden thx

3 Cevap

veritabanı yapısına bağlı olarak, yapabileceği

SELECT * FROM jobs WHERE active = 1 AND closingdate >= NOW()

Sen UNION ile aynı döndü sütunlara sahip olduğunu birlikte iki SQL sorgusu sonuçları birleştirebilirsiniz.

Daha buraya bakın: W3C Okullar: SQL Union.

Tüm veriler tek bir tablo içinde depolanan Eğer bu sorguyu kullanabilirsiniz:

SELECT id,jobtitle,vcref,jobtype,jobintro,closingdate 
FROM jobs 
WHERE CONCAT(closingdate, ' 12:00:00') > '{$mysql_timestamp}' AND active = 1

Not: mysql damgası biçimi

date('Y-m-d H-i-s')

Ayrıca sen ancak hosting yere bağlı olarak web izleyici farklı saat dilimi olabilir, NOW () fonksiyonu yerleşik kullanabilirsiniz.