|
|
|
| Здравствуйте, у меня возникла проблемка...дело в том, что вот как-то не приходилось сталкиваться с датой в БД. Короче говоря... как прописывать дату на php я примерно! знаю... но я не могу разобраться, как вот сделать так, чтоб после заполнения формы и отправки инфы в БД дата прописывалась в самой БД... помогите... ибо что-то я не могу вообще с этой датой разобраться... | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 14:14)
| | Какой тип поля, в которой находится дата? Как пытаетесь добавить запись? | |
|
|
|
|
|
|
|
для: BinLaden
(25.08.2008 в 14:16)
| | хм... короче говоря... есть форма заполнения, с каждого input select и т.д. данные отправляются в БД. В БД... есть строка с типом DATE, и именем date, при нажатии на добавить, данные отправляются в БД. вот... | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 14:30)
| | Дата должна быть приведена к формату YYYY-MM-DD. | |
|
|
|
|
|
|
|
для: BinLaden
(25.08.2008 в 14:37)
| | а как? как это делается, я же говорю дату я ни разу сама не писала... и знаю только примерно! структуру написания на php и все.... хотя... постойте... вот в самой БД... есть год месяц и дата... только стоит 0000-00-00, а как вместо ноликов выставить дату??? | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 14:40)
| | Как дата вводится в форме, и в каком виде она видна в php? | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 14:43)
| | хм... только в БД пишеться 0000-00-00, а как ее писать я не знаю... не знаю как прописывать дату... вывод даты просто береться из БД... а как вводить ее в БД не знаю... | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 14:45)
| | В БД записывать нужно в виде строки '2008-08-25'
Если Вы пытаетесь вводить такое, а в таблице оказываются нули - показывайте код скрипта.
Впрочем - показывайте в любом случае. | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 15:02)
| | хм... не ну я понимаю что в БД.. .нужно записывать текующую дату, это можно зделать и если
добавил информацию, а потом отредактировать ее, поставив в дате просто NOW, но как
отправлять дату, чотоб при отправке онформации из формы добавлялась(записывалась) дата
я не знаю... хотите увидеть форму отправки, пожалуйста.
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<?php
if(isset($_POST['save'])){
mysql_connect("localhost","root","");
mysql_select_db("board");
$sql="INSERT INTO `b` ( `id`, `name`, `kto`, `rubric`, `pdrubric`, `city`, `area`, `street`, `cena`, `val`,
`phone`, `email`, `det`, `srok`) VALUES ( '', '".$_POST['name']."', '".$_POST['kto']."', '".$_POST['rubric']."',
'".$_POST['pdrubric']."', '".$_POST['city']."', '".$_POST['area']."', '".$_POST['street']."', '".$_POST['cena']."',
'".$_POST['val']."', '".$_POST['phone']."', '".$_POST['email']."', '".$_POST['det']."', '".$_POST['srok']."')";
$res = mysql_query($sql);
}
?>
<form method="POST" action="?">
<input type="hidden" name="save" value="1">
<tr>
<td style="width:30%">Ваше имя<font color="#ff0000">*</font>:</td>
<td style="width:60%"><table width="100%"><tr><td><input type="Text" name="name"
style="width:100%" value=""/></td></tr></table>
</td></tr>
<tr><td><hr/></td></tr>
...........................................................
<tr><td>Описание<font color="#ff0000">*</font>:</td>
<td><table width="100%">
<tr><td><textarea rows="7" style="width:100%;" name="det" title="текст объявления" cols="40"></
textarea></td></tr></table>
</td></tr>
<tr><td><hr/></td></tr>
<tr><td>Срок публикации:</td>
<td><table width="100%"><tr><td>
<select name="srok">
<option value="1 день">1 день</option>
<option value="3 дня">3 дня</option>
<option value="неделя">неделя</option>
<option value="2 недели">2 недели</option>
<option value="3 недели">3 недели</option>
<option value="месяц">месяц</option>
</select></td></tr></table>
</td></tr>
<tr><td><hr/></td></tr>
<tr id="bdM65"><td align="center" colspan="2" class="manTdBut" id="bdM66">
<input type="submit" onClick="go();" value="добавить" /> <input class="manFlRst"
type="reset" id="bdF23" value="очистить" onclick="" />
</td></tr>
</table>
</form>
|
хм... совсем забыла... это ведь нужно явно привьязать к сроку публикации... сколько
сообщение должно быть в базе... здесь я вообще ни как... HELP... | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 15:11)
| | Естественно, MySQL не понимает значений "1 день", "3 недели", "месяц" и т.п.
Уже говорилось к какому виду нужно привести дату. "1 день" - это, согласитесь, не дата, а промежуток времени.
Как вариант, можно сделать что-то вроде
<?php
$term = isset( $_POST['srok'] ) ? (string) $_POST['srok'] : '';
switch( $term )
{
case '1 день':
$unix_timestamp = strtotime('+1 day');
break;
case '3 дня':
$unix_timestamp = strtotime('+3 days');
break;
case 'неделя':
$unix_timestamp = strtotime('+1 week');
break;
# ...
case 'месяц':
$unix_timestamp = strtotime('+1 month');
break;
default:
$unix_timestamp = time();
break;
}
$date = date('Y-m-d', $unix_timestamp);
?>
|
А потом уже записывать в БД содержимое $date | |
|
|
|
|
|
|
|
для: BinLaden
(25.08.2008 в 15:21)
| | хм...я Вас поняла, вот только подскажите еще... как вот этот код прицепить к тому что написано у меня??? и записывать в БД содержимое, это... хм... здесь еще что-то нужно для даты??? а что? помогите а... я ведь только учусь всему... но честно быстро схватываю, так что больше еще раз подобные вопросы я задавать не буду... | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 15:11)
| | И какое поле формата DATE ?
Если проблема в том, чтобы срок переделать в конкретную дату, можно поступить как-то так:
селектор срока нужно минимизоровать... например так:
<select name="srok">
<option value="1">1 день</option>
<option value="3">3 дня</option>
<option value="7">неделя</option>
<option value="14">2 недели</option>
<option value="21">3 недели</option>
<option value="-1">месяц</option>
</select>
|
положительные значения будут задавать интервал в днях, отрицатеьные в месяцах.
Обработка в php будет примерно такая:
<?
$srok = intval(@$_POST['srok']);
if($srok > 0) $srok = "NOW() + INTERVAL $srok DAY";
else if($srok < 0) { $srok = "NOW() + INTERVAL " . (-$srok) . " MONTH" };
else $srok = "NOW()";
$sql="INSERT INTO `b`
( `id`, `name`, `kto`, `rubric`, `pdrubric`, `city`, `area`, `street`, `cena`, `val`, `phone`, `email`, `det`, `srok`)
VALUES ( '', '".$_POST['name']."', '".$_POST['kto']."', '".$_POST['rubric']."', '".$_POST['pdrubric']."',
'".$_POST['city']."', '".$_POST['area']."', '".$_POST['street']."', '".$_POST['cena']."', '".$_POST['val']."',
'".$_POST['phone']."', '".$_POST['email']."', '".$_POST['det']."', $srok)";
|
если я правильно Вас понял, и поле srok в таблице действительно формата DATE | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 15:34)
| | да, Вы правильно поняли, но, при выводе информации дата выводиться та, когда именно добавили информацию. Поэтому есть еще одно поле date тип, DATE. Вот. А как для этого... как сделать вывод текущей даты? И еще. Вы мне помогли разобраться с тем, как удалять информацию из БД http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=56861&page=2, а как сделать так, чтоб информация удалялась сама по истечению срока? | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 15:44)
| | С удовольствием, но ... наверное стоит
1. описать, какие есть поля в таблице, какого они типа, и что конкретно хранят. Хотя бы те, что вовлечены в процесс.
2. показать, в каком виде на странице Вы хотите эту дату видеть. Если 2008-08-25 не устраивает.
3. исправить сообщение (25.08.2008 в 15:11) так, чтобы в ленте ответов не срывало крышу, и чтоб ответы можно было читать, не двигая окно влево вправо. То есть добавить переносов строк.
Между прочим с исх.кодом со строками разумного размера будет куда удобнее работать.
А что до автоматического удаления, то запрос
DELETE FROM `b` WHERE `дата_удаления` < NOW()
|
должен решить проблему.
Запрос нужно запускать либо в начале скрипта, где используются данные таблицы, либо отдельно через CRON. | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 16:02)
| | ок. так
1.) есть поля: id - думаю его описывать не нужно,
name - тип text, вводиться имя пользователя
kto - тип text, выбор из input type="Radio"
rubric - тип text, выбор из input type="Radio"
pdrubric - тип text, выбор из select
city - тип text, выбор из select
area - тип text, выбор из select
street - тип text, ввод улицы
cena - тип text, ввод цены
val - тип text, выбор из select валюты
phone - тип text, ввод телефона, макс 30 символов
email - тип text, ввод электронного адреса
det - тип text, ввод полной информации
хм... ну если в виде просто даты не устраивает, можно в виде даты и времени... ну не знаю...
главное чтоб выводилась сама дата... а дальше я разберусь. Так... кажется все сделала что Вы
просили....
а и кстати, вот по поводу
DELETE FROM `b` WHERE `дата_удаления` < NOW()
|
Вы мне прошлый раз говорили что если подставлять $res, то эта переменная не
определена, а как тогда быть с автоудалением, если не вот так подставлять
DELETE FROM `b` WHERE ` ".$res['srok']."` < NOW()
| , то как? | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 16:25)
| | >хм... ну если в виде просто даты не устраивает, можно в виде даты и времени... ну не знаю...
>главное чтоб выводилась сама дата... а дальше я разберусь. Так... кажется все сделала что Вы
>просили....
пример.
таблица с ключом, текстовым полем и датой:
CREATE TABLE `tbl` (
`Id` int(11) NOT NULL auto_increment,
`txt` TEXT default NULL ,
`expired` DATE default NULL ,
PRIMARY KEY (`Id`)
);
|
добавляем записи
INSERT INTO tbl (txt, expired) VALUES ('прям сейчас', NOW() );
INSERT INTO tbl (txt, expired) VALUES ('позавчера', (NOW() - INTERVAL 2 DAY) );
INSERT INTO tbl (txt, expired) VALUES ('послезавтра', (NOW() + INTERVAL 2 DAY) );
INSERT INTO tbl (txt, expired) VALUES ('через три месяца', (NOW() + INTERVAL 3 MONTH) );
INSERT INTO tbl (txt, expired) VALUES ('конкретного числа', '2008-09-15');
| и т.д.
запрос
DELETE FROM `b` WHERE `expired` < NOW()
|
удалит строки с прошедшими датами.
по поводу того, как выводить.
Так и выводить
<?
$sql = "SELECT * FROM tbl ORDER BY expired";
$res = mysql_query($sql);
if(!$res) exit("error in $sql ". mysql_error());
while($row = mysql_fetch_assoc($res))
{
$id = $row['id'];
$expired = $row['expired'];
$txt = $row['txt'];
echo "$id. -- $expired -- ". htmlspecialchars($txt) . "<br />\r\n";
}
|
если что-то непонятно - готов пояснить. | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 17:40)
| | хм... так, стоп, запрос
INSERT INTO tbl (txt, expired) VALUES ('прям сейчас', NOW() );
|
это для добавки информации в ВАШУ БД, такой запрос я могу Вам сделать и не один, но я не понимаю как причем здесь то что я у ВАС спрашивала? ведь это запрос в самой БД, с готовым ответом... А как это применить к моему случаю, я что-то не совсем ВАС понимаю... Как данное применить к запросу на добавку? и удаление... Вы меня что-то запутали.... %) | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 19:58)
| | Так а в Вашей таблице, я ни одного поля типа DATE не увидел.
Может плохо искал, конечно... а может совсем ничего не понял.
приводите тогда фрагмент дампа Вашей таблицы с соответствующими полями. | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 20:09)
| | а ну.... упс... извините ;)
первое поле srok - тип date, записывается дата когда нужно удалить
и второе date - тип date, текущая дата...
или Вам просто кинуть структуру таблицы? из БД?
CREATE TABLE `b` (
`id` int(11) NOT NULL auto_increment,
`name` text NOT NULL,
`kto` text NOT NULL,
`rubric` text NOT NULL,
`pdrubric` text NOT NULL,
`city` text NOT NULL,
`area` text NOT NULL,
`street` text NOT NULL,
`cena` text NOT NULL,
`val` text NOT NULL,
`phone` text NOT NULL,
`email` text NOT NULL,
`det` text NOT NULL,
`srok` date NOT NULL,
`date` date NOT NULL,
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=28 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=28 ;
|
| |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 20:13)
| | так бы сразу.
И чем не подходит запрос
DELETE FROM `b` WHERE `srok` <= NOW()
|
?
При добавлении записи полю `date` нужно присвоить NOW()
А вывод на страницу - точно так же как любую другую строку. | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 20:16)
| | хм... ну я понимаю, что date нужно присваивать now, но как, как оно должно выглядеть и
присваиваться??? просто заходить в БД и там редактировать эт знаю а так прописывать... что-
то не могу понять
да и еще... по поводу strok... удаление как понимаю на странице вывода информации а не на
добавке... тогда как... ведь просто
DELETE FROM `b` WHERE `srok` <= NOW()
|
оно как я понимаю ничег оне даст... или я не так понимаю???? | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 20:30)
| | на странице вывода.
и на странице добавки тоже можно продублировать.
Как - просто так?
Вот так
mysql_query("DELETE FROM `b` WHERE `srok` <= NOW()");
| уже даст
вот так даже ошибки проконтролирует
if(!($res = mysql_query($sql = "DELETE FROM `b` WHERE `srok` <= NOW()")))
exit("error in $sql" . mysql_error());
|
| |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 20:37)
| |
<?
$sql="INSERT INTO `b`
( `id`, ...... , `srok`, `date`)
VALUES ( NULL, ...., $srok, NOW() )";
if(!($res = mysql_query($sql)))
exit("error in $sql" . mysql_error());
|
| |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 20:37)
| | хм... с удалением я поняла... а дата... текущая дата??? как с ней быть то?когда просто пишу в конце now(),добавка вообще не работает... :(( | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 20:42)
| | Какая ошибка выходит? | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 20:49)
| | error in INSERT INTO `b` ( `id`, `name`, `kto`, `rubric`, `pdrubric`, `city`, `area`, `street`, `cena`, `val`,
`phone`, `email`, `det`, `srok`) VALUES ( '', 'ы', '', '', 'Офисы', 'Киев', '-Выбрать район-', 'ы', 'ы', 'y.e.', 'ы',
'ы', 'ы', NOW() + INTERVAL 3 DAY, NOW())Column count doesn't match value count at row 1 - вот | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 20:51)
| | в список полей после `srok` нужно было дописать , `date`
а так сервер отвечает, что у Вас число полей не соответствует числу значений. Разве не так? | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 20:54)
| | да совершенно верно... у меня есть еще 2 маленьких вопроса к вам...
первое, это случайно не знаете как сделать переход на другую страницу при нажатии добавить... короче говоря переадресация... это наверное она должна быть типа через 5 секунд... но в общем... даже если и без этого... как перейти на другую страницу , к примеру по старинке index.php, после нажатия добавить...? | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 20:59)
| | Вообще-то если по уму скрипты писать, то она должна быть а) сразу и б) после обработки любого POST-запроса. Хотя большинство этимм пренебрегают.
header("Location: index.php");
|
А весь вывод на страницу должен происходить уже после переадресации. | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 21:05)
| | если я Вас правильно поняла, то
header("Location: index.php");
|
нужно написать после
<?php
header("Location: index.php");
?>
|
так что-ли? | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 21:08)
| | нет. не так.
Сперва взглянем на форму:
У Вас написано в теге <form method="POST" action="?">
Если говорить скомканно, то этот вопрос в аатрибуте action это частный случай адреса страницы с обработчиком формы, означающий, что данные отправленной формы будет обрабатывать тот же самый скрипт, который её (форму) рисовал.
У Вас и рисует форму (на первом вызове GET) и обрабатывает данные формы (на втором вызове POST) один и тот же скрипт.
В общем случае либо сами скрипты , либо параметры их вызова - отличаются.
Точно также как скрипт, на который делать переадресацию - отличается от первых двух.
Итого мы имеем три скрипта, грубо говоря
1. s1.php , который рисует форму <form action=s2.php>....
2. s2.php, который берет всё из $_POST[], проверяет на вшивость, заталкивает куда надо (в таблицы в сессии или еще куда) и ни слова не выводя на экран, делает переадресацию header("Location: s3.php");
3. s3.php - выводит страницу, на которой пользователь видит, что данные, которые он набирал в форме, системой обработаны , учтены, добавлены и т.п..
Это джентельменский минимум. Хотя в реале 2-й шаг часто неряшливо пропускают.
Ну и если есть желание, можно добавить в начало s3.php задержку переброса спустя 5 секунд куда-то еще
header("Refresh: 5; url=s4.php");
В общем случае, вся обработка может выполняться одним единственным скриптом, которому передается параметр, определяющий шаг обработки. Это может как запутать скрипт, так и сделать его более понятным. Как напишете... | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 21:24)
| | да, но все же... я не понимаю... вот смотрите... Вы говорите, что выполняется и post и get.
Но где Вы видите GET? И потом... я не понимаю, что мне делать с этим header... куда его
и к чему... его свойства я поняла...
я что-то вообще не могу сообразить то что Вы написали... то ли из-за того что я сейчас
простужена и к вечеру чувствую себя не очень хорошо... то ли... Вы не совсем понятно
написали... | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 21:35)
| | Я говорил, что выполняется GET и POST.
Когда Вы набираете адрес скрипта в строке браузера -
браузер передает серверу запрос GET,
Сервер выполняет скрипт, передает браузеру страницу с формой.
Браузер получает страницу, отрисовывает форму.
Форму Вы заполняете , нажимаете кнопку submit
Браузер передает серверу вместе с даннывми формы запрос POST к скрипту, адрес которого берет из атрибута action формы.
Сервер выполняет запрос, запоминая переданные в форме данные, и путем функции header("Location: ... ") возвращает браузеру отклик с [пустой] страницей, в заголовке которой стоит поле Location: адрес_очередного_GET_запроса
Браузер передает серверу запрос GET к скрипту из поля Location ,
Сервер формирует страницу с результатами (например, выводит получившуюся таблицу в html) и отдает её браузеру.
Браузер отрисовывает таблицу.
как-то так.
На больную голову это лучше не воспринимать, Материал и вправду сложный. | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 21:47)
| | а теперь понятно... Спасибо Вам большое что объяснили мне это.... но все же... что мне делать с этим
header("Location: index.php");
| Вы ведь уже наверное знаете примерно весь код который у меня написан... куда его писать и как? | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 21:51)
| | Поскольку файл у Вас начинается со строк
<table border="0" cellpadding="0" cellspacing="0" width="100%">
(а может и еще чего-нибудь выше этого) , то прямо так в имеющийся текст этот вызов не затолкнешь. Толку не будет.
Надо разбить Этот файл на два(или три) разных. Как минимум отделить вывод формы и таблицы от сохранения данных в БД. Тогда вызов header(Location ) ляжет сразу за успешным исполнением оператора UPDATE. | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 21:58)
| | ну вот... я полностью разбила страничку... на окружение и сама добавка (форма)
<?php
include "a.php";
?>
<?php
if(isset($_POST['save'])){
mysql_connect("localhost","root","");
mysql_select_db("board");
$srok = intval(@$_POST['srok']);
if($srok > 0) $srok = "NOW() + INTERVAL $srok DAY";
else if($srok < 0) $srok = "NOW() + INTERVAL $srok MONTH";
else $srok = "NOW()";
$sql="INSERT INTO `b` ( `id`, `name`, `kto`, `rubric`, `pdrubric`, `city`, `area`, `street`, `cena`, `val`,
`phone`, `email`, `det`, `srok`, `date`) VALUES ( '', '".$_POST['name']."', '".$_POST['kto']."', '".$_POST
['rubric']."', '".$_POST['pdrubric']."', '".$_POST['city']."', '".$_POST['area']."', '".$_POST['street']."', '".$_POST
['cena']."', '".$_POST['val']."', '".$_POST['phone']."', '".$_POST['email']."', '".$_POST['det']."', $srok, NOW
())";
if(!($res = mysql_query($sql)))
exit("error in $sql" . mysql_error());
}
?>
<form method="POST" action="?">
<input type="hidden" name="save" value="1">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="width:30%">Ваше имя<font color="#ff0000">*</font>:</td>
<td style="width:60%"><table width="100%"><tr><td><input type="Text" name="name" style="width:100%" value=""/></td></tr></table>
</td></tr>
............
<tr><td><hr/></td></tr>
<tr id="bdM65"><td align="center" colspan="2" class="manTdBut" id="bdM66">
<input type="submit" value="добавить" /> <input class="manFlRst" type="reset" id="bdF23"
value="очистить" onclick="" />
</td></tr>
</table>
</form>
<?php
include "b.php";
?>
|
что теперь??? | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 22:10)
| | Странно как-то разбили...
Я вижу разбиение таким:
Форма:
<?php // ==== файл formb.php =====
include "a.php";
<form method="POST" action="insertb.php">
<input type="hidden" name="save" value="1">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="width:30%">Ваше имя<font color="#ff0000">*</font>:</td>
<td style="width:60%"><table width="100%"><tr><td><input type="Text" name="name" style="width:100%" value=""/></td></tr></table>
</td></tr>
............
<tr><td><hr/></td></tr>
<tr id="bdM65"><td align="center" colspan="2" class="manTdBut" id="bdM66">
<input type="submit" value="добавить" /> <input class="manFlRst" type="reset" id="bdF23"
value="очистить" onclick="" />
</td></tr>
</table>
</form>
<?php
include "b.php";
?>
|
Обработчик:
<?php // ==== Файл: insertb.php ====
if(isset($_POST['save'])){
mysql_connect("localhost","root","");
mysql_select_db("board");
$srok = intval(@$_POST['srok']);
if($srok > 0) $srok = "NOW() + INTERVAL $srok DAY";
else if($srok < 0) $srok = "NOW() + INTERVAL $srok MONTH";
else $srok = "NOW()";
$sql="INSERT INTO `b` ( `id`, `name`, `kto`, `rubric`, `pdrubric`, `city`, `area`, `street`, `cena`, `val`,
`phone`, `email`, `det`, `srok`, `date`) VALUES ( '', '".$_POST['name']."', '".$_POST['kto']."', '".$_POST
['rubric']."', '".$_POST['pdrubric']."', '".$_POST['city']."', '".$_POST['area']."', '".$_POST['street']."', '".$_POST
['cena']."', '".$_POST['val']."', '".$_POST['phone']."', '".$_POST['email']."', '".$_POST['det']."', $srok, NOW
())";
if(!($res = mysql_query($sql)))
exit("error in $sql" . mysql_error());
header("Location: listb.php");
}
?>
|
отображатель результатов
<?php // ==== файл listb.php ====
// тут надо подключаться к бд
// вызывать SELECT и рисовать таблицу
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 22:20)
| | хм... все поняла... кроме последнего...
отображатель результатов
<?php // ==== файл listb.php ====
// тут надо подключаться к бд
// вызывать SELECT и рисовать таблицу
?>
|
и еще... в таком случаи... как я понимаю... необходимость вот всего того что окружает форму, в
смысле таблицы и дивы удалять из листа форм не обязательно... это наверное можно просто
оставить оно ведь по сторонам (a.php и b.php).и здесь как вижу просто Вы разбили сам скрипт
добавки... а я поняла что мешает окружающий форму шаблон... | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 22:28)
| | >и еще... в таком случаи... как я понимаю... необходимость вот всего того что окружает форму, в
>смысле таблицы и дивы удалять из листа форм не обязательно...
Нет, конечно. Зачем? Это всё должно быть удалено из обработчика.
Или (если обработчик и фрагмент формирования вывода находятся в одном скрипте) хотя бы поставлено под условный оператор так, чтобы при вызове обработчика вывод оказался отключен.
>оставить оно ведь по сторонам (a.php и b.php).и здесь как вижу просто Вы разбили сам скрипт
>добавки... а я поняла что мешает окружающий форму шаблон...
Мешает не сам шаблон. Мешает факт преждевременного вывода на страницу.
Вероятно в listb.php тоже потребуется этот самый шаблон включить.
При этом не исключено, что файл listb.php и formb.php окажутся настолько близкими, что проще будет обойтись одним. | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 22:34)
| | хм... понятно... но Вы не объяснили мне вот это:
<?php // ==== файл listb.php ====
// тут надо подключаться к бд
// вызывать SELECT и рисовать таблицу
?>
|
что и к чему это???? | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 22:38)
| | после того как строка занесена в таблицу, Ваш скрипт вообще что-либо пользователю показывать собирается?
Довольно неожиданно заполнить поля, нажать на кнопку отправки, а в ответ получить чистый белый экран. | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 22:49)
| | ну ... после добавки информации должно просто открывать страницу board.php и все... | |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 22:56)
| | Значит у Вас будет header("Location: board.php"); | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 23:03)
| | выводит ошибку:
error in INSERT INTO `b` ( `id`, `name`, `kto`, `rubric`, `pdrubric`, `city`, `area`, `street`, `cena`,
`val`, `phone`, `email`, `det`, `srok`, `date`) VALUES ( '', 'ап', 'Частное лицо', 'Продам', 'дачи',
'Тернополь', '', 'ап', 'ап', 'y.e.', 'ап', 'ап', 'ап', NOW() + INTERVAL 7 DAY, NOW ())FUNCTION
board.NOW does not exist
|
| |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 23:10)
| | пробела между NOW и () быть не должно.
Должно быть написано слитно NOW() | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 23:16)
| | да... точно.... вновь моя великая внимательность... СПАСИБО СПАСИБО СПАСИБО...
а могу ли я у Вас попросить номер аськи? обещаю что доставать не буду, и спрашивать в случаи если уже ну просто вот ни как не могу понять... и не могу нигде найти ответ... ни в книгах ни в нете | |
|
|
|
|
|
|
|
для: Trianon
(25.08.2008 в 21:05)
| | но это наверное нужно ведь связат ьс кнопкой
<input type="submit" value="добавить" />
|
| |
|
|
|
|
|
|
|
для: solomusic
(25.08.2008 в 20:51)
| | ой я все поняла | |
|
|
|
|