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 написал(а):
Смотри, что выводит
Placido , не в этом дело. Mysql_fetch_array вызывает и ассоциативный массив, и числовой, но к массиву все равно как к ассоциативному ТС обращается
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
что делать? внимательнее читать, написал же, 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) Делай не то,что сам думаешь, а именно как я указал
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й день, никто не может толком ничего сказать, а к спеху.
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 написал(а):

_____________
jallvar.oxnull.net - мой блог.