|
|
|
| Помогите пожалуйста с выводом данных в выпадающий список я вывожу все данные ( что и меня не устраивает) из таблицы и вывожу их так, что переменная $pl совпадает с первичным ключом таблицы и при загрузки страницы в выпадающем списке отображаются данные соответствующие переменной $pl, вот по этому скрипту:
$resk = mysql_query("SELECT * FROM Poloj",$db);
while ($myroww = mysql_fetch_row($resk))
{
print ("<option value=$myroww[0]");
if ($pl==$myroww[0]) {
print (" selected");
}
print (">$myroww[2]</option>");
}
|
но мне нужно чтобы отображались не все данные, а только те данные что имеют вторичный ключ такой как и данные совпадающие с переменной $pl(те которые отображаются при загрузке страницы) Подскажите, кто знает как это можно сделать? | |
|
|
|
|
|
|
|
для: xpom
(14.10.2006 в 21:45)
| | Тогда SQL-запрос следует изменить следующим образом
"SELECT * FROM Poloj WHERE pl = $pl"
|
| |
|
|
|
|
|
|
|
для: cheops
(14.10.2006 в 22:20)
| | В данном случае pl это название какого поля в таблице? | |
|
|
|
|
|
|
|
для: xpom
(15.10.2006 в 11:58)
| | Вот я попробывал сделать такой скрипт:
$ress = mysql_query("SELECT * FROM Poloj",$db);
while ($mygyt = mysql_fetch_row($ress))
{
if ($pl==$mygyt[0]) {
$mygyt[1]=$kt;
}
}
$resk = mysql_query("SELECT * FROM Poloj WHERE Can = $kt",$db);
while ($myroww = mysql_fetch_row($resk))
{
print ("<option value=$myroww[0]");
if ($pl==$myroww[0]) {
print (" selected");
}
print (">$myroww[2]</option>");
}
|
но в впадающем списке ничего нет список пуст, кто знает подскажете что здесь не правильно?
Can - это внешний ключ,
первичный ключ в таблице самый первый столбик, т.е. в цикле $myroww[0] | |
|
|
|
|
|
|
|
для: xpom
(15.10.2006 в 13:14)
| | Вообще не выводятся тэги <option> или выводятся, но без названий? Попробуйте поставить проверку на правильность выполнения SQL-запроса
<?php
$resk = mysql_query("SELECT * FROM Poloj WHERE Can = $kt",$db);
if(!$resk) exit(mysql_error);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(15.10.2006 в 13:29)
| | Выпадающий список есть, но он узкий и пустой.
Попробывал поставить этот скрипт и после выпадающего списка все остальное не отображается? | |
|
|
|
|
|
|
|
для: xpom
(15.10.2006 в 13:49)
| | Я так понял что переменная $kt не может принять значение внешнего ключа?
Подскажите как сделать чтобы переменная $kt приняла значения внешнего ключа, исходя из переменной $pl которая имеет значение первичного ключа? Это в вот этой части скрипта:
$ress = mysql_query("SELECT * FROM Poloj",$db);
while ($mygyt = mysql_fetch_row($ress))
{
if ($pl==$mygyt[0]) {
$mygyt[1]=$kt;
}
}
|
Или каким нибудь другим путем можно это сделать? | |
|
|
|
|
|
|
|
для: xpom
(15.10.2006 в 14:31)
| | Можно передать это значение например через GET-параметр
Получить это значение в скрипте можно при помощи элемента суперглобального массива $_GET['kt']. | |
|
|
|
|
|
|
|
для: cheops
(15.10.2006 в 19:39)
| | А в этой странице больше никак не выйдет? Боюсь через GET-параметр не получится? | |
|
|
|
|
|
|
|
для: xpom
(15.10.2006 в 21:48)
| | У вас $kt откуда берётся? Просто напишите
| |
|
|
|
|
|
|
|
для: cheops
(16.10.2006 в 00:03)
| | Вот у меня есть переменная $pl которая уже имеет значение первичного ключа таблицы, а мне нужно чтобы переменная $kt приняла значение внешнего ключа тех данных которые выведутся с помощь переменной $pl? Как это можно осуществить? | |
|
|
|
|
|
|
|
для: xpom
(16.10.2006 в 18:04)
| | Если не сложно, приведите пример вывода данных при помощи $pl? | |
|
|
|
|
|
|
|
для: cheops
(16.10.2006 в 22:24)
| | Пример вывода данных при помощи $pl
print ("<select size='1' name='pl'>");
$resk = mysql_query("SELECT * FROM Poloj ",$db);
while ($myrowk = mysql_fetch_row($resk))
{
print ("<option value=$myrowk[0]");
if ($pl==$myrowk[0]) {
print (" selected");
}
print (">$myrowk[2]</option>");
}
print ("</select>");
|
| |
|
|
|
|
|
|
|
для: xpom
(17.10.2006 в 09:57)
| | $pl это я так понимаю выбранное значение? А значение $kt у вас откуда поступает? | |
|
|
|
|
|
|
|
для: cheops
(17.10.2006 в 14:00)
| | Нет $pl это не выбранное значение. Значение $pl нам уже за ранее известно, просто выбираются все данные из таблицы в выпадающий список и при загрузки страницы отображаются данные имеющие значение $pl как значение первичного ключа (опечатка в скрипте name='fli'). А значение $kt не откуда не поступает, это я хотел присвоить этой переменной $kt такое значение внешнего ключа, какое значение имеют данные отображенные переменной $pl.
Например: у нас есть категории (переменная $kt (внешний ключ)) и подкатегории (переменная $pl (первичный ключ)), нужно чтобы вывелись в выпадающий список подкатегории не все а только определенной категории? | |
|
|
|
|
|
|
|
для: xpom
(17.10.2006 в 20:07)
| | Не понятно. Вы реализуете двойной выпадающий список http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=7586 или одинарный? | |
|
|
|
|
|
|
|
для: cheops
(17.10.2006 в 21:47)
| | По этой ссылки немного не так. Там при выборе категории в одной форме берутся подкатегории этой категории и всталяются в другую форму. А нужно чтобы при выборе в одной форме подкатегории в другой форме отображались подкатегории только той категории откуда и та выбранная подкатегория? Суть ясна? | |
|
|
|
|
|
|
|
для: xpom
(17.10.2006 в 23:12)
| | Имеется ввиду что-то вроде этого?
<form name="form" method="post">
<?php
$ress = mysql_query("SELECT * FROM Poloj",$db);
if(!$ress) exit(mysql_error);
if(mysql_num_rows($ress))
{
echo '<select name="select" onchange=\'this.form.submit()\'>';
while ($mygyt = mysql_fetch_row($ress))
{
if ($_POST['select'] == $mygyt[0]) $selected = "selected";
else $selected = "selected";
echo "<option value=$mygyt[0] $selected>$mygyt[2]</option>";
}
echo "</select>";
if(!empty($_POST['select']))
{
if(preg_match("#^[\d]+$#",$_POST['select'])) exit("Не верный формат запроса");
$sub = mysql_query("SELECT * FROM Poloj WHERE = $_POST[select]",$db);
if(!$ress) exit(mysql_error);
if(mysql_num_rows($ress))
{
echo '<select name="select_sub" onchange=\'this.form.submit()\'>';
while ($mygyt = mysql_fetch_row($ress))
{
if ($_POST['select_sub'] == $mygyt[0]) $selected = "selected";
else $selected = "selected";
echo "<option value=$mygyt[0] $selected>$mygyt[2]</option>";
}
echo "</select>";
}
}
}
?>
</form>
|
| |
|
|
|
|
|
|
|
для: cheops
(18.10.2006 в 01:00)
| | Да вроде этого. Толька как его подправить, если уже есть значение подкатегории на этой странице в переменной $pfe, следовательно можно убрать первый выпадающий список?
P.S.
Подскажите что означают некоторые действия?
onchange=\'this.form.submit()\'>' ?
!empty($_POST['select']) ?
preg_match("#^[\d]+$#",$_POST['select']) ? | |
|
|
|
|
|
|
|
для: xpom
(18.10.2006 в 18:40)
| | Следует элементу $_POST['select'] присвоить значение $pfe.
>onchange=\'this.form.submit()\'>'
Эта строка означает, что следует отправлять результаты формы сразу после того как выбрано значение из выпадающего списка.
>!empty($_POST['select']) ?
Данное выражение возвращает true, если значение $_POST['select'] не пустое, и false, если пустое или не определено.
>preg_match("#^[\d]+$#",$_POST['select']) ?
Это выражение проверяет является ли значение $_POST['select'] числом или нет. | |
|
|
|
|
|
|
|
для: cheops
(18.10.2006 в 22:54)
| | Да, элементу $_POST['select'] присвоить значение $pfe? | |
|
|
|