Реализую следующую ситуацию:
Есть две формы селекта.
1-ая марка
2-ая модель
(И есть одна таблица)
Действие:
Делаю первый запрос - получаю список марок в селект:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <? PHP
- // первый запрос для первого селекта (марки):
- ?>
- <select id="select-1" style="width:280px" name="slct2">
- <option value="0">выбирите марку...</option>
- <?
- for ($i =1; $i < $num2; $i++) // сколько оригинальных строк, столько делаем и пунктов в селекте
- {
- echo "<option value=$marka_auto>$marka_auto</option>"; // вводим в пункты селекта название марок
- }
- ?>
- </select>
- <input type="submit" name="btn" value='Ok...'> // отсылаем программе значение 1-го селекта (т.е. название марки)
- <?PHP
- $p2 = @$_POST['slct2']; //получаем $p2 (наименование марки, НО оно почему-то только до пробела! если "МАРКА-X2", то переменная нормальная, а если "МАРКА Х2", то $_POST возвращает "МАРКА". Почему так, не разобрался, но суть не в этом.)
- // Делаем второй запрос для второго селекта (модели):
- $result3 = mysql_query ("SELECT DISTINCT model, marka FROM select_baga WHERE marka LIKE '$p2%'", $db);
- // почему сделал $p2%? Потому-что
- ?>
- <form name="data_input_2" method="post">
- <select id="select-2" style="width:280px" name="slct3">
- <option value="0">Выберите модель...</option>
- <?
- for ($i2 =0; $i2 < $num3; $i2++) // сколько оригинальных строк, столько делаем и пунктов в селекте
- {
- echo "<option value=$model_auto>$model_auto</option>"; // вводим в пункты селекта название моделей
- }
- ?>
- </select>
- <input type="submit" name="btn2" value='Ok...'> // отсылаем программе значение 2-го селекта (т.е. название модели)
- <?PHP
- // Это ТРЕТИЙ запрос (вывод таблицы) !!!!!!!!!!
- $p3 = @$_POST['slct3']; //получаем $p3 из 2-го селекта, ситуация с пробелом, такая же как и с $p2
- // а хотелось бы так ("SELECT * FROM select_baga WHERE model = '$p3' AND marka=$p2", $db);
- // ВОТ В ЭТОМ И ГЛАВНЫЙ КАМЕНЬ ПРЕТКНОВЕНИЯ! (см. после кода.)
- ?>
- <font face="Trebuchet MS" size="2">
- <br><br>
- корректный вывод данных:
- <br>
- <table border="1" cellpadding="5" cellspacing="0" bordercolor="#999999">
- <tr>
- <th>марка</th>
- <th>модель</th>
- <th>...и так далее...</th>
- <th>...и так далее...</th>
- </tr>
- <?
- for ($i3 =0; $i3 < $num4; $i3++)
- {
- echo " <tr align='center'>
- <td>$pole_00</td>
- <td>$pole_01</td>
- <td>$pole_02</td>
- <td>$pole_03</td>
- </tr>";
- }
- ?>
- </table>