Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: каталог(вывод групп и подгрупп одновременно)

Сообщения:  [1-10]   [11-12] 

 
 автор: cheops   (23.11.2006 в 23:34)   письмо автору
 
   для: andreybeat   (23.11.2006 в 17:49)
 

Тогда проще поступить следующим образом
<?php 
  $query 
"SELECT * FROM catalog WHERE id_parent = 0"
  
$cat mysql_query($query); 
  if(!
$cat) exit(mysql_error()); 
  if(
mysql_num_rows($cat)) 
  { 
    while(
$catalog mysql_fetch_array($cat)) 
    { 
       
$query "SELECT * FROM catalog WHERE id_parent = ".$catalog['id_catalog']; 
       
$sub mysql_query($query); 
       if(!
$sub) exit(mysql_error()); 
       unset(
$arr); 
       if(
mysql_num_rows($sub)) 
       { 
         while(
$subcatalog mysql_fetch_array($sub))  $arr[] = "<a href=index.php?id=".$subcatalog['id_catalog'].">".$subcatalog['name']."</a>"
       } 
       echo 
$catalog['name']." (".implode(",",$arr).")"
    } 
  } 
?>

   
 
 автор: Алик   (23.11.2006 в 19:57)
 
   для: cheops   (23.11.2006 в 12:14)
 

Да. Но эту проблему я уже решил сам.
Создал массив из id_catalog во второй таблице. В цикле (массив id_catalog из первой) проверил php функцией in_array на вхождение элементов первого массива во второй. Если они совпали, вывел их красным цветом.

   
 
 автор: andreybeat   (23.11.2006 в 17:49)   письмо автору
 
   для: cheops   (23.11.2006 в 12:10)
 

Ну сслыка будет вида index.php?id= <-- тут id этой подгруппы !

   
 
 автор: andreybeat   (23.11.2006 в 17:45)   письмо автору
 
   для: cheops   (23.11.2006 в 12:10)
 

Ну сслыка будет вида index.php?id= <-- тут id этой подгруппы !

   
 
 автор: cheops   (23.11.2006 в 12:14)   письмо автору
 
   для: Алик   (23.11.2006 в 01:54)
 

Не очень понятно... т.е. если имеется значение id_catalog в этой второй таблице - подсвечивать, если такого id_catalog нет - не подсвечивать?

   
 
 автор: cheops   (23.11.2006 в 12:10)   письмо автору
 
   для: andreybeat   (23.11.2006 в 01:46)
 

А ссылка какой вид должна иметь? На самом деле проще в $arr положить готовую ссылку...

   
 
 автор: Алик   (23.11.2006 в 01:54)
 
   для: cheops   (23.11.2006 в 01:36)
 

У меня такой вопрос: есть еще одна таблица, в которой хранятся некоторые записи id_catalog. Как сделать, чтобы при соответствии значений этих двух таблиц в написанном выше коде вывод был другим цветом.
Спасибо.

   
 
 автор: andreybeat   (23.11.2006 в 01:46)   письмо автору
 
   для: cheops   (23.11.2006 в 01:36)
 

огромное спасибо то что надо! но немогли бы вы ещё помочь сделать чтоб между скобками были ссылки на эти подгруппы) тоесть несовсем понятно как разобрать массив $arr

я так понял надо сделать ещё один массив $id[] = $subcatalog['id'] но вот как сделать ссылки c именем из массива $arr ведущие на свои id из массива $id[]

   
 
 автор: cheops   (23.11.2006 в 01:36)   письмо автору
 
   для: andreybeat   (22.11.2006 в 17:52)
 

Тогда можно поступить следующим образом
<?php
  $query 
"SELECT * FROM catalog WHERE id_parent = 0";
  
$cat mysql_query($query);
  if(!
$cat) exit(mysql_error());
  if(
mysql_num_rows($cat))
  {
    while(
$catalog mysql_fetch_array($cat))
    {
       
$query "SELECT * FROM catalog WHERE id_parent = ".$catalog['id_catalog'];
       
$sub mysql_query($query);
       if(!
$sub) exit(mysql_error());
       unset(
$arr);
       if(
mysql_num_rows($sub))
       {
         while(
$subcatalog mysql_fetch_array($sub))  $arr[] = $subcatalog['name'];
       }
       echo 
$catalog['name']." (".implode(",",$arr).")";
    }
  }
?>

   
 
 автор: andreybeat   (23.11.2006 в 01:21)   письмо автору
 
   для: cheops   (23.11.2006 в 01:12)
 

Нет тоесть вот так ГРУППА(подгруппа1)(подгруппа2)(подгруппа3) да все подгруппы их может быть не только три

   

Сообщения:  [1-10]   [11-12] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования