-
Вебмастеру
(
http://forum.oszone.net/forumdisplay.php?f=22)
Поиск одинаковых значений в одной таблице MySQL
Никак не могу разобраться (((
Есть таблица:
id (A_I)
id_slave (NULL)
link
title
Таблица должна выводить меню по разделам:
Фрукты:
Яблоко
Апельсин
...
Овощи:
Свекла
Морковь
...
Для дочерних ссылок поле id_slave и существует, оно равно родительскому id, т.о.:
Код:
id id_slave title
1 0 Фрукты
2 1 Яблоко
3 1 Апельсин
4 1 .....
5 0 Овощи
6 5 Свекла
7 5 Морковь
8 5 ...
Вроде как получилось сделать:
PHP код:
$res_sel_ul = mysql_query("SELECT * FROM link");
$arr_sel_ul = mysql_fetch_array($res_sel_ul);
echo $td."<select name='".$name_input[$x]."'style='width:auto;' size=16 id='id_slave'>";
do{
$res_sel_group = mysql_query ("SELECT * FROM link WHERE id_slave='".$arr_sel_ul['id']."'");
$arr_sel_group=mysql_fetch_array ($res_sel_group);
if ($arr_sel_group) {printf ("<option value='%s'>%s</option>",
$arr_sel_ul['id'], $arr_sel_ul['title']);
do {printf ("<option value='%s'>>>>>%s</option>",$arr_sel_group['id'], $arr_sel_group['title']);}
while ($arr_sel_group=mysql_fetch_array ($res_sel_group));
}
else
{
printf ("<option value='%s'>%s</option>",
$arr_sel_ul['id'], $arr_sel_ul['title']);}//else
} //do
while ($arr_sel_ul = mysql_fetch_array($res_sel_ul));
echo "</select>".$td_e;
Но осталась одна небольшая проблема, которую я не знаю как решить.
Он выдает вот так:
HTML код:
<select name="id_slave" style="width:auto;" size="16" id="id_slave">
<option value="1">Фрукты</option>
<option value="5">>>>>Яблоко</option>
<option value="2">>>>>Апельсины</option>
<option value="3">Овощи</option>
<option value="6">>>>>Свекла</option>
<option value="7">>>>>Морковь</option>
<option value="5">Яблоко</option>
<option value="2">Апельсины</option>
..............................
</select>
А должно быть:
HTML код:
<select name="id_slave" style="width:auto;" size="16" id="id_slave">
<option value="1">Фрукты</option>
<option value="5">>>>>Яблоко</option>
<option value="2">>>>>Апельсины</option>
<option value="3">Овощи</option>
<option value="6">>>>>Свекла</option>
<option value="7">>>>>Морковь</option>
</select>
Как сделать так чтобы он не выводил уже "выведенное"????
Хочу сделать без использования дополнительной таблицы.
|
Ответ прост, вместо:
PHP код:
$res_sel_ul = mysql_query("SELECT * FROM link");
Надо было ввести:
PHP код:
$res_sel_ul = mysql_query("SELECT * FROM link WHERE id_slave='0'");
|
Время: 02:36.
© OSzone.net 2001-