Показване на заявката след проверка на датата.?

jooorooo

Registered
значи ето ми кодчето за заявката:

Код:
echo "<div align='center'><a target=\"_new \" href=\"click.php?url=" . $row["url"] . "\">
<img width=\"" . $row["width"] . "\" height=\"" . $row["height"] . "\" src=\"" . $row["image"] . "\" border=0 alt=\"" . $row["text"] . "\">
</a></div>" ;
}

ето формата на датата как го взимам:

Код:
$dnes = date("j.n.Y");

ето и как са ми записани в базата:

$firstdate = $row['firstdate']; - начална дата
$lastdate = $row['lastdate']; - крайна дата.

как ще стане да проверява дали датата е в перйода м-у двете дати и ако е да, тогава да покаже картинката, а ако не е да покаже друга която е в перйода. ето целия код:

Код:
<?php
$dnes = date("j.n.Y");

// Connect to the database
include "inc/config.php";
mysql_connect($db_host,$db_username,$db_password) or die(mysql_error()); 
mysql_select_db($db_name) or die(mysql_error());


// Edit this number to however many links you want displaying
$num_displayed = 1 ;

// Select random rows from the database
$result = mysql_query ("SELECT * FROM links ORDER BY RAND() LIMIT $num_displayed");
{
// For all the rows that you selected
while ($row = mysql_fetch_array($result))

{
$firstdate = $row['firstdate'];
$lastdate = $row['lastdate'];
// Display them to the screen...

echo "<div align='center'><a target=\"_new \" href=\"click.php?url=" . $row["url"] . "\">
<img width=\"" . $row["width"] . "\" height=\"" . $row["height"] . "\" src=\"" . $row["image"] . "\" border=0 alt=\"" . $row["text"] . "\">
</a></div>" ;
}

$id=$row["id"];
mysql_query("UPDATE links SET broi = broi + 1 WHERE id='$id' ");
}
?>

общо взето това ми е за банер системка :) 10х
 
Записвай датата с time() .
Така лесно ще разбереш коя е по стара/нова дата, защото
е цяло число.

Примерно 1231231512323 и 1231231222222.


Просто проверяваш кое число е по голямо и така разбираш дали
едната е по стара дата.
 
ами в заявката трябва да имаш нещо от сорта
SELECT * FROM tbl WHERE firstdate >= '$date' and lastdate <= '$date'
вече зависи как си записал датата в база танни и как я сравняваш , но накратко това е принципа..
в случая ще покаже всичко където firstdate е по-голямо или равно на $date И където lastdate е по-малко или равно на $date
 
ясно а как например да го направя когато се попълва формата и вместо 1 месец да се добави да стане в този формат? примерно попълвам 28.2.2007 как ще се превърне?
 
bafitu пробвах и не стана. датата я записвам във формат dd.m.yyyy

пробвах и така:

Код:
WHERE ((`firstdate` < '$dnes') AND (`lastdate` >' $dnes'))
OR (`firstdate` = '$dnes') OR (`lastdate` = '$dnes')

ТАКА СИ ПОКАЗВА ВСИЧКО, ВСЕ ЕДНО ЧЕ НЯМА НИЩО...
 
Предишният пример ще ти свърши работа, а ако датата е във формат timestamp, вместо $dnes напиши now()
 
WHERE firstdate < now() AND lastdate >now()


С такъв формат на датата работи без проблем: 2006-12-21 19:00:00
 
справих се...

Код:
 WHERE ((`firstdate` < '$dnes') AND (`lastdate` >'$dnes'))

$dnes = time();

мерси на всички... просто скобите били важни... :?
 
jooorooo погледни тук:
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
това са много полезни функций, които е хубаво да прегледаш, след като ти се налага да работиш с дати.
в твоя случай може да ползваш CURDATE(), макар, че подозирам, че полетата с датата не са ти във формат "date", а стринг???

Имам е една забележка към банер системата ти - какво ще правиш ако аз съм ти клиент и искам банера ми да се показва на 20% ??
Всъщност дори да са само два банера на една банер позиция, ти пак не можеш да гарантираш 50 % показване на съответния банер, понеже ползваш random функция. Помисли над този въпрос.
 
Slavei много благодаря за съвета, и непременно ще погледна функциите. Много благодаря.
 

Back
Горе