Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как использовать POST в запросе / 17 сообщений из 17, страница 1 из 1
04.03.2017, 21:37
    #39414168
Abisma2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать POST в запросе
Здравствуйте уважаемые!
Посмотрите пожалуйста, почему запрос не работает?
page1.php
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
<form method="POST" action="page1.php">

<select name="month"> 
		<option>01</option>
		<option>02</option>
		<option>03</option>
		<option>04</option>
		<option>05</option>
		<option>06</option>
		<option>07</option>
		<option>08</option>
		<option>09</option>
		<option>10</option>
		<option>11</option>
		<option>12</option>
		</select>

	<select name="year"> 
		<option>2017</option>
		<option>2018</option>
		<option>2019</option>
		</select>

<input type="submit" name="knopka" value="Открыть"/>

</form>

<?php
$month = $_POST['month'];
$year = $_POST['year'];
?>

<?php
$result=mysql_query('select Date, Names from Table1 where MONTH(Date) = $month AND YEAR(Date) = $year group by Date, Names;');?>


Когда в запросе в место $month ("03") и в место $year ("2017") набиру правильно показывает.
Если из списка выбираю запрос нечего не показывает.
Спасибо!
...
Рейтинг: 0 / 0
04.03.2017, 22:42
    #39414188
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать POST в запросе
Внимательнее относитесь к правилам языка. Любого.

1. Слово "вместо" пишется слитно в данном случае.
2. Кавычки не те. Так переменные в запрос не попадут. Подробнее в документации: http://php.net/manual/ru/language.types.string.php
3. В конце запроса ";" не нужна. Опять же, документация: http://php.net/manual/ru/function.mysql-query.php
4. В случае появления подобных проблем первым делом читайте внимательно запрос перед его выполнением:
Код: php
1.
2.
3.
$query = ... // тут собирается запрос
var_dump($query); // или print_r
$result = mysql_query($query);

Такие ошибки видны сразу.
...
Рейтинг: 0 / 0
04.03.2017, 23:22
    #39414196
Abisma2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать POST в запросе
vkle,
Спасибо за советы!
Надо было заменить
Код: php
1.
$month на '.$Moh.' и $year на '.$year.'
...
Рейтинг: 0 / 0
05.03.2017, 11:49
    #39414253
Abisma2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать POST в запросе
vkle,
Одну проблему решил, наткнулся с другой:
Сейчас только после нажатии кнопки "Открыть" показывает запрос.
Но как мне сделать что бы при загрузки страници показал запрос.
Спасибо!
...
Рейтинг: 0 / 0
05.03.2017, 15:00
    #39414315
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать POST в запросе
Как бы ещё догадаться, "чиво ви хочите" и что мешает реализовать желаемое... Я - пас. ХШ сегодня на профилактике, а штатный телепат - в долгосрочном отпуске.
...
Рейтинг: 0 / 0
05.03.2017, 16:04
    #39414322
Abisma2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать POST в запросе
vkle,
Давайте без приколов.
Я вас спрашиваю как навичок.
Если не хотите ответить сразу скажите что НЕТ!
Надеюсь кроме вас еще есть кто ответить...
Если я всё знаю зачем тогда форум.
...
Рейтинг: 0 / 0
05.03.2017, 16:39
    #39414330
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать POST в запросе
Abisma2008,

Что Вы спрашиваете?
Abisma2008как мне сделать что бы при загрузки страници показал запрос.Ответ более чем очевиден - показывать запрос при загрузке страницы. Такой ответ Вас устроит?
Нет?
Или, всё же, Вы пытались как-то (как именно?) сделать желаемое? Ну так покажите, как пытались - тогда и увидим, что мешает. Может быть, этот запрос живёт себе где-то внутри блока if(isset($_POST['knopka'])) {...} и никаким образом не выполняется без нажатия на "Открыть". А по логике, запросу из первого поста именно там и место. Ну да, тогда и незачем показывать запрос, который, мало того, что не работает, да ещё и не имеет исходных параметров. Или речь идёт о чём-то совсем другом?
Извините, отсюда не видно ни кода, ни страницы. А проблему Вы описать не удосужились, увы.


Abisma2008Давайте без приколов.
Я вас спрашиваю как навичок.Давайте. Формулируйте, пожалуйста, мысли так, чтобы и исходные данные и вопрос были понятны не только Вам. Надеюсь, в детстве Вас учили излагать мысли внятно.
...
Рейтинг: 0 / 0
05.03.2017, 16:54
    #39414332
Abisma2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать POST в запросе
vkle"чиво ви хочите"
По Вашему это нормально?
...
Рейтинг: 0 / 0
05.03.2017, 16:55
    #39414333
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать POST в запросе
Нормально, это цитата. Потому в кавычках.
...
Рейтинг: 0 / 0
05.03.2017, 17:10
    #39414336
Abisma2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать POST в запросе
vkle,

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
<table>
	<?php while ($row=mysql_fetch_array($result)):?>
		<tr>
		<td><?php echo $row[0];?>
                <td><?php echo $row[1];?>
		 </tr>
	<?php endwhile;?>
</table>


Вот где запрос выводится!
...
Рейтинг: 0 / 0
05.03.2017, 17:38
    #39414339
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать POST в запросе
Abisma2008,

Здесь видно КАК выводится. А вот ГДЕ по отношению ко всему остальному - не видно.
И, да, по-прежнему, не понятно, что сделать то хотите.
...
Рейтинг: 0 / 0
06.03.2017, 11:26
    #39414593
Abisma2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать POST в запросе
vkle,
Добрый день!
Вот полностью код на страницу:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
<html>
<head>
<title>
</title>
</head>
<body>
<form method="POST" action="page1.php">
	<select name="month"> 
		<option>01</option>
		<option>02</option>
		<option>03</option>
		<option>04</option>
		<option>05</option>
		<option>06</option>
		<option>07</option>
		<option>08</option>
		<option>09</option>
		<option>10</option>
		<option>11</option>
		<option>12</option>
		</select>
	<select name="year"> 
		<option>2017</option>
		<option>2018</option>
		<option>2019</option>
		</select>
	<input type="submit" name="knopka" value="Открыть"/>
</form>
<?php
$month = $_POST['month'];
$year = $_POST['year'];
?>
<?php
require "config.php"; // Подключаем базу!
$result=mysql_query('select Date, Names from Table1 
					where MONTH(Date) = '.$month.' 
					AND YEAR(Date) = '.$year.' 
					group by Date, Names;');
?>
<table>
	<?php while ($row=mysql_fetch_array($result)):?>
		<tr>
		<td><?php echo $row[0];?>
        <td><?php echo $row[1];?>
		</tr>
	<?php endwhile;?>
</table>
</body>
</html>


Постараюсь объяснить:
Когда страница page1.php открою в первый селект показывает "01", а в другом селекте показывает "2017".
Но таблицу не показывает вообше. после нажатия на кнопку (knopka) показывает таблицу.
Я хочу чтобы при загрузки page1.php сразу показал таблицу!
Надеюсь Вы меня поняли!
Спасибо!
...
Рейтинг: 0 / 0
06.03.2017, 12:22
    #39414638
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать POST в запросе
Да, теперь понятно. Задайте для $month и $year или для соответствующих переменных в POST значения по умолчанию.
...
Рейтинг: 0 / 0
06.03.2017, 12:27
    #39414646
Abisma2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать POST в запросе
vkleДа, теперь понятно.
Наконец то)))
vkleЗадайте для $month и $year или для соответствующих переменных в POST значения по умолчанию.
Можно по подробнее. (Если честно где задают значения по умолчанию не знаю(.)
...
Рейтинг: 0 / 0
06.03.2017, 12:38
    #39414651
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать POST в запросе
...
Рейтинг: 0 / 0
06.03.2017, 14:08
    #39414728
Abisma2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать POST в запросе
vkle Тынц
Спасибо!
Вот как получился: (Может кому то пригодится)
Код: php
1.
2.
3.
4.
5.
6.
<?php
$month = $_POST['month'];
if ( $month == '' ) $month = date('m');
$year  = $_POST['year'];
if ( $year == '' ) $year = date('Y');
?>
...
Рейтинг: 0 / 0
06.03.2017, 14:41
    #39414766
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как использовать POST в запросе
Если закрыть глаза на ошибки (имею в виду те, что управляются display_errors и error_reporting) и, вероятно, на отсутствие проверок входных данных - тогда пойдёт.

Если не закрывать, тогда можно как-то так:
Код: php
1.
$month = (isset($_POST['month']) && preg_match('/^\d{2}$/', $_POST['month'])) ? $_POST['month'] : date('m');


Или примерно так:
Код: php
1.
2.
if(!isset($_POST['month']) || !preg_match('/^\d{2}$/', $_POST['month'])) $_POST['month'] = date('m');
$month = $_POST['month'];

Впрочем, в последнем случае вместо явно лишней переменной $month можно использовать $_POST['month'] непосредственно в сборке запроса.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как использовать POST в запросе / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]