|
автор: caaseer (18.11.2005 в 00:57) |
|
| я ламер в пхп, но хочу сделать так.
У меня есть 3 таблицы news, news1 и news2
есть форма через которую добавляются данные в таблицы. вот как мне сделать выбор через
<select size="1" name="lang">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
|
тоесть если я выбрал 1, то данные добавились в таблицу news, если выбрал 2, то данные добавились в таблицу news1 итд. Спасибо... | |
|
|
|
|
|
|
|
для: caaseer
(18.11.2005 в 00:57)
| | В обработчике HTML-формы c выпадающим списком необходимо использовать следующую конструкцию
<?php
switch($_POST['lang'])
{
case 1:
$query = "INSERT INTO news VALUES (...)";
break;
case 2:
$query = "INSERT INTO news1 VALUES (...)";
break;
case 3:
$query = "INSERT INTO news2 VALUES (...)";
break;
}
if(!mysql_query($query)) exit(mysql_error());
?>
|
PS Вопросы, посвящённые MySQL, лучше сразу помещать в разделе MySQL | |
|
|
|
|
|
|
|
для: caaseer
(18.11.2005 в 00:57)
| | На самом деле лучше сделать две таблицы: в одной у вас будут хранится идентификаторы и названия категорий новостей - news1, news 2 и news 3.
Первая таблица (news_cats)будет содержать:
id, name
Во второй таблице у вас будут хранится сами новости:
Вторая (news_text):
id
cid или cat_id (принадлежность новости к определенной категории)
date
title
text
Тем самым вы уберете ненужные таблицы
Вывод у вас наверное будет всех новостей из базы, так что этот вопрос можно не рассматривать
А вот как добавить:
$sql = "Select * from news_cats";
$result = mysql_query( $sql );
echo '<select name="cid">';
while ($row= mysql_fetch_array($result))
{
echo '<option value="'.$row['id'].'">';
echo '---'.$row['title'];
echo '</option>';
}
echo '
</select>
|
P.S. Sorry, могут попасться ошибки, так как сам не выводил этот код, но смысл таков | |
|
|
|
|
автор: caaseer (18.11.2005 в 02:45) |
|
|
для: Clocker
(18.11.2005 в 02:08)
| | Спасибо, там будут не новости а информация на разных языках, так что вот этот пример больше подходит
<?php
switch($_POST['lang'])
{
case 1:
$query = "INSERT INTO news VALUES (...)";
break;
case 2:
$query = "INSERT INTO news1 VALUES (...)";
break;
case 3:
$query = "INSERT INTO news2 VALUES (...)";
break;
}
if(!mysql_query($query)) exit(mysql_error());
?>
|
только можно чуть чуть подробней, как использовать конструкцию в обработчике? | |
|
|
|
|
|
|
|
для: caaseer
(18.11.2005 в 02:45)
| | Просто вставляйте её в любом месте до выполнения SQL-запроса, если переменная lang принимает значение 1, срабатывает перевый блок case, если 2 - второй, если 3 - третий.
Да, только следует исправить HTML-форму следующим образом
<select size="1" name="lang">
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
</select>
|
| |
|
|
|
|
автор: caaseer (18.11.2005 в 18:03) |
|
|
для: cheops
(18.11.2005 в 13:27)
| | Спасибо получилось:) | |
|
|
|