[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: php вывод выподаюшего списка категорий
radjab
Здравствуйте я начинающий программист и у меня возникла проблема как создать рубрику из категорий для доски обьявлений как например в Slando.ru. я написал код он показывает категорию и рубрики он только не в форме выподаюшего списка .. помогите решить вопрос ..как из этого кода сделать эта ,?

 
<?
$tr=0;
$qr = "SELECT * FROM categ ORDER BY counts DESC";
$r = mysql_query($qr);
while ($rr = mysql_fetch_array($r))
{
$nr = mysql_query("SELECT id FROM object WHERE blok !='2' ".$regs." and id_categ='".$rr['id_categ']."'");
$nrr=mysql_num_rows($nr);

echo ' <td style="padding:5px 5px 0px 5px;" valign="top">


<div style="background-color:#cccccc; padding-bottom:5px;">
<img src="img1/rr.png" align=absbottom width=32 height=30 border=0>
<b>
<a class=tst8 href="ind.php?id_categ='
.$rr['id_categ'].'&tr=1">'.$rr['categ'].'</a></b><font>('.$nrr.')</font></div>';



$qr1 = "SELECT * FROM typ WHERE id_categ='".$rr['id_categ']."' ORDER BY typ";
$r1 = mysql_query($qr1);
while ($rr1 = mysql_fetch_array($r1))
{
$nr1 = mysql_query("SELECT id FROM object WHERE blok !='2' ".$regs." and id_typ='".$rr1['id_typ']."'");
$nrr1=mysql_num_rows($nr1);
echo ' <div style=padding-left:5px;><a href="ind.php?id_typ='.$rr1['id_typ'].'&tr=1">'.$rr1['typ'].'</a> <font class=text-min>('.$nrr1.')</font></div>';
}
echo '</td>';

$tr++;
if ($tr==3) {echo '</tr><tr>'; $tr=0;}
}

?>





Спустя 5 минут, 28 секунд (4.10.2012 - 09:50) Игорь_Vasinsky написал(а):
дубль2 ???

я тебе же написал - что нужно использовать select из HTML

до цикла <select> после пишешь </select>

внутри цикла пишешь <option value="данные из БД">данные из БД</option>

Спустя 56 минут, 11 секунд (4.10.2012 - 10:46) radjab написал(а):
я писал не получилось у меня

Спустя 1 минута, 48 секунд (4.10.2012 - 10:48) Игорь_Vasinsky написал(а):
300 рублей. у меня получиться.

Спустя 1 минута, 26 секунд (4.10.2012 - 10:50) radjab написал(а):
а что без денег не можешь помочь ?

Спустя 16 минут, 39 секунд (4.10.2012 - 11:06) Игорь_Vasinsky написал(а):
а что ты делаешь?

Спустя 1 минута, 15 секунд (4.10.2012 - 11:08) m4a1fox написал(а):
Игорь_Vasinsky
Цитата
а что ты делаешь?

Красавчик! biggrin.gif

Спустя 7 минут, 58 секунд (4.10.2012 - 11:16) radjab написал(а):
как что делаю пытаюсь чтоб скрипт заработал . мы помогите если можете ?

Спустя 3 минуты, 11 секунд (4.10.2012 - 11:19) killer8080 написал(а):
Цитата (radjab @ 4.10.2012 - 10:46)
я писал не получилось у меня

ну так покажи, что писал.

Спустя 11 минут, 32 секунды (4.10.2012 - 11:30) radjab написал(а):
вот что пришло в голову только эта не то что мне нужно .




<form name="form1" method="post" action="">


<div>
<label><h3
class="h_imput">* Выберите категорию:</h3><br>
<select
class="imput_s" name="kat" id="kat" onFocus="this.style.background='#FFFFFF'" onBlur="this.style.background='#C9CFE8'">
<option
value=""></option>
<?PHP

$result = mysql_query ("SELECT * FROM categ ORDER BY counts DESC");
while ($myrow = mysql_fetch_array ($result))
{
echo "<option value='$myrow[id_categ]'></option>\n";
}
?>
</select>
</label>
</div>

<div>
<label><h3
class="h_imput"> Выберите раздел:</h3><br>
<select
class="imput_s" name="razdel" id="razdel" onFocus="this.style.background='#FFFFFF'" onBlur="this.style.background='#C9CFE8'">
<option
value=""></option>
<?PHP

$result2 = mysql_query ("SELECT * FROM typ WHERE id_categ='".$rr['id_categ']."' ORDER BY typ");
while ($myrow2 = mysql_fetch_array ($result2))
{
echo "<option value='href="ind.php?id_typ='.$rr1['id_typ'].'&tr=1">'.$rr1['typ'].'</option>\n";
}
?>
</select>
</label>
</div></form>



Спустя 14 минут, 39 секунд (4.10.2012 - 11:45) m4a1fox написал(а):
radjab
Цитата
mysql_fetch_array

Почему ты используешь именно _array

Спустя 3 минуты, 49 секунд (4.10.2012 - 11:49) radjab написал(а):
вот на этом коде все работает
<form>
<select
name="java-navigator" onchange="top.location.href = this.options[this.selectedIndex].value;" size="1">
<?

$r_select = mysql_query ("SELECT * FROM categ ORDER BY categ") or die(mysql_error());
while ($rr_select = mysql_fetch_array($r_select))
{ ?>
<option
style=" background-color:#DDDDDD" value="ind.php?id_categ=<? echo $rr_select['id_categ']; ?>&tr=1" <? if ($vibor=="id_categ=".$rr_select['id_categ']) echo "selected";?>><? echo strtoupper($rr_select['categ']); ?></option>
<?

$r_sel = mysql_query ("SELECT * FROM typ WHERE id_categ='".$rr_select['id_categ']."' ORDER BY typ") or die(mysql_error());
$nr_sel=mysql_num_rows($r_sel);
if($nr_sel>0)
{
while ($rr_sel = mysql_fetch_array($r_sel))
{ ?>
<option
value="ind.php?id_typ=<? echo $rr_sel['id_typ']; ?>&tr=1" <? if ($vibor=="id_typ=".$rr_sel['id_typ']) echo "selected";?>><? echo " - ".$rr_sel['typ']; ?></option>
<?
}}} ?>
</select>
</form>



только мне нужно чтоб все категории были по отдельности и при нажатии выводили подкатегории как на сайте slando.ru выводит рубрики ..подскажите пожалуйста как этого добиться ?

Спустя 3 минуты, 35 секунд (4.10.2012 - 11:52) m4a1fox написал(а):
radjab
Я задал конкретный вопрос, почему используешь mysql_fetch_array(). Ты хочешь научиться, или хочешь что бы тебе сделали?

Спустя 3 минуты, 31 секунда (4.10.2012 - 11:56) radjab написал(а):
хочу научится .у меня был курс 2007 года я от туда взял mysql_fetch_array()но потом переделал полностью по скольку не работал скрипт

Спустя 3 минуты, 11 секунд (4.10.2012 - 11:59) m4a1fox написал(а):
radjab
Читаем про array()
Читаем про assoc()

Спустя 3 минуты, 42 секунды (4.10.2012 - 12:03) radjab написал(а):
m4a1fox


mysql_fetch_assoc ()что ли нужно использовать вместо mysql_fetch_array()?

Спустя 7 минут, 55 секунд (4.10.2012 - 12:11) Игорь_Vasinsky написал(а):
рекомендуем. экономней.

то что ты хочешь на называется динамический select - погугли. там используется ajax

Спустя 13 секунд (4.10.2012 - 12:11) m4a1fox написал(а):
radjab
Цитата
mysql_fetch_assoc ()что ли нужно использовать вместо mysql_fetch_array()?

Почему ты так решил?

Спустя 2 минуты, 33 секунды (4.10.2012 - 12:13) radjab написал(а):
ну незнаю поэтому у тебя спрашиваю ?

Спустя 1 минута, 13 секунд (4.10.2012 - 12:15) killer8080 написал(а):
Цитата (Игорь_Vasinsky @ 4.10.2012 - 12:11)
то что ты хочешь на называется динамический select - погугли. там используется ajax

Не обязательно аякс, его применение оправдано только при большом количестве данных, если их немного можно и так

Спустя 2 минуты, 45 секунд (4.10.2012 - 12:17) m4a1fox написал(а):
radjab
Цитата
ну незнаю поэтому у тебя спрашиваю ?

то есть ты пытаешься угадать? Читай еще раз, и понимай в чем разница!

Спустя 1 минута, 45 секунд (4.10.2012 - 12:19) Игорь_Vasinsky написал(а):
killer8080
не суть. ключевое "динамический"

Спустя 2 минуты, 58 секунд (4.10.2012 - 12:22) radjab написал(а):
если честно сказать я там особо не понял в чем разница они оба почти одинаковые

Спустя 15 минут, 51 секунда (4.10.2012 - 12:38) m4a1fox написал(а):
radjab
Нифига почти одинаковые.... есть различия. они фундаментальны... внимательнее читай.

Спустя 54 минуты, 8 секунд (4.10.2012 - 13:32) radjab написал(а):
понятно . а ты можешь мне помочь в написании кода ??

Спустя 39 минут, 30 секунд (4.10.2012 - 14:12) m4a1fox написал(а):
radjab
Помочь - легко. Напиши в чем проблема, и код давай сюда. Будем смотреть.

Спустя 1 час, 29 минут, 22 секунды (4.10.2012 - 15:41) radjab написал(а):
я создаю сайт обьявлений и хочу сделать категории как с Slando.ru но я некогда не занимался этого рода кодами но создал в виде таблиц категорию и подкатегории но эта не то вот мой код вывода



<?
$tr=0;
$qr = "SELECT * FROM categ ORDER BY counts DESC";
$r = mysql_query($qr);
while ($rr = mysql_fetch_array($r))
{
$nr = mysql_query("SELECT id FROM object WHERE blok !='2' ".$regs." and id_categ='".$rr['id_categ']."'");
$nrr=mysql_num_rows($nr);

echo ' <td style="padding:5px 5px 0px 5px;" valign="top">


<div style="background-color:#cccccc; padding-bottom:5px;">
<img src="img1/rr.png" align=absbottom width=32 height=30 border=0>
<b>
<a class=tst8 href="ind.php?id_categ='
.$rr['id_categ'].'&tr=1">'.$rr['categ'].'</a></b><font>('.$nrr.')</font></div>';



$qr1 = "SELECT * FROM typ WHERE id_categ='".$rr['id_categ']."' ORDER BY typ";
$r1 = mysql_query($qr1);
while ($rr1 = mysql_fetch_array($r1))
{
$nr1 = mysql_query("SELECT id FROM object WHERE blok !='2' ".$regs." and id_typ='".$rr1['id_typ']."'");
$nrr1=mysql_num_rows($nr1);
echo ' <div style=padding-left:5px;><a href="ind.php?id_typ='.$rr1['id_typ'].'&tr=1">'.$rr1['typ'].'</a> <font class=text-min>('.$nrr1.')</font></div>';
}
echo '</td>';

$tr++;
if ($tr==3) {echo '</tr><tr>'; $tr=0;}
}

?>





Спустя 2 часа, 3 минуты, 4 секунды (4.10.2012 - 17:44) m4a1fox написал(а):
radjab
Давай по другому... сколько тебе лет?

Спустя 7 минут, 9 секунд (4.10.2012 - 17:51) Игорь_Vasinsky написал(а):
Цитата
но я некогда не занимался этого рода кодами


Спустя 34 минуты, 7 секунд (4.10.2012 - 18:25) radjab написал(а):
мне 20 лет

Спустя 1 минута, 26 секунд (4.10.2012 - 18:27) radjab написал(а):
друзья я начинаюший программист так что не судите строго

Спустя 31 минута, 24 секунды (4.10.2012 - 18:58) Игорь_Vasinsky написал(а):
ты просишь готовый код.
сначала подучись тогда раз на столько начинающий раз замахнулся на аналог сландо.

тебе дали ссылки.

Спустя 5 минут, 33 секунды (4.10.2012 - 19:04) radjab написал(а):
не на столько . сайт я уже написал . нужно его просто усовершенствовать . от готового кода я конечно не отказался бы ...

Спустя 16 минут, 31 секунда (4.10.2012 - 19:20) johniek_comp написал(а):
radjab
Что-то не совсем понял. Покажи код, и что не работает именно.

Спустя 44 минуты, 42 секунды (4.10.2012 - 20:05) radjab написал(а):
код на верху и все работает просто я незнаю как из этот код усовершенствовать так чтоб категории и подкатегории выходили как на slando .ru

Спустя 47 секунд (4.10.2012 - 20:06) radjab написал(а):
вот код







<?
$tr=0;
$qr = "SELECT * FROM categ ORDER BY counts DESC";
$r = mysql_query($qr);
while ($rr = mysql_fetch_array($r))
{
$nr = mysql_query("SELECT id FROM object WHERE blok !='2' ".$regs." and id_categ='".$rr['id_categ']."'");
$nrr=mysql_num_rows($nr);

echo ' <td style="padding:5px 5px 0px 5px;" valign="top">


<div style="background-color:#cccccc; padding-bottom:5px;">
<img src="img1/rr.png" align=absbottom width=32 height=30 border=0>
<b>
<a class=tst8 href="ind.php?id_categ='
.$rr['id_categ'].'&tr=1">'.$rr['categ'].'</a></b><font>('.$nrr.')</font></div>';



$qr1 = "SELECT * FROM typ WHERE id_categ='".$rr['id_categ']."' ORDER BY typ";
$r1 = mysql_query($qr1);
while ($rr1 = mysql_fetch_array($r1))
{
$nr1 = mysql_query("SELECT id FROM object WHERE blok !='2' ".$regs." and id_typ='".$rr1['id_typ']."'");
$nrr1=mysql_num_rows($nr1);
echo ' <div style=padding-left:5px;><a href="ind.php?id_typ='.$rr1['id_typ'].'&tr=1">'.$rr1['typ'].'</a> <font class=text-min>('.$nrr1.')</font></div>';
}
echo '</td>';

$tr++;
if ($tr==3) {echo '</tr><tr>'; $tr=0;}
}

?>



Спустя 41 минута, 43 секунды (4.10.2012 - 20:47) johniek_comp написал(а):
radjab
я не хочу заходить не накакие сландо, скажи как должно работать и тебе помогут. может быть даже я.

Спустя 2 минуты, 51 секунда (4.10.2012 - 20:50) radjab написал(а):
если не трудно зайди на этот сайт друг тебе так будет понятней smile.gif

Спустя 5 минут, 48 секунд (4.10.2012 - 20:56) radjab написал(а):
я уже столько всего перерыл но то что мне нужно не нашел помогите

Спустя 23 минуты, 11 секунд (4.10.2012 - 21:19) Игорь_Vasinsky написал(а):
ох хочет сделать динамически подгружаемый 2й селект - который зависит от первого - для вывод дочерних категорий.

а рыл хреного. просто ждёт готовое.

Спустя 5 минут, 4 секунды (4.10.2012 - 21:24) radjab написал(а):
яндекс перерыл не нашел . я не жду готовое так не думай я и шас там ишу .

Спустя 2 минуты, 17 секунд (4.10.2012 - 21:27) Игорь_Vasinsky написал(а):
тебе дали ссылки.
http://www.tigir.com/javascript_select.htm

а вот вообще то что ты ищешь http://adminway.ru/dinamicheskii-select-me...i-v-textpattern

висит в гугле в 4й строке
https://www.google.ru/webhp?sourceid=chrome...iw=1366&bih=653

Спустя 7 минут, 51 секунда (4.10.2012 - 21:34) radjab написал(а):
я с гуглам не пользуюсь . спосибо за ссылки smile.gif

Спустя 1 минута, 16 секунд (4.10.2012 - 21:36) radjab написал(а):
но там ведь не так как мне нужно ?

Спустя 1 час, 7 минут, 7 секунд (4.10.2012 - 22:43) johniek_comp написал(а):
radjab
ну тут масса вариантов, я бы для передачи данных использовал ajax, который вернет подкатегории. ну а вбить их в селект это 2 строки js кода.

что именно не ясно? как пробовал дай взглянуть что бы не гадал.

Спустя 7 часов, 40 минут, 34 секунды (5.10.2012 - 06:23) Игорь_Vasinsky написал(а):
))) да готовое он ждёт)

Смотри.

Основоной select строишь в цикле из БД

на этот select на onchange вешаешь функцию с AJAX

<script type="text/javascript">
function ajaxcl (select) {
var xmlhttp;
if ( window.XMLHttpRequest ) {
// IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// IE6, IE5
xmlhttp = new ActiveXObject ( "Microsoft.XMLHTTP" );
}
// обрабатываем ответ
xmlhttp.onreadystatechange = function () {
// если запрос к скрипту удачный
if ( xmlhttp.readyState == 4 ) {

document.getElementById("set_option").innerHTML=xmlhttp.responseText;

}
}

// отправляем запрос
xmlhttp.open ( "GET", "get_child.php?parent="+select.value+"rand="+Math.random(), true );
xmlhttp.send ();
}
</script>

в get_child.php принимаешь $_GET['parent'] - делаешь её через urldecde() - и делаешь запрос в БД на поиск подкатегорий этой категории - и так же в цикле формируешь select

новый select появиться в элементе с id=set_option

Спустя 8 часов, 5 минут, 34 секунды (5.10.2012 - 14:29) radjab написал(а):

smile.gif
честно сказать я не понял ..

нужно создать новый php файл и закинуть туда этот скрипт?
потом на index.php где у меня выводится категории нужно написать
//
примерно так да ? просто я не дома и нет возможности протестировать..

<form action="get_child.php(файл где размешем аякс)" name="name" method="post">
<select id="set_option" name="root">
<option disabled selected>Категория...</option>
<?php
if ($res = mysql_query("SELECT * FROM `categ` WHERE id_categ = '0'")){
while ($row = mysql_fetch_assoc($res)){
$select_operator .= "<option value='".$row['id_categ']."'";
if($row['id_categ'] == $_REQUEST['operator']) $select_operator .= " selected ";
$select_operator .= "> ".$row['name']."</option>";
}
echo $select_operator;
}
?>
</select></form>






Спустя 24 минуты, 33 секунды (5.10.2012 - 14:53) Игорь_Vasinsky написал(а):
Цитата
<form action="get_child.php(файл где размешем аякс)" name="name" method="post">
<select id="set_option" name="root">

нет. прочитай внимательней.

в get_child.php формируешь только select вместе с его option

Спустя 2 часа, 16 минут, 31 секунда (5.10.2012 - 17:10) radjab написал(а):
у меня не получается . покажи на примере как куда ставить ?

Спустя 13 часов, 37 минут, 52 секунды (6.10.2012 - 06:48) radjab написал(а):
ну ?

Спустя 2 часа, 3 минуты, 51 секунда (6.10.2012 - 08:52) johniek_comp написал(а):
radjab
гну. учи php и делай такие вещи сам, или плати деньги профессиональным программистам которые тебе это сделают. это будет стоит ~700-900 деревянных.

Спустя 1 час, 43 минуты, 37 секунд (6.10.2012 - 10:35) Игорь_Vasinsky написал(а):
radjab
слушай. дейст-но уже всё расжевал. примеры уже с готовым кодом дал.

давай не парься я те за 500wmr сделаю.

Спустя 2 часа, 11 минут, 26 секунд (6.10.2012 - 12:47) radjab написал(а):
спасибо всем
Быстрый ответ:

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