Въпрос за mysql заявка

wordi4

New member
Здравейте , имам следния проблем. Имам таблица с 3 колони : catid, catname и parentid . Catid е ясно , това е ид-то на дадената категория , catname и то е ясно ...това е името на категорията. Parentid е подкатегория на категория и има id равно на това на категорията . Не знам дали ме разбрахте но въпроса ми е каква заявка да направя да ми изкара имената на подкатегориите на дадена категория ?
Благодаря предварително !
 
За: Въпрос за mysql заявка

За: Въпрос за mysql заявка

Запознат ли си със синтаксиса на EXPLAIN командата в Mysql? Много по-добре ще ни ориентираш в структурата на таблицата, ако я използваш. Така както си обяснил структурата е трудно някой да ти даде адекватен отговор.
 
Re: За: Въпрос за mysql заявка

Re: За: Въпрос за mysql заявка

В момента кода е следния:
PHP:
$query3 = mysql_query("SELECT *, COUNT(catname) AS num FROM jos_yfl_cat WHERE parentid='-1' GROUP by catid ORDER by catid ASC LIMIT 5"); 
function GetParentName($id){ 
   $select = sprintf("SELECT catname FROM jos_yfl_cat WHERE parentid='".$id."'"); 
   $result = mysql_query($select) or die(MYSQL_QUERY_ERROR.mysql_error()); 
   $array = mysql_fetch_array($result); 
   return $array['catname']; 
}
while($query_3=mysql_fetch_array($query3)){
      echo ''.$query_3['catname'].'-'.GetParentName($query_3['catid']).'<br/>';
      
      }
В момента това работи...но резултата е изкарване на категорията и само 1 подкатегория . Например:
Екшън-Защита на базата
Приключенски-Стратегии
Как да го направя да изкарва само 1 категория но 6 подкатегории от дадената категория?
 
За: Въпрос за mysql заявка

За: Въпрос за mysql заявка

PHP:
$query_listallmaincats = "SELECT * FROM jos_yfl_cat WHERE parentid = -1";
$listallmaincats = mysql_query($query_listallmaincats, $db) or die(mysql_error());
$row_listallmaincats = mysql_fetch_assoc($listallmaincats);


do {  echo $row_listallmaincats['catname']; 

$query_listallsubcats = sprintf("SELECT * FROM jos_yfl_cat WHERE parentid = %s  LIMIT 0,5", $row_listallmaincats['catid']);
$listallsubcats = mysql_query($query_listallsubcats, $db) or die(mysql_error());
$row_listallsubcats = mysql_fetch_assoc($listallsubcats);


do {  echo $row_listallsubcats['catname']; echo "<br />";  
    } while ($row_listallsubcats = mysql_fetch_assoc($listallsubcats)); 

  } while ($row_listallmaincats = mysql_fetch_assoc($listallmaincats));

Loop-ва през всички главни категории и листва 6 под-категории.
Не претендирам за най-чист код, но е най ясен за разбиране и дописване 🙂
Ако не може да го оправиш спрямо точната ти нужда пиши 🙂
 
За: Въпрос за mysql заявка

За: Въпрос за mysql заявка

Не, просто от преди няколко месеца тотално спрях да работя за клиенти и се пренасочих в различни бизнес модели, примерно Магазин за Мебели TopLine.bg. Градински мебели, шезлонги, градински люлки и др. продукти! 🙂
Остава ми време :wink:

Като се видим ще почерпя, да ми простите за липсата ми предните 1-2 години 😉
 

Back
Горе