powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / возможно ли из MySQL возвращать в хтмл значение поля select?
11 сообщений из 11, страница 1 из 1
возможно ли из MySQL возвращать в хтмл значение поля select?
    #33044968
emeli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
«возможно ли из MySQL возвращать в хтмл значение поля select?» Дело в том что есть такая форма на хтмл

<FORM NAME = "tabl_1" METHOD="post" ACTION="tabl1.php";>

<TABLE WIDTH="100%" BORDER=2 CELLSPACING=1 CELLPADDING=1 BORDERCOLOR="#8FBC8F">

<TR>
<TD ALIGN="left">1</TD>
<TD ALIGN="left">Как долго рассматривается ERP- система продается именно этим поставщиком? </TD>
<TD ALIGN="left">
<SELECT name="v1" size="1">
<OPTION selected value=1>Нет ответа</OPTION>
<OPTION value=2>Ранее</OPTION>
<OPTION value=3>С 1980-1985 года</OPTION>
<OPTION value=4>С 1985-1990 года</OPTION>
<OPTION value=5>С 1995-2000 года</OPTION>
<OPTION value=6>С 2000 года</OPTION>
<OPTION value=7>С 2001 года</OPTION>
<OPTION value=8>С 2002 года</OPTION>
<OPTION value=9>С 2003 года</OPTION>
<OPTION value=10>С 2004 года</OPTION>
<OPTION value=11>С 2005 года</OPTION>
</SELECT>
</TD>
</TR>
.
. ..аналогичных вопросов в этой таблице 15
.

</TABLE>

<P ALIGN= CENTER><INPUT TYPE="submit" VALUE="Сохранить" ></TD></P>
</FORM>

При сохранении данные отправляются в обработчик php, который определяет обновить запись или дописать в базу данные. Для пользователя запускается сессия и по имени определяется есть он в базе или нет. Если он есть, необходимо вернуть выбранные поля, которые он сохранял в предыдущие разы… Не понимаю, как это возможно сделать, с помощью каких средств, если не трудно на примере можно продемонстрировать, как это сделать. Буду очень признательна. Как вариант думаю, что делать это стоит в коде, где происходит авторизация. С помощью Select я выбераю какое поле выбрал пользователь, но как это вернуть в хтмльную форму?

<?
session_start();
if (!$login || !$pass)
{
echo "Вы не ввели все необходимые данные.<br>"
."Пожалуйста вернитесь назад и заполните все необходимые поля.";
exit;
}
if(!isset($HTTP_POST_VARS['login'])&&!isset($HTTP_POST_VARS['pass']))
{
// Подключение к mysql
$mysql = mysql_connect( "localhost", "miit", "miit" );
if(!$mysql)
{
echo 'Невозможно подключиться к базе данных.';
exit;
}
// Выбор соответствующей базы данных
$mysql = mysql_select_db( "miit" );
if(!$mysql)
{
echo 'Невозможно выбрать базу данных.';
exit;
}

// Запрос к базе данных с целью выяснения существования соответствующей записи
$query = "select count(*) from user where
login = '$login' and
pass = '$pass'";

$result = mysql_query( $query );
if(!$result)
{
echo 'Невозможно выполнить запрос.';
exit;
}

$count = mysql_result( $result, 0, 0 );

if ( $count > 0 )
{
// Комбинация имени и пароля посетителя верна
$HTTP_SESSION_VARS['username']=$login;
echo '<h1>Вы на месте!</h1>';
echo '<p><a href="tabl1.html">Таблица 1</a></p>';
}
else
{
// Комбинация имени и пароля посетителя не верна
echo '<h1>Вы не имеете прав доступа к данному ресурсу!</h1>';
echo '<p><a href="reg.html">Зарегистрироваться</a></p>';
}
}
?>
...
Рейтинг: 0 / 0
возможно ли из MySQL возвращать в хтмл значение поля select?
    #33045177
taj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я тебя правильно понял, алгоритм примерно таков:
1) пользователь авторизуется
2) пользователь каким-то образом переходит на страницу с формой и заполняет ее
3) информация из формы сохраняется в базе
И теперь тебе надо, чтобы в случае повторного захода этого пользователя на эту форму, значения в выпадающих списках были не по умолчанию, а именно те, которые пользователь выбрал, когда заполнял форму первый раз.

Итак, вопрос, "как это вернуть в форму". Да очень просто, надо сравнить значение, полученное из базы, со значением элемента выпадающего списка, и в случае совпадения добавить атрибут SELECTED.
[src]<?
$dbvalue = 4; // некое значение, сохраненное в БД
?>
SELECT name="v1" size="1">
<OPTION selected value=1>Нет ответа</OPTION>
<OPTION value=2 <?=($dbvalue==2) ? "SELECTED": ""?>>Ранее</OPTION>
<OPTION value=3 <?=($dbvalue==3) ? "SELECTED": ""?>>С 1980-1985 года</OPTION>
<OPTION value=4 <?=($dbvalue==4) ? "SELECTED": ""?>>С 1985-1990 года</OPTION>
.....
и так далее
[/[src]
Выглядит конечно жутко коряво, но это именно то, что тебе нужно, если я правильно понял. Для улучшения кода хорошо бы постараться формировать вып. список в цикле, чтобы и проверка была одна.
...
Рейтинг: 0 / 0
возможно ли из MySQL возвращать в хтмл значение поля select?
    #33048840
emeli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю к правильному ли решению я пришла. Переход к таблицам я решила сделать, как tabl_1.php… Туда же вставлять код php, проверяющий наличие записи. Вот кусок скрипта

<script Language="php">
// пропущена проверка подключения к базе

mysql_select_db("miit");
$result = mysql_query("select * from tabl1 where login='$login'");
if (!$result)
echo 'Данная запись не присутствует в таблице, ее не надо возвращать';
else
{
echo 'Данная запись присутствует, нам надо ее вернуть!';
$tb1 = mysql_query("select * from tabl1 where login='$login'");
$row = mysql_fetch_array($tb1);
// а вот дальше?
}
Таким образом получается создается массив данных из таблицы tabl1 со всеми значениями столбцов. Далее идет сама форма
<FORM NAME = "tabl_1" METHOD="post" ACTION="tabl1.php";>
.
.
.
<TR>
<TD ALIGN="left">1</TD>
<TD ALIGN="left">Как долго рассматривается ERP- система продается именно этим поставщиком? </TD>
<TD ALIGN="left">
<SELECT name="v1" size="1">
<OPTION value=1 selected>Нет ответа</OPTION>
<OPTION value=2>Ранее</OPTION>
<OPTION value=3>С 2001 года</OPTION>
<OPTION value=4>С 2002 года</OPTION>
<OPTION value=5>С 2003 года</OPTION>
<OPTION value=6>С 2004 года</OPTION>
<OPTION value=7>С 2005 года</OPTION>
</SELECT>
</TD>
</TR>
.
.
.
// и т.д.
</FORM>

Получается, что если пользователь впервые заполняет данную таблицу, то ему отображается обычный вариант, а если уже заполнял, то надо передать значения имеющихся записей. Вопрос, как организовать присвоение каждому полю, поля именованы, как v1,v2 и т.д. и выводить это в форму?
...
Рейтинг: 0 / 0
возможно ли из MySQL возвращать в хтмл значение поля select?
    #33048905
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты ничего не сделала...
Код: plaintext
<script Language="php">
Лучше упростить до
Код: plaintext
<?php ?>
Дальше:
автор
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
$result = mysql_query("select * from tabl1 where login='$login'"); 
if (!$result)
echo 'Данная запись не присутствует в таблице, ее не надо возвращать';
else
{
echo 'Данная запись присутствует, нам надо ее вернуть!';
$tb1 = mysql_query("select * from tabl1 where login='$login'"); 
$row = mysql_fetch_array($tb1);
// а вот дальше?
}

Это условие всегда будет верно, есил запрос к базе выполнены корректно. Корректным результатом работы будет даже если запрос не найдет не единой строки.
Я так и не увидел, где ты в скрипте указываешь варианты, выбранные из предыдущего сеанса?

----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
возможно ли из MySQL возвращать в хтмл значение поля select?
    #33048924
emeli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4m@t!c, варианты я не указываю, потому что не знаю как их передавать в форму. На сколько понимаю это должно быть что-то описанное taj. Просто как это генерировать, чтобы данные записывались так как заполнял пользоваетль.
И как написать это корректно, то о чем ты говорил?
...
Рейтинг: 0 / 0
возможно ли из MySQL возвращать в хтмл значение поля select?
    #33049057
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если тебе нужна проверка существования записи в таблице, то так и делай.
Т.е. ты должна узнать кол-во строк, которое возвращает запрос. Если строк - ноль, то записи иначе такая запись есть (кстати, у тебя поле login уникально?).
Разберись, пожалуйста.
1. Что возвращает функция mysql_query().
2. Как узнать, какое кол-во строк вернул запрос.
Ответы на эти 2 вопроса ты найдешь здесь .
Когда прочтешь и поймешь - перепиши проверку правильно.
По поводу того, как более-менее сносно реализовать "запоминание".
Я бы создал две таблицы. В первой - хранил бы вопросы, во второй - ответы на эти вопросы.
Затем, я бы создал функцию, которая брала бы данные из этих таблиц и формировала бы вывод тега SELECT. В функции был бы параметр, который бы передавал значение выбранного "значение по умолчанию" для тега SELECT.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
возможно ли из MySQL возвращать в хтмл значение поля select?
    #33049333
emeli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Саму форму я поменяла
<SELECT name="v1" size="1">
<OPTION selected value=1>Нет ответа</OPTION>
<OPTION value=2 <?=($v1==2) ? "SELECTED": ""?>>Ранее</OPTION>
<OPTION value=3 <?=($v1==3) ? "SELECTED": ""?>>С 2000 года</OPTION>
<OPTION value=4 <?=($v1==4) ? "SELECTED": ""?>>С 2001 года</OPTION>
<OPTION value=5 <?=($v1==5) ? "SELECTED": ""?>>С 2002 года</OPTION>
<OPTION value=6 <?=($v1==6) ? "SELECTED": ""?>>С 2003 года</OPTION>
<OPTION value=7 <?=($v1==7) ? "SELECTED": ""?>>С 2004 года</OPTION>
<OPTION value=8 <?=($v1==8) ? "SELECTED": ""?>>С 2005 года</OPTION>
</SELECT>


Перед кодом хтмл, у меня идет код PHP
if (mysql_num_rows($result)>0)
{
echo 'Данная запись присутствует, нам надо ее вернуть!';
$tb1 = mysql_query("select * from tabl1 where login='$login'");
$row = mysql_fetch_array($tb1);
echo htmlspecialchars( stripslashes($row["v1"]));

v1 выводится правильно, а вот данные не меняются в форме. Может я что-то не правильно поняла?
...
Рейтинг: 0 / 0
возможно ли из MySQL возвращать в хтмл значение поля select?
    #33049334
emeli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имя login уникально, оно передается с помощью сеансов.
...
Рейтинг: 0 / 0
возможно ли из MySQL возвращать в хтмл значение поля select?
    #33049819
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Найди 10 различий между v1 и $row['v1']....
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
возможно ли из MySQL возвращать в хтмл значение поля select?
    #33049824
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
emeliИмя login уникально, оно передается с помощью сеансов.
Переведи..;)))
...
Рейтинг: 0 / 0
возможно ли из MySQL возвращать в хтмл значение поля select?
    #33050362
emeli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot 4m@t!c]Найди 10 различий между v1 и $row['v1']....
[quot]
Уже дошла до этого, методом проб и ошибок :)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / возможно ли из MySQL возвращать в хтмл значение поля select?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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