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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Вывод категорий а затем доменов не работает так как надо :(
 
 автор: Panker   (20.05.2007 в 19:30)   письмо автору
 
 

Если не трудно, помогите, старую тему потерял :( так бы в ней продолжил

<?
$Domens 
mysql_query("
  SELECT Theme.*, Domen.name as DomName 
  FROM Theme 
  LEFT JOIN Domen ON Theme.id=Domen.theme 
  ORDER BY theme.name
"
); 
if(
$Domens

  
$Theme ''
  while(
$Domen mysql_fetch_assoc($Domens)) 
  { 
    if(
$Theme != $Domen['name'])
    echo 
"
    <tr class='admin_table_title'>
    <td colspan='2'>"
.htmlspecialchars($Theme $Domen['name'])."</td>
    </tr>
    <tr>
    <td>"
.$Domen['DomName']."</td>
    <td>
    <a href='Pages/?domen="
.$Domen['DomName']."'>К списку страниц домена</a>&nbsp;&nbsp;
    <a href=Pages/create/textarea.php?domen="
.$Domen['DomName'].">Создать страницу</a> &nbsp;&nbsp;
    <a href='Domen/delete/submit.php?id="
.$Domen['DomName']."'>Удалить домен и все его данные</a>&nbsp;&nbsp;
    </td>
    </tr>"

  } 

else 

  echo 
"<p><b>Error: ".mysql_error()."</b><p>"
  exit(); 
}
?>


Вот так я вывожу типа

КАТЕГОРИЯ
Под ней домен 1
Домен 2
Домен 3
Другая категория
И так домены

...Вот только выводятся все категории а под ними максимум 1 домен :(
Почему так? :(

   
 
 автор: mr Bin   (21.05.2007 в 02:54)   письмо автору
 
   для: Panker   (20.05.2007 в 19:30)
 

<td>".$Domen['DomName']."</td>

так получается, потому что Вы выводите домены один раз, как и категорию.

   
 
 автор: Gust   (21.05.2007 в 09:17)   письмо автору
 
   для: Panker   (20.05.2007 в 19:30)
 


  while($Domen = mysql_fetch_assoc($Domens))  
  {  
    if($Theme != $Domen['name']) {
    echo "Вывод категории"; 
    $Theme = $Domen['name'];
    } else {
   echo "Вывод домена";  
}; 

   
 
 автор: Panker   (22.05.2007 в 11:14)   письмо автору
 
   для: Gust   (21.05.2007 в 09:17)
 


<?
$Domens 
mysql_query("
  SELECT Theme.*, Domen.name as DomName 
  FROM Theme 
  LEFT JOIN Domen ON Theme.id=Domen.theme 
  ORDER BY theme.name
"
); 
if(
$Domens

  
$Theme ''
  while(
$Domen mysql_fetch_assoc($Domens))  
  {  
    if(
$Theme != $Domen['name']) {
    echo 
"
    <tr class='admin_table_title'>
    <td colspan='2'>"
.htmlspecialchars($Theme $Domen['name'])."</td>
    </tr>"

    
$Theme $Domen['name'];
    } 
    else 
    {
   echo 
"
       <tr>
    <td>"
.$Domen['DomName']."</td>
    <td>
    <a href='Pages/?domen="
.$Domen['DomName']."'>К списку страниц домена</a>&nbsp;&nbsp;
    <a href=Pages/create/textarea.php?domen="
.$Domen['DomName'].">Создать страницу</a> &nbsp;&nbsp;
    <a href='Domen/delete/submit.php?id="
.$Domen['DomName']."'>Удалить домен и все его данные</a>&nbsp;&nbsp;
    </td>
    </tr>
   "

   }
  } 

else 

  echo 
"<p><b>Error: ".mysql_error()."</b><p>"
  exit(); 
}
?>


Делаю так, но вот засада :( Первые записи в любой категории не выводятся :(
Начинают выводить тока домены из категории со второго

   
 
 автор: Trianon   (22.05.2007 в 11:40)   письмо автору
 
   для: Panker   (22.05.2007 в 11:14)
 

слово else уберите.

[поправлено модератором]

   
 
 автор: Panker   (22.05.2007 в 16:40)   письмо автору
 
   для: Trianon   (22.05.2007 в 11:40)
 

сделал так


<?
$Domens 
mysql_query("
  SELECT Theme.*, Domen.name as DomName 
  FROM Theme 
  LEFT JOIN Domen ON Theme.id=Domen.theme 
  ORDER BY theme.name
"
); 
if(
$Domens

  
$Theme ''
  while(
$Domen mysql_fetch_assoc($Domens))  
  {  
    if(
$Theme != $Domen['name']) 
    {
    echo 
"
    <tr class='admin_table_title'>
    <td colspan='2'>"
.htmlspecialchars($Theme $Domen['name'])."</td>
    </tr>"

    
$Theme $Domen['name'];
   echo 
"
       <tr>
    <td>"
.$Domen['DomName']."</td>
    <td>
    <a href='Pages/?domen="
.$Domen['DomName']."'>К списку страниц домена</a>&nbsp;&nbsp;
    <a href=Pages/create/textarea.php?domen="
.$Domen['DomName'].">Создать страницу</a> &nbsp;&nbsp;
    <a href='Domen/delete/submit.php?id="
.$Domen['DomName']."'>Удалить домен и все его данные</a>&nbsp;&nbsp;
    </td>
    </tr>
   "

   } 
    } 

else 

  echo 
"<p><b>Error: ".mysql_error()."</b><p>"
  exit(); 
}
?>


но что т оне догоняю, опять где то не так сделал :(
в чём дело? почему только первую запись показывают? :(

   
 
 автор: Panker   (24.05.2007 в 12:23)   письмо автору
 
   для: Panker   (22.05.2007 в 16:40)
 

к сожалению тема ещё не закрыта :(
прошу помощи (

   
 
 автор: Trianon   (24.05.2007 в 13:16)   письмо автору
 
   для: Panker   (22.05.2007 в 16:40)
 

Евгений, убрать слово else означает именно убрать слово else!


<? 
$Domens 
mysql_query(
  SELECT Theme.*, Domen.name as DomName  
  FROM Theme  
  LEFT JOIN Domen ON Theme.id=Domen.theme  
  ORDER BY theme.name 
"
);  
if(
$Domens)  
{  
  
$Theme '';  
  while(
$Domen mysql_fetch_assoc($Domens))   
  {   
    if(
$Theme != $Domen['name']) { 
    echo 

    <tr class='admin_table_title'> 
    <td colspan='2'>"
.htmlspecialchars($Theme $Domen['name'])."</td> 
    </tr>"
;  
    
$Theme $Domen['name']; 
    }  
    
//else  
    

   echo 

       <tr> 
    <td>"
.$Domen['DomName']."</td> 
    <td> 
    <a href='Pages/?domen="
.$Domen['DomName']."'>К списку страниц домена</a>&nbsp;&nbsp; 
    <a href=Pages/create/textarea.php?domen="
.$Domen['DomName'].">Создать страницу</a> &nbsp;&nbsp; 
    <a href='Domen/delete/submit.php?id="
.$Domen['DomName']."'>Удалить домен и все его данные</a>&nbsp;&nbsp; 
    </td> 
    </tr> 
   "
;  
   } 
  }  
}  
else  
{  
  echo 
"<p><b>Error: ".mysql_error()."</b><p>";  
  exit();  

?> 

   
 
 автор: Panker   (24.05.2007 в 13:40)   письмо автору
 
   для: Trianon   (24.05.2007 в 13:16)
 

Большое спасибо, видимо не то else убирал :( Убирал же =) Ну там на верху последний мой пример без какого то ЕЛСИ :) Но не того видимо


Ещё раз большое спасибо:) Всё дело сделано - весь день свободен :D

Ещё раз спасибо

   
 
 автор: Trianon   (24.05.2007 в 13:50)   письмо автору
 
   для: Panker   (24.05.2007 в 13:40)
 

Очередной раз убеждаешься, что давать Вам решения - не в коня корм.
Вы не захотели разобраться не только в том, почему Ваш код не заработал, но даже в том, в каких строках отличается текст верного и неверного кода.
Хотя уж сравнить два фрагмента на одной странице - вроде задача не на день и даже не на час.

   
Rambler's Top100
вверх

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