[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сравнение даты (PHP MYSQL) Нужна идея реализации!
YuZi
Всем доброго времени суток!
Суть такова: если введённая мною дата в переменную $sdata еще не прошла (включительно)

-выводить рисунок ok.png. Если прошла - выводить рисунок no.png
Есть несложный код для реализайии идеи:
файл 1.php:
<?
include '2.php';
img(20110209);
?>


файл 2.php:
<?php
function
img($sdata)
{

$date = date("Ymd");

if ($date <= $sdata)
{
print '<img src=images/ok.png>';
}
else
{
print '<img src=images/no.png>';
}
}

?>


НО! вводить вручную давно уже никому не интерестно(тем более что это быдет цикл DO WHILE),

будем вытаскивать значение переменной $sdata из БД.
Итак, вытаскиваем значение переменной $sdata из БД:

Изменяем файл 1.php:

<?php include("bd.php");

$result = mysql_query("SELECT date FROM tablica",$db);
$myrow = mysql_fetch_array($result);

do
{
printf ("

include '2.php';
img(%s);
"
,$myrow["date"]);

}
while ($myrow = mysql_fetch_array($result));

?>


И тут я сталкиваюсь с проблемой и нуждаюсь в Вашей помощи!
Почему все данные в цикле DO WHILE выводятся как текст, а не идет подключение к файлу 2.php

(include '2.php'), не срабатывает функция ??? (П.С. переменные из БД вытаскиваются правельно

в формате '20010215','20010205','20010210' и т.д.)

Помогите разобраться или предложите альтернативный вариант!



Спустя 16 минут, 4 секунды (10.02.2011 - 17:17) linker написал(а):
Разобраться поможет адекватная книга по PHP, а не курсы Попова.

Спустя 19 часов, 10 минут, 27 секунд (11.02.2011 - 12:27) YuZi написал(а):
Цитата (linker @ 10.02.2011 - 14:17)
Разобраться поможет адекватная книга по PHP, а не курсы Попова.

Что касается Попова, то он молодец, с точки зрения как он ведет свой бизнес, у него правельный подход к зароботку и группа программистов у не неплохах!
Его курсы подробны, наглядны и разборчивы - то что надо для таких новичков как я.
Ведь и поснавленая мною задача из разряда любителей, просто навести меня на правельный синтаксис.

Спустя 2 минуты, 20 секунд (11.02.2011 - 12:30) YuZi написал(а):
А если уже Вы с первого взгляда поняли что это курс Попова, значит вы его тоже прошли! (а может и неоднократно). так что не наговаривайте на вашего первого он-лайн учителя ))

Спустя 3 минуты, 54 секунды (11.02.2011 - 12:33) Guest написал(а):
Лучше предложите вариант исправления, или предложите альтернативный!
П.С. include '2.php'; уже иправил на include ("2.php"); и вынес его в шапку кода.

Спустя 8 минут, 1 секунда (11.02.2011 - 12:41) inpost написал(а):
В мою подпись и учись!

Спустя 17 минут, 25 секунд (11.02.2011 - 12:59) linker написал(а):
YuZiСлава богам, что про Попова я узнал только на этом сайте. Тут же научился выделять его ересь.
<?php 
include("bd.php");
include("2.php");
$nowdate = date('Ymd');
$result = mysql_query("SELECT `date` FROM `tablica`",$db);
while($myrow = mysql_fetch_array($result))
img($myrow['date'], $nowdate);

?>

<?php
function
img($sdate, $nowdate)
{
echo ($nowdate <= $sdate) ? '<img src="images/ok.png">' : '<img src="images/no.png">';
}
?>

Спустя 1 час, 39 минут, 10 секунд (11.02.2011 - 14:38) YuZi написал(а):
Цитата (inpost @ 11.02.2011 - 09:41)
В мою подпись и учись!

Извените, вы ошиблись, тема: "САКРАЗМ" на следующей страницы, а тут мы говорим по делу.

Спустя 5 минут, 24 секунды (11.02.2011 - 14:43) linker написал(а):
YuZi
Тебе правильно сказали, учись лучше по нормальным книгам и курсам. Попов ничему полезному и правильному не учит, а только деньги с вас наивных гребет, как ты правильно заметил - он бизнесмен, а не программист, а потому чему он может вас научить?

Спустя 4 минуты, 36 секунд (11.02.2011 - 14:48) YuZi написал(а):
linker Спасибо!

Эту проблему я решил иным способом (может более грамостким):

<?php include("bd.php"); 

$result = mysql_query("SELECT date FROM tablica",$db);
$myrow = mysql_fetch_array($result);

do
{
$date = date("Ymd");
echo("дата сегодня: $date<br>");
echo $myrow['date'];
echo '<br>';

if ($date <= $myrow['date'])
{
print '<img src=images/ok.png>';
}
else
{
print '<img src=images/no.png>';
}
}

while ($myrow = mysql_fetch_array($result));

?>


Осталась последняя проблема:
все работает в отдельном случае, но когда вствляю в основной код где надо выводить большое кол-во текста проблема вывода как текст остаётся:

<?php include("bd.php");  

$result = mysql_query("SELECT date FROM tablica",$db);
$myrow = mysql_fetch_array($result);

do
{
printf ("

/*МНОГО-МНОГО ТЕКСТА, форм и т.д*/


$date = date("Ymd");
echo("
дата сегодня: $date<br>");
$sdata = %s;
echo
$sdata;

if (
$date <= $sdata)
{
print '<img src=images/ok.png>';
}
else
{
print '<img src=images/no.png>';
}

/*МНОГО-МНОГО ТЕКСТА, форм и т.д*/

"
,$myrow["date"]); /*и куча значений кот. вытаскиваются из БД*/


}
while ($myrow = mysql_fetch_array($result));

?>




обработка IF выводит как текст, как сделать чтобы вся функция IF:
$date = date("Ymd"); 
echo("дата сегодня: $date<br>");
$sdata = %s;
echo $sdata;

if ($date <= $sdata)
{
print '<img src=images/ok.png>';
}
else
{
print '<img src=images/no.png>';
}

/*МНОГО-МНОГО ТЕКСТА, форм и т.д*/


выводила результат???

Спустя 2 минуты, 43 секунды (11.02.2011 - 14:51) YuZi написал(а):
Цитата (linker @ 11.02.2011 - 11:43)
YuZi
Тебе правильно сказали, учись лучше по нормальным книгам и курсам. Попов ничему полезному и правильному не учит, а только деньги с вас наивных гребет, как ты правильно заметил - он бизнесмен, а не программист, а потому чему он может вас научить?

вто что я многго еще не знаю в ПХП я не отрицаю, но ведь поставленая перед мною задача не сложна и нуждаюсь в помощи, поэтому и создал эту тему

Спустя 6 минут, 4 секунды (11.02.2011 - 14:57) linker написал(а):
YuZi
У тебя проблема, я дал тебе правильное решение, ты же переписал все обратно в поповский, нерабочий код. Просишь помощи, так принимай ее.

Спустя 8 минут, 58 секунд (11.02.2011 - 15:06) YuZi написал(а):
Цитата (linker @ 11.02.2011 - 11:57)
YuZi
У тебя проблема, я дал тебе правильное решение, ты же переписал все обратно в поповский, нерабочий код. Просишь помощи, так принимай ее.

Я не пойму что тут происходит? Война Попова (в которой я его адвокат и защищаю его права?) против учеников ПХП?

Пусть код будет который предложили Вы! НО он тоже выводится как текст в функции PRINTF:

<?php include("bd.php");

$result = mysql_query("SELECT date FROM tablica",$db);
$myrow = mysql_fetch_array($result);

do
{
printf ("

/*МНОГО-МНОГО ТЕКСТА, форм и т.д*/


include("bd.php");
include("2.php");
$nowdate = date('Ymd');
$result = mysql_query("SELECT `date` FROM `tablica`",$db);
while($myrow = mysql_fetch_array($result))
img($myrow['date'], $nowdate);

?>

<?php
function img($sdate, $nowdate)
{
echo ($nowdate <= $sdate) ? '<img src="images/ok.png">' : '<img src="images/no.png">';
}


/*МНОГО-МНОГО ТЕКСТА, форм и т.д*/

",$myrow["date"]); /*и куча значений кот. вытаскиваются из БД*/


}
while ($myrow = mysql_fetch_array($result));

?>

Вопрос: чем заменить ф-цию PRINTF что бы программа выводила правельный результат?

Спустя 26 секунд (11.02.2011 - 15:06) Dron19 написал(а):

echo("дата сегодня: $date<br>");
echo $myrow['date'];
echo '<br>';

Это ужас!!! Как так можно??? Это не грамотно, скобки тоже не нужно ставить при условии, если выполняется только одно действие. Ппц. Тебе же сказали перейти по ссылке и читать там, нет ты опять за свое, че все ученики Попова так его любят? Скоро любовные письма ему будете слать

Спустя 25 секунд (11.02.2011 - 15:07) Guest написал(а):
против учеников ПХП? = против учеБников ПХП?
Опечаточка ))

Спустя 2 минуты, 8 секунд (11.02.2011 - 15:09) YuZi написал(а):
Цитата (Dron19 @ 11.02.2011 - 12:06)

echo("дата сегодня: $date<br>");
echo $myrow['date'];
echo '<br>';

Это ужас!!! Как так можно??? Это не грамотно, скобки тоже не нужно ставить при условии, если выполняется только одно действие. Ппц. Тебе же сказали перейти по ссылке и читать там, нет ты опять за свое, че все ученики Попова так его любят? Скоро любовные письма ему будете слать

Предлагаю закрыть тему "ПОПОВ - молодец! Все новечки - дауны!"
если можно по сути дела, если нет желания помочь - не помогайте!

Спустя 22 секунды (11.02.2011 - 15:09) Dron19 написал(а):
тебе же сказали, его код работать будет, только его на раз два поломают! Это первое, а второе заключается в том, что его код не грамотно написан и работает медленней! Ты просишь помощи, хочешь научиться, мы тебя направляем на правильный путь, а ты отрекаешься, это все равно что доказывать что 2 + 2 = 35
Тут много опытных людей, я в том числе (Я себя не расхваливаю) и посмотрев на код предложенный Поповым, сразу видно его знание

Спустя 1 минута, 19 секунд (11.02.2011 - 15:10) Dron19 написал(а):
мы тебе и так всеми силами пытаемся помочь. Но ты не хочешь как хочешь... Учись по урокам Попова, только потом можешь поискать тесты по РНР и проверить себя. 100% результат будет не очень и на работу вряд ли кто-то возьмет

Спустя 30 секунд (11.02.2011 - 15:11) Dron19 написал(а):
в общем думай сам

Спустя 1 минута, 58 секунд (11.02.2011 - 15:13) YuZi написал(а):
Цитата (Dron19 @ 11.02.2011 - 12:09)

Тут много опытных людей, я в том числе (Я себя не расхваливаю) и посмотрев на код предложенный Поповым, сразу видно его знание

Предложите не ПОПОВСКИЙ вариант решения задачи. Буду благодарин!

Спустя 1 минута, 22 секунды (11.02.2011 - 15:14) Guest написал(а):
Цитата (Dron19 @ 11.02.2011 - 12:11)
в общем думай сам

Спасибо за понимание!

Спустя 15 минут, 19 секунд (11.02.2011 - 15:30) linker написал(а):
YuZi
Я тебе написал как правильно. Что не так? Что не понятно? Тебе говорят: "Поповский код не работает", - значит он не работает, смотри на то, что тебе предоставили, переписывай, вникай и думай своей головой. Я тебе даже повторю
1.php
-----
<?php
include("bd.php");
include("2.php");
$nowdate = date('Ymd');
$result = mysql_query("SELECT `date` FROM `tablica`",$db);
while($myrow = mysql_fetch_array($result))
img($myrow['date'], $nowdate);

?>

2.php
-----
<?php
function
img($sdate, $nowdate)
{
echo ($nowdate <= $sdate) ? '<img src="images/ok.png">' : '<img src="images/no.png">';
}
?>

Спустя 12 минут, 5 секунд (11.02.2011 - 15:42) inpost написал(а):
Если не понимаешь, то объясняю.
Твой код выглядит так:
НАПИСАТЬ СТРОКУ ("
include();
",и подставить значения в места %s). - всё, что находится внутри слова "НАПИСАТЬ" - пишется, а не обрабатывается как пхп-код.

Спустя 21 час, 22 минуты, 8 секунд (12.02.2011 - 13:04) Guest написал(а):
Цитата (inpost @ 11.02.2011 - 12:42)
Если не понимаешь, то объясняю.
Твой код выглядит так:
НАПИСАТЬ СТРОКУ ("
include();
",и подставить значения в места %s). - всё, что находится внутри слова "НАПИСАТЬ" - пишется, а не обрабатывается как пхп-код.

Понял! сейчас пишу код без использования PRINTF
СПАСИБО )))
+1

Спустя 3 дня, 1 час, 15 минут, 15 секунд (15.02.2011 - 14:19) YuZi написал(а):
Цитата (linker @ 11.02.2011 - 12:30)
YuZi
Я тебе написал как правильно. Что не так? Что не понятно? Тебе говорят: "Поповский код не работает", - значит он не работает, смотри на то, что тебе предоставили, переписывай, вникай и думай своей головой. Я тебе даже повторю
1.php
-----
<?php
include("bd.php");
include("2.php");
$nowdate = date('Ymd');
$result = mysql_query("SELECT `date` FROM `tablica`",$db);
while($myrow = mysql_fetch_array($result))
img($myrow['date'], $nowdate);

?>

2.php
-----
<?php
function
img($sdate, $nowdate)
{
echo ($nowdate <= $sdate) ? '<img src="images/ok.png">' : '<img src="images/no.png">';
}
?>

Спасибо +1

Спустя 1 год, 3 месяца, 27 дней, 8 часов, 57 минут, 39 секунд (14.06.2012 - 22:17) Фибер Оптик написал(а):
Здравствуйте, господа программисты!
Не стал открывать новую тему, т.к можно сказать эта схожа с моей проблемой:
И так....
Есть БД, в которых лежат даты.
Мне надо составить ткой запрос к БД, чтоб у меня вывелись все даты следующие за текущей (включая и текущую).

Делаю так:
$date_party = mysql_query ('select `date`, `party` from `dateparty` where date > NOW()',$db); 

Всё отлично работает, кроме того, что текущая дата не учитывается. ">=" тоже не помогает.

Как ещё в запросе можно сравниваь даты?

Спасибо.

Спустя 14 часов, 56 минут, 39 секунд (15.06.2012 - 13:13) AlexanderC написал(а):
Если дэйт хранится как дэйттайм, то юзай CURDATE() вместо NOW()

Спустя 8 минут, 59 секунд (15.06.2012 - 13:22) Фибер Оптик написал(а):
Супер, огромное спасибо.
Не знал про эту функцию.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.