Дълъг селект + mysql_num_rows???

luudman

Registered
Ей хора луднах не мога да го направя и ще се долудея:

Код:
$cat_sql = "SELECT cat.*, pod_cat.* FROM cat, pod_cat
 WHERE cat.id=pod_cat.id_cat";

ето ДБ-то:
Код:
CREATE TABLE `cat`(
`id` int(255) NOT NULL,
`name` varchar(255) NOT NULL
);
CREATE TABLE `pod_cat`(
`id` int(255) NOT NULL,
`id_cat` int(255) NOT NULL,
`name` varchar(255) NOT NULL
);
Мисълта ми е така че да се направи със селект ПЪРВО да изкарва Категорията(cat) и под нея pod_cat(под категорията) със тоя селект:
Код:
<optgroup label="Kategoria">
<option value='ID_pod_cat'>pod_cat_name</option>
<optgroup>

И така всяка категория под нея да ми изкарва и ПОД категорията и! И нищо не направих! Пробвах със for обаче тоя mysql_num_rows при този селект не стана :cry: Побърках се и също се обърках в кода:

$cat_sql = "SELECT cat.*, pod_cat.* FROM cat, pod_cat
WHERE cat.id=pod_cat.id_cat";

$result = mysql_query($cat_sql);
$row = mysql_num_rows($result);
$r=mysql_fetch_array($result_cat);

for($i=0; $i < $row['pod_cat.cat_id']; i++){
echo '<optgroup label='.$r[$i]['name'].'>';
for($v=0; $v < $row['pod_cat.id']; v++){
echo '<option value='.$r[$i][$v].'>'.$r[$i][$v][name].'</option>';
}
echo '</optgroup>';
}
Селекта беше даже по-дълъг ама....... Някой да помогне че нищо вече не разбирам от кода! Проблема е само със mysql_num_rows иначе щеше да стане нещо такова:
Код:
for($i=0; $i < $num_rows_cat; i++){
echo '<optgroup label='.$cat_name.'>';
	for($v=0; $v < $num_rows_pod_cat; v++){
	echo '<option value='.$pod_cat_id.'>'.$pod_cat_name.'</option>';
	}
echo '</optgroup>';
}
Моля ви трябва ми! Спешно!
 
Немога да ти помогна с MySQL-понеже и мене ме няма там но си опрви цикала.
for($i=0; $i <= $num_rows_cat; i++){
echo '<optgroup label='.$cat_name.'>';
for($v=0; $v <= $num_rows_pod_cat; v++){
echo '<option value='.$pod_cat_id.'>'.$pod_cat_name.'</option>';
}
echo '</optgroup>';
}

Edit://
http://www.php.net/manual/en/control-structures.for.php
 
Не е за това бе. Става дума как да извадя mysql-num_rows на тоя селект:
Код:
$cat_sql = "SELECT cat.*, pod_cat.* FROM cat, pod_cat
 WHERE cat.id=pod_cat.id_cat";
еее.... искам да направя както казах options и да се избира Под категория ама не мога да го извадя със mysql_num_rows от тоя селект!
 
Никой ли не знае как да го направя че чрез тоя селект:
SELECT cat.*, pod_cat.* FROM cat, pod_cat
WHERE cat.id=pod_cat.id_cat
Да се направи така със option че да изкара на всяка Категория, Под категорията която отговаря според това дали от ДБ таблицата:
CREATE TABLE `cat`(
`id` int(255) NOT NULL,
`name` varchar(255) NOT NULL
);
CREATE TABLE `pod_cat`(
`id` int(255) NOT NULL,
`id_cat` int(255) NOT NULL,
`name` varchar(255) NOT NULL
);
pod_cat.id_cat = cat.id ??? :cry: :cry: :cry:
 
мн интересно взел съм да забравям PHP :!: :!: :!: :shock: но все пак мисля че така ще стане
Код:
$cat_sql = "SELECT * FROM cat, pod_cat
 WHERE cat.id=pod_cat.id_cat";
 
като ти го напиша не си мисли че трябва буквално да го приемаш :D
Код:
$cat_sql = mysql_query("SELECT pod_cat.*, cat.* FROM pod_cat, cat
 WHERE pod_cat.id_cat=cat.id");
$num=mysql_num_rows($cat_sql);
$fetch_row =mysql_fetch_array($cat_sql);
for($i=1;$<=$num;$i++){
echo $fetchrow[$i]['cat'];
}
схващаш ли
и ако искаш сичките първо бройш колко категорий има и и место pod_cat.id_cat=cat_id
pod_cat.id_cat='$ot_purviq_select'
Успех
 
оф..... бе човек...... Искам да изкарам така:
<optgroup label="Kategoria">
<option value='ID_pod_cat'>pod_cat_name</option>
<optgroup>

Нещата от 2те таблици! Тоест това се прави съсцикъл! ОБАЧЕ със ТОЯ селект не знам как да направя mysql_num_rows тоест искам например имам записите във ДБ-то:
CREATE TABLE `cat`(
`id` int(255) NOT NULL,
`name` varchar(255) NOT NULL
);
CREATE TABLE `pod_cat`(
`id` int(255) NOT NULL,
`id_cat` int(255) NOT NULL,
`name` varchar(255) NOT NULL
);
Тук имам:
cat:
id name
1 Самолети
2 Кораби
после:
pod_cat:
id cat_id name
1 2 Боен кораб нещо си....
2 1 Миг 21
И искам във селект да ми изкара:
<optgroup label="Самолети">
<option value='1'>Миг 21</option>
<optgroup>
<optgroup label="Кораби">
<option value='2'>Боен кораб нещо си</option>
<optgroup>

ЕДИТ:// Същото е и на Arenabg.com търсачката:
http://arenabg.com/torrents.php
Виждаш ли ? Пише категория и отдолу ПОД категориите!!! Това се опитвам да направя!
 
Знаеш ли какво ще ти изкара така:
$num=mysql_num_rows($cat_sql);
Едно ГОЛЯМО нищо! Така ще ти изкара ВСИЧКИ записи от cat и от pod_cat!
 
има 2 начина :)
единия с for и while амм са не ми се занимава
$sql = mysql_query("SELECT * FROM cat ORDER BY id DESC");
while($row=mysql_fetch_array($sql)){
echo $row[cat];
$sql2 = mysql_query("SELECT * FROM pod_cat WHERE cat_id='".$row['id']");
$num = mysql_num_row=$sql2;
$fetch_row=mysql_fetch_array($sql2);
for($i=1;$i<=$num;$i++){
echo $fetch_row[$i]['pod_cat'];
}
}
така може не може с един for пак ако са 2 може да бъгне
успех
 
Ето един ФР. Помогна доста:
<?php
include("inc/config.inc");

$cat_sql = mysql_query("select*from cat order by id");
while($i = mysql_fetch_array($cat_sql)){
echo '<optgroup label='.$i['name'].'>';
$query = mysql_query("select*from pod_cat where id_cat='$i[id]'");
while ($t = mysql_fetch_array($query)) {
echo '<option value='.$t['id'].'>'.$t['name'].'</option>';
}
echo '</optgroup>';
}
?>

Е така вече разбрахте ли за какво става дума :o ? Без лоши мувства! :D Само не мога да разбера:
Колацията е windows-1251 във phpmyadmin също са направени ВСИЧКИ таблици и ДБ-то даже на cp1251_bulgarian_ci
Таблица, Колона, ДБ са на cp1251_bulgarian_ci и пак излизат ?????? на БГ то! Някой ще каже ли как да го настроя и от PHP?
 
Такова
Код:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
имаш ли в страницата?
И такова
Код:
$chars=mysql_query("SET CHARACTER SET cp1251");
при връзката с БД?
 

Back
Горе