Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как избавиться от частых <?php и ?>
 
 автор: dina   (26.02.2006 в 19:10)   письмо автору
 
 

можно ли написать код по-другому без частого использования <? ?>

<SELECT  name=DD_Month> 
                <?  for ($i=1;$i=10;$i++)
      {
?>
                  
      <OPTION value=<? $i ?> selected>  <?php 
setlocale
(LC_ALL'ru_RU.CP1251');
print 
strftime('%d  %B(%a)');?> </OPTION> 
            <?    }  ?>
                  </SELECT> 

   
 
 автор: Dimon.st   (26.02.2006 в 19:21)   письмо автору
 
   для: dina   (26.02.2006 в 19:10)
 

я бы сказал:
<?
$q="<SELECT name=DD_Month>";
for ($i=1;$i<10;$i++)
{$q.="<OPTION value='$i' selected>".strftime('%d %B(%a)')."</OPTION>";}
$q.="</SELECT>";

print $q;
?>
но меня смущают три аспекта в вашем коде:
1.

for ($i=1;$i=10;$i++) 
- это бесконечный цикл
2.

setlocale(LC_ALL, 'ru_RU.CP1251'); 
-нужность этой функции в цикле
3. смысл кода

   
 
 автор: dina   (26.02.2006 в 19:49)   письмо автору
 
   для: Dimon.st   (26.02.2006 в 19:21)
 

код еще не доработан
1.цикл нужен для того чтобы выводить даты с текущей даты до +10 дней
2.это функция, чтобы писала текущую дату локали по русски
3.смысл кода: выпадающий списк дат начиная с текущей

   
 
 автор: Sergey89   (26.02.2006 в 20:00)   письмо автору
 
   для: dina   (26.02.2006 в 19:49)
 

у вас получается бесконечный цикл. Вы упустили знак <. Локаль можно установить один раз, в начале скрипта.

   
 
 автор: Dimon.st   (26.02.2006 в 20:05)   письмо автору
 
   для: Sergey89   (26.02.2006 в 20:00)
 


setlocale(LC_TIME, 'ru_RU'); 

$q="<SELECT name=DD_Month>";
$time=mktime();
for($i=0;$i<10;$i++)
{
$q.="<option>".strftime('%d  %B(%a)',$time+86400*$i);
}
$q.='</select>';

print $q;

   
 
 автор: dina   (26.02.2006 в 20:19)   письмо автору
 
   для: Dimon.st   (26.02.2006 в 20:05)
 

Большое спасибо, то что надо

   
 
 автор: dina   (26.02.2006 в 20:40)   письмо автору
 
   для: Dimon.st   (26.02.2006 в 20:05)
 

вСЕ РАБОТАЕТ, НО ВОПРОС:
а ЗАКРЫТЬ НЕ НАДО </OPTION>

   
 
 автор: Sergey89   (26.02.2006 в 21:08)   письмо автору
 
   для: dina   (26.02.2006 в 20:40)
 

надо, хотя браухеры и так будут отображать нормально

   
 
 автор: dina   (26.02.2006 в 21:21)   письмо автору
 
   для: Sergey89   (26.02.2006 в 21:08)
 

еще вопрос:
А как записать выбранную дату в таблицу с колонкой data?

   
 
 автор: cheops   (27.02.2006 в 00:04)   письмо автору
 
   для: dina   (26.02.2006 в 21:21)
 

Для этого её потребуется как минимум передать сначала в обработчик HTML-формы через value-значение тэга <option>
<?php
setlocale
(LC_TIME'ru_RU'); 

$q="<SELECT name=DD_Month>"
$time=mktime(); 
for(
$i=0;$i<10;$i++) 

$q.="<option value=".($time+86400*$i).">".strftime('%d  %B(%a)',$time+86400*$i); 

$q.='</select>'

print 
$q;
?>

Затем полученную в обработчике дату можно преобразовать к MySQL-типу
<?php
  
echo date('Y-m-d h:i:s',$_POST['DD_Month']);
?>

   
 
 автор: dina   (27.02.2006 в 09:47)   письмо автору
 
   для: cheops   (27.02.2006 в 00:04)
 

Да я вот не знала, что писать в значении value и как потом перейти к Mysql запросу. Форма есть.
С датами сталкиваюсь впервые. Сейчас все попробую

   
 
 автор: JC_Piligrim   (27.02.2006 в 01:12)   письмо автору
 
   для: dina   (26.02.2006 в 19:10)
 

Могу еще от себя добавить.

Вижу 2 ситуации.


1. Если PHP для Вас - это лишь средство для решения конкретной имеющейся в данный момент проблемы и не больше.
Совет: выберите для себя наиболее удобное решения, из рекомендаций уважаемых участников форума.

2. Если Вы намерены серьезно изучить PHP и программирование вообще и работать в этом направлении, делая успехи.
Совет: учите методологии, паттерны проектирования и т.д. В конкретном случае, можно использовать шаблонизатор а еще лучше разрабатывать проект по MVC-паттерну... Во всяком случае мешать логику обработки и представление информации крайне не советую. Потом кучу времени потратите, ковыряясь в этом "спагетти". По сабжу можно кое-что можно почерпнуть у Дмитрия Котерова и т.д...

[поправлено модератором]

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования