[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Подпункты
jalvar
Функция
	function load_menu($position){
$query=mysql_query("SELECT * FROM menu WHERE position='".$position."' AND public='1'");
$num=mysql_num_rows($query);
if($num > 0)
{
while($row=mysql_fetch_array($query))
{
echo '<li><a href="'.$row["link"].'"><span class="l"></span><span class="r"></span><span class="t">'.$row["name"].'</a>';
$query2=mysql_query("SELECT * FROM menu WHERE mother='".$row['id']."' AND public='1'");
$num2=mysql_num_rows($query2);
if($num2 > 0)
{
echo '<ul>';
while($row2=mysql_fetch_array($query2))
{
echo '<li><a href="'.$row2["link"].'"><span class="l"></span><span class="r"></span><span class="t">'.$row2["name"].'</a></li>';
}
echo '</ul>';
}
echo'</li>';
}
}

else
{
echo '<li><a href="#"><span class="l"></span><span class="r"></span><span class="t">Меню пусто</a></li>';
}

}


При выводе под пунктов. Выводятся по две ссылки. Т.е. добавляеться 2ая копия ссылки в подпункте. Почему? И так с каждой



Спустя 10 минут, 9 секунд (3.02.2012 - 21:51) Placido написал(а):
Из-за того, что вместо mysql_fetch_array() нужно использовать mysql_fetch_assoc().

Спустя 32 минуты, 23 секунды (3.02.2012 - 22:24) nugle написал(а):
Смотри, что выводит
function load_menu($position){
$query=mysql_query("SELECT * FROM menu WHERE position='".$position."' AND public='1'");
$num=mysql_num_rows($query);
if($num > 0)
{
while($row=mysql_fetch_array($query))
{
echo '<li><a href="'.$row["link"].'"><span class="l"></span><span class="r"></span><span class="t">'.$row["name"].'</a>';
$query2=mysql_query("SELECT * FROM menu WHERE mother='".$row['id']."' AND public='1'");
$num2=mysql_num_rows($query2);
if($num2 > 0)
{
echo '<ul>';
while($row2=mysql_fetch_array($query2))
{
var_dump($row2);
echo '<li><a href="'.$row2["link"].'"><span class="l"></span><span class="r"></span><span class="t">'.$row2["name"].'</a></li>';
}
echo '</ul>';
}
echo'</li>';
}
}

else
{
echo '<li><a href="#"><span class="l"></span><span class="r"></span><span class="t">Меню пусто</a></li>';
}

}

Placido , не в этом дело. Mysql_fetch_array вызывает и ассоциативный массив, и числовой, но к массиву все равно как к ассоциативному ТС обращается

Спустя 12 часов, 4 минуты, 10 секунд (4.02.2012 - 10:28) Placido написал(а):
Цитата (nugle @ 3.02.2012 - 21:24)
Placido , не в этом дело. Mysql_fetch_array вызывает и ассоциативный массив, и числовой, но к массиву все равно как к ассоциативному ТС обращается

nugle
Дело как раз в этом. echo срабатывает по два раза, правда, в href="" один раз из этих двух значения не будет, но html все равно выводится, и поэтому отображается и вторая ссылка, хотя она и ведет "в никуда".

Спустя 2 часа, 25 минут, 35 секунд (4.02.2012 - 12:53) jalvar написал(а):
Так что с этим делать?

Спустя 11 минут (4.02.2012 - 13:04) jalvar написал(а):
mysql_fetch_assoc и mysql_fetch_row не помогает!

Спустя 33 минуты, 34 секунды (4.02.2012 - 13:38) nugle написал(а):
jalvar
что делать? внимательнее читать, написал же, var_dump

Спустя 31 минута, 5 секунд (4.02.2012 - 14:09) jalvar написал(а):
Спасибо. Не увидел
Совсем запутался. Чем мне это поможет. То что есть копии я и сам знаю.

Спустя 31 минута, 27 секунд (4.02.2012 - 14:41) nugle написал(а):
Понимаешь, многоуважаемый jalvar, это поможет мне, сделай так, выложи результат дамп
function load_menu($position){
$query=mysql_query("SELECT * FROM menu WHERE position='".$position."' AND public='1'");
$num=mysql_num_rows($query);
if($num > 0)
{
while($row=mysql_fetch_assoc($query))
{
echo '<li><a href="'.$row["link"].'"><span class="l"></span><span class="r"></span><span class="t">'.$row["name"].'</a>';
$query2=mysql_query("SELECT * FROM menu WHERE mother='".$row['id']."' AND public='1'");
$num2=mysql_num_rows($query2);
if($num2 > 0)
{
echo '<ul>';
while($row2=mysql_fetch_assoc($query2))
{
var_dump($row2);
echo '<li><a href="'.$row2["link"].'"><span class="l"></span><span class="r"></span><span class="t">'.$row2["name"].'</a></li>';
}
echo '</ul>';
}
echo'</li>';
}
}

else
{
echo '<li><a href="#"><span class="l"></span><span class="r"></span><span class="t">Меню пусто</a></li>';
}

}


Спустя 4 минуты, 47 секунд (4.02.2012 - 14:45) jalvar написал(а):
 <li><a href="index.php?main"><span class="l"></span><span class="r"></span><span class="t">Главная</a><ul>array(12) {
[0]=>
string(1) "2"
["id"]=>
string(1) "2"
[1]=>
string(7) "Новости"
["name"]=>
string(7) "Новости"
[2]=>
string(17) "index.php?do=news"
["link"]=>
string(17) "index.php?do=news"
[3]=>
string(4) "main"
["position"]=>
string(4) "main"
[4]=>
string(1) "1"
["public"]=>
string(1) "1"
[5]=>
string(1) "1"
["mother"]=>
string(1) "1"
}
<li><a href="index.php?do=news"><span class="l"></span><span class="r"></span><span class="t">Новости</a></li>array(12) {
[0]=>
string(1) "3"
["id"]=>
string(1) "3"
[1]=>
string(9) "Ещё пункт"
["name"]=>
string(9) "Ещё пункт"
[2]=>
string(18) "index.php?do=punkt"
["link"]=>
string(18) "index.php?do=punkt"
[3]=>
string(4) "main"
["position"]=>
string(4) "main"
[4]=>
string(1) "1"
["public"]=>
string(1) "1"
[5]=>
string(1) "1"
["mother"]=>
string(1) "1"
}
<li><a href="index.php?do=punkt"><span class="l"></span><span class="r"></span><span class="t">Ещё пункт</a></li></ul></li><li><a href="index.php?do=news"><span class="l"></span><span class="r"></span><span class="t">Новости</a></li><li><a href="index.php?do=punkt"><span class="l"></span><span class="r"></span><span class="t">Ещё пункт</a></li>

Спустя 3 минуты, 9 секунд (4.02.2012 - 14:49) nugle написал(а):
jalvar
1) Оформляй аккуратно
2) Делай не то,что сам думаешь, а именно как я указал

Спустя 5 часов, 36 минут, 6 секунд (4.02.2012 - 20:25) jalvar написал(а):
Так оно и есть. Я полностью кинул

Спустя 21 минута, 51 секунда (4.02.2012 - 20:46) nugle написал(а):
jalvar
если бы как я сделал, у тебя бы не было числовых массивов

Спустя 7 минут, 44 секунды (4.02.2012 - 20:54) jalvar написал(а):
Сделал всё как ты просил. Я ничего нипонмаю. Почему неработает? Почему массивы числовые? Что вобще происходит. Делаю так как ты говоришь небольше, не меньше..
C этим торчу уже 3й день, никто не может толком ничего сказать, а к спеху.

Спустя 3 минуты, 18 секунд (4.02.2012 - 20:57) nugle написал(а):
jalvar
ну что, как дамп выглядит?
нормально код выведи, так не удобно читать, уважай своих коллег

Спустя 1 час, 1 минута, 11 секунд (4.02.2012 - 21:59) jalvar написал(а):
Так и выглядит дамп...

Спустя 41 минута, 8 секунд (4.02.2012 - 22:40) Placido написал(а):
Еще раз. Замени везде в своем скрипте mysql_fetch_array() на mysql_fetch_assoc().

Спустя 2 минуты, 19 секунд (4.02.2012 - 22:42) nugle написал(а):
Placido
уже раз пятый ему, наверное, пишу)

Спустя 22 минуты, 53 секунды (4.02.2012 - 23:05) jalvar написал(а):
Так у меня fetch_assoc стоит.

Спустя 2 минуты, 28 секунд (4.02.2012 - 23:07) jalvar написал(а):
Перезагрузил сервер.
                                                          <li><a href="index.php?main"><span class="l"></span><span class="r"></span><span class="t">Главная</a><ul>array(6) {
["id"]=>
string(1) "2"
["name"]=>
string(7) "Новости"
["link"]=>
string(17) "index.php?do=news"
["position"]=>
string(4) "main"
["public"]=>
string(1) "1"
["mother"]=>
string(1) "1"
}
<li><a href="index.php?do=news"><span class="l"></span><span class="r"></span><span class="t">Новости</a></li>array(6) {
["id"]=>
string(1) "3"
["name"]=>
string(9) "Ещё пункт"
["link"]=>
string(18) "index.php?do=punkt"
["position"]=>
string(4) "main"
["public"]=>
string(1) "1"
["mother"]=>
string(1) "1"
}
<li><a href="index.php?do=punkt"><span class="l"></span><span class="r"></span><span class="t">Ещё пункт</a></li></ul></li><li><a href="index.php?do=news"><span class="l"></span><span class="r"></span><span class="t">Новости</a></li><li><a href="index.php?do=punkt"><span class="l"></span><span class="r"></span><span class="t">Ещё пункт</a></li>

Спустя 14 часов, 28 минут, 14 секунд (5.02.2012 - 13:36) jalvar написал(а):
Это нужно было?

Спустя 34 минуты, 46 секунд (5.02.2012 - 14:10) nugle написал(а):
что у тебя выводит mysql? попробуй вывести запрос и вставить его напрямую в бд

Спустя 43 минуты, 33 секунды (5.02.2012 - 14:54) jalvar написал(а):
user posted image


_____________
jallvar.oxnull.net - мой блог.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.