Lyahasik
Новичок
Добрый день.
Реализовал присваивание значения выпадающего списка переменной через $_POST. Все было хорошо пока не стал присваивать значение 2го выпадающего списка другую переменную. Первая форма выводит данные таблицы из БД, а вторая группирует повторяющиеся поля т.к. много повторений.
Вот собственно и код:
<?php
echo '<form method="post">';
echo '<select name="table" size="1" >';
echo '<option selected="selected" value="second">Таблица</option>';
echo '<option value="kitchen"> Кухни </option>';
echo '<option value="living"> Гостиные </option>';
echo '<option value="furniture"> Мягкая мебель </option>';
echo '<option value="children"> Детские </option>';
echo '<option value="bedrooms"> Спальни </option>';
echo '<option value="antechambers"> Прихожие </option>';
echo '<option value="tables"> Компьютерные столы </option>';
echo '<option value="cabinets"> Шкафы </option>';
echo '<option value="interior"> Интерьер </option>';
echo '</select>';
echo '<input type="submit" value="Выбрать" />';
echo '</form>';
if ($_POST['table']=='kitchen') $table=$_POST['table'];
if ($_POST['table']=='living') $table=$_POST['table'];
if ($_POST['table']=='furniture') $table=$_POST['table'];
if ($_POST['table']=='children') $table=$_POST['table'];
if ($_POST['table']=='bedrooms') $table=$_POST['table'];
if ($_POST['table']=='antechambers') $table=$_POST['table'];
if ($_POST['table']=='tables') $table=$_POST['table'];
if ($_POST['table']=='cabinets') $table=$_POST['table'];
$stable=$_POST['table'];
if(isset($stable))
{
$qr_result1 = mysql_query("select * from " . $table)
or die(mysql_error());
}
?>
Первую форму сделал статичной ибо не знаю возможно ли присвоить переменной перечень названий таблиц не создавая для этого доп. таблицу. Вторая форма уже зависит от значения первой переменной и массивом выводит информацию из столбца с группами товаров.
<?php
echo '<form method="post">';
echo '<select name="group" size="1">';
echo '<option selected="selected" value="second">Группа</option>';
$result2 = mysql_query("SELECT `groups` FROM " . $table . " GROUP BY `groups` ");
while($myrow = mysql_fetch_array($result2)) {
echo "<option value=" . $myrow['groups'] . ">" . $myrow['groups'] . "</option>";
}
echo '</select>';
echo '<input type="submit" value="Выбрать" />';
echo '</form>';
$sgroup=$_POST['group'];
if(isset($sgroup))
{
$qr_result1 = mysql_query("select * from " . $table . " WHERE `groups`='$group'")
or die(mysql_error());
}
?>
Как я понял не получается т.к. $_POST меняется по нажатию кнопки на 2ой форме и $_POST['table'] становится пустым. Можно приравнять переменную как нить так чтобы она 1 раз задалась и потом не зависела от значения $_POST['table']?
После этого планирую изменять выведенную инфу с последующим изменением записи в БД, но это в случае если получится переменные с форм брать нормально.
Реализовал присваивание значения выпадающего списка переменной через $_POST. Все было хорошо пока не стал присваивать значение 2го выпадающего списка другую переменную. Первая форма выводит данные таблицы из БД, а вторая группирует повторяющиеся поля т.к. много повторений.
Вот собственно и код:
<?php
echo '<form method="post">';
echo '<select name="table" size="1" >';
echo '<option selected="selected" value="second">Таблица</option>';
echo '<option value="kitchen"> Кухни </option>';
echo '<option value="living"> Гостиные </option>';
echo '<option value="furniture"> Мягкая мебель </option>';
echo '<option value="children"> Детские </option>';
echo '<option value="bedrooms"> Спальни </option>';
echo '<option value="antechambers"> Прихожие </option>';
echo '<option value="tables"> Компьютерные столы </option>';
echo '<option value="cabinets"> Шкафы </option>';
echo '<option value="interior"> Интерьер </option>';
echo '</select>';
echo '<input type="submit" value="Выбрать" />';
echo '</form>';
if ($_POST['table']=='kitchen') $table=$_POST['table'];
if ($_POST['table']=='living') $table=$_POST['table'];
if ($_POST['table']=='furniture') $table=$_POST['table'];
if ($_POST['table']=='children') $table=$_POST['table'];
if ($_POST['table']=='bedrooms') $table=$_POST['table'];
if ($_POST['table']=='antechambers') $table=$_POST['table'];
if ($_POST['table']=='tables') $table=$_POST['table'];
if ($_POST['table']=='cabinets') $table=$_POST['table'];
$stable=$_POST['table'];
if(isset($stable))
{
$qr_result1 = mysql_query("select * from " . $table)
or die(mysql_error());
}
?>
Первую форму сделал статичной ибо не знаю возможно ли присвоить переменной перечень названий таблиц не создавая для этого доп. таблицу. Вторая форма уже зависит от значения первой переменной и массивом выводит информацию из столбца с группами товаров.
<?php
echo '<form method="post">';
echo '<select name="group" size="1">';
echo '<option selected="selected" value="second">Группа</option>';
$result2 = mysql_query("SELECT `groups` FROM " . $table . " GROUP BY `groups` ");
while($myrow = mysql_fetch_array($result2)) {
echo "<option value=" . $myrow['groups'] . ">" . $myrow['groups'] . "</option>";
}
echo '</select>';
echo '<input type="submit" value="Выбрать" />';
echo '</form>';
$sgroup=$_POST['group'];
if(isset($sgroup))
{
$qr_result1 = mysql_query("select * from " . $table . " WHERE `groups`='$group'")
or die(mysql_error());
}
?>
Как я понял не получается т.к. $_POST меняется по нажатию кнопки на 2ой форме и $_POST['table'] становится пустым. Можно приравнять переменную как нить так чтобы она 1 раз задалась и потом не зависела от значения $_POST['table']?
После этого планирую изменять выведенную инфу с последующим изменением записи в БД, но это в случае если получится переменные с форм брать нормально.