Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2011, 16:53   #1
YuZi_2009
Новичок
Джуниор
 
Регистрация: 09.02.2011
Сообщений: 6
По умолчанию Сравнение даты (PHP MYSQL) Нужна идея реализации!

Всем доброго времени суток!
Суть такова: если введённая мною дата в переменную $sdata еще не прошла (включительно) - выводить рисунок ok.png. Если прошла - выводить рисунок no.png
Есть несложный код для реализайии идеи:
файл 1.php:
PHP код:
<?
include '2.php';
img(20110209);
?>
файл 2.php:
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 код:
<?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' и т.д.)

Помогите разобраться или предложите альтернативный вариант!
YuZi_2009 вне форума Ответить с цитированием
Старый 10.02.2011, 16:57   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

дурдом... инклуд с функцией путать....
function опишите в основном теле программы -и там же используйете
ADSoft вне форума Ответить с цитированием
Старый 10.02.2011, 17:48   #3
nec117
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 266
По умолчанию

И у вас инклуд в КАВЫЧКАХ printf. И используйте лучше echo чем printf, и цикл do while тут вообще не нужен. пишите сразу:
Код:
while ($myrow = mysql_fetch_array($result)){ 
img($myrow['date']);
}
ЗАчем вообще тут был прнтф если у вас функция Img сама выводит то что надо? а include "2.php"; пишется без кавычек в начале страницы и НЕ в тебе функции. Выучите хотя бы основы языка.
nec117 вне форума Ответить с цитированием
Старый 10.02.2011, 21:22   #4
YuZi_2009
Новичок
Джуниор
 
Регистрация: 09.02.2011
Сообщений: 6
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
дурдом... инклуд с функцией путать....
function опишите в основном теле программы -и там же используйете
PHP код:
<?php include("bd.php");
include (
"2.php");
$result mysql_query("SELECT date FROM data",$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 код:
<?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)); 

?>

Последний раз редактировалось YuZi_2009; 11.02.2011 в 12:47.
YuZi_2009 вне форума Ответить с цитированием
Старый 10.02.2011, 21:29   #5
YuZi_2009
Новичок
Джуниор
 
Регистрация: 09.02.2011
Сообщений: 6
По умолчанию

Цитата:
Сообщение от nec117 Посмотреть сообщение
И у вас инклуд в КАВЫЧКАХ printf. И используйте лучше echo чем printf, и цикл do while тут вообще не нужен. пишите сразу:
Код:
while ($myrow = mysql_fetch_array($result)){ 
img($myrow['date']);
}
ЗАчем вообще тут был прнтф если у вас функция Img сама выводит то что надо? а include "2.php"; пишется без кавычек в начале страницы и НЕ в тебе функции. Выучите хотя бы основы языка.
Код:
<?php include("bd.php");
include("2.php");
$result = mysql_query("SELECT date FROM data",$db);
$myrow = mysql_fetch_array($result);

while ($myrow = mysql_fetch_array($result))
{ 
img($myrow['date']);
}
?>
В таком варианте из БД вытаскивается только одно значение. (в перспективе у меня будет более ста значений)

ЗА "Инклуд в начале страницы" - Спасибо, что-то я уже доработался... такую мелочь не усёк (итак там много кода уже, а так на одну строку меньше)))

Последний раз редактировалось YuZi_2009; 10.02.2011 в 21:32.
YuZi_2009 вне форума Ответить с цитированием
Старый 11.02.2011, 11:20   #6
nec117
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 266
По умолчанию

Извиняюсь не заметил что опечатолся. Не кавычки в инклудах не нужны, а скобки. и не заметил вашу функцию mysql_fetch_array используйте mysql_fetch_assoc и всё будет
nec117 вне форума Ответить с цитированием
Старый 11.02.2011, 14:55   #7
YuZi_2009
Новичок
Джуниор
 
Регистрация: 09.02.2011
Сообщений: 6
По умолчанию

Цитата:
Сообщение от nec117 Посмотреть сообщение
Извиняюсь не заметил что опечатолся. Не кавычки в инклудах не нужны, а скобки. и не заметил вашу функцию mysql_fetch_array используйте mysql_fetch_assoc и всё будет
Спасибо, эту проблему я уже решил!
Осталась проблема вывода в PRINTF
YuZi_2009 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение форматов даты artemavd БД в Delphi 8 13.10.2010 04:46
Идея реализации скелета класса TwiX Общие вопросы Delphi 11 04.10.2010 19:51
Нужна литература по php, mysql в формате doc или fb2 Arassir Обсуждение статей 1 25.08.2010 16:05
Нужна идея viter.alex Microsoft Office Word 13 06.02.2009 00:07
Сравнение даты и времени Altera Общие вопросы Delphi 2 03.10.2008 09:52