[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод списком
EatTheGuN
Всем доброго дня!
Вопрос такого плана: Имеются две таблицы, основная и таблица с типами. В основной имеются id типов, а в таблицами с типами имеются id и имена типов. Как вывести типы в виде списка так, чтобы при заполнении формы на сайте, выбрав тип из списка, он сохранился в основную таблицу mysql.

Заранее извиняюсь, если такие темы были. Совсем недавно занялся php и sql, буду рад любой помощи!



Спустя 5 минут, 11 секунд (6.10.2011 - 13:12) TranceIT написал(а):
Данную проблему можно решить телепатически, но временные затраты очень большие.
Покажите как вы пытались решить проблему.

Спустя 18 минут, 59 секунд (6.10.2011 - 13:31) EatTheGuN написал(а):
В принципе ожидаемая реакция, прошу быть снисходительным.
 <?
// Страница регситрации нового пользователя

# Соединямся с БД

mysql_connect("localhost", "root", "123456");
mysql_select_db("sql_jz_db");


if(isset($_POST['submit']))
{
$err = array();

# Если нет ошибок, то добавляем в БД нового пользователя
if(count($err) == 0)
{

$fio = $_POST['fio'];
mysql_query("INSERT INTO test SET fio='".$fio."'");

}

else
{
print "<b>При регистрации произошли следующие ошибки:</b><br>";
foreach($err AS $error)
{
print $error."<br>";
}
}
}

?>



<center><h3>Заполните заявку:</h3>
<
br>
<
center><form method="POST">
<
table>
<
tr>
<
td>ФИО:
</
td>
<
td><input id="inpt1" name="fio" type="text">
</
td>
</
tr>
<
tr>
<
th>Тип</th>
<
td>
<
select name="idtype">
<
option value="" selected>Выберите</option>
<?
$info=($_POST && $errors)?Format::input($_POST):array();
$services= mysql_query('SELECT * FROM '.TYPES.' WHERE isactive=1 ORDER BY type');
if($services && mysql_num_rows($services)) {
while (list($$id_type,$type) = mysql_fetch_row($services)){
$selected = ($info['idtype']==$id_type)?'selected':''; ?>
<option value="<?=$idtype?>"<?=$selected?>><?=$type?></option>
<?
}
}
else{?>
<option value="0">Все вопросы</option>
<?}?>
</select>
</
td>
</
tr>


<
td>
</
td>
<
td><br></br><input name="submit" type="submit" class="button" value="Добавить">
</
td>
</
tr>
</
form>
</
table>

Спустя 13 минут, 3 секунды (6.10.2011 - 13:44) TranceIT написал(а):

# Соединямся с БД
$link = mysql_connect("localhost", "root", "123456");
mysql_select_db("sql_jz_db", $link);



<option value="<?=$idtype?>"<?=$selected?>><?=$type?></option>

Дескрипторам php присваиваете переменные...

Спустя 41 минута, 13 секунд (6.10.2011 - 14:25) EatTheGuN написал(а):
А можно для особо понятливых как то подробней объяснить!?

Спустя 2 минуты, 9 секунд (6.10.2011 - 14:27) TranceIT написал(а):
Давайте попробуем разобраться вместе.
Переведите на русский язык вот этот кусочек:
value="<?=$idtype?>"

Спустя 1 час, 56 минут, 54 секунды (6.10.2011 - 16:24) EatTheGuN написал(а):
value это значение, idtype это как раз переменная.

$selected = ($info['idtype']==$id_type)?'selected':''; ?>
<option value="<?=$idtype?>"<?=$selected?>><?=$type?></option>

Эти строки я брал из похожего на мою ситуацию примера...Так что до конца не совсем понимаю что к чему.

Спустя 35 минут, 54 секунды (6.10.2011 - 17:00) TranceIT написал(а):
<?=$idtype?>

<? - открывающий PHP дескриптор
= - операция присвоения
$idtype - переменная

Теперь переводим на русский язык:
Присвоить открывающему дескриптору данные из переменной idtype.

Если вы не видите здесь простой ошибки, то вы не знаете синтаксис, а это основы основ.

Спустя 18 часов, 16 минут, 24 секунды (7.10.2011 - 11:16) EatTheGuN написал(а):
Я сразу сказал что я не гуру...начал вникать совсем недавно, поэтому и основы основ могу не знать!
я так понимаю что должно быть что то подобное
$idtype = $_POST ['idtype'];
?

Спустя 21 минута, 36 секунд (7.10.2011 - 11:38) XCross написал(а):
<?
$info=($_POST && $errors)?Format::input($_POST):array();
$services= mysql_query('SELECT * FROM '.TYPES.' WHERE isactive=1 ORDER BY type');
if($services && mysql_num_rows($services)) {
while (list($$id_type,$type) = mysql_fetch_row($services)){
$selected = ($info['idtype']==$id_type)?'selected':''; ?>
<option value="<?=$idtype?>"<?=$selected?>><?=$type?></option>
<?
}
}
else{?>
<option value="0">Все вопросы</option>
<?}?>


Используй буферизацию, так удобней будет. Избавляйся от short - тегов(<? ?>, <= >).


        foreach($err AS $error)
{
print $error."<br>";
}

Удобней использовать implode.


mysql_query("INSERT INTO `test` SET `fio` = '".mysql_real_escape_string($fio)."'");
mysql_query("SELECT * FROM `".TYPES."` WHERE `isactive` = 1 ORDER BY `type`");


Цитата
Присвоить открывающему дескриптору данные из переменной idtype. Бла-бла-бла....


<?=$idtype?>
это короткая запись
<?php echo $idtype; ?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.