Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как сделать?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
SanToss
Отправлено: 23 Февраля, 2015 - 18:32:55
Post Id



Новичок


Покинул форум
Сообщений всего: 45
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




Здравствуйте , мастера, как можно сделать так, чтобы если тем на форуме нет то выводило сообщение типо "Созданных тем нет"


Вод код файла тем
PHP:
скопировать код в буфер обмена
  1. $id = num($_GET['id']);
  2. if(empty($id)){echo'<div class="name">Ошибка</div>';include HOME.'/system/foot.php';exit;}    //проверка
  3. $tema = mysql_fetch_assoc(mysql_query("SELECT * FROM `forum_tem` WHERE `id`='$id' LIMIT 1"));
  4. if(!$tema){echo'<div class="name">Такой темы нет в БД</div>';include HOME.'/system/foot.php';exit;} //проверка
  5.  
  6. $podcat=mysql_fetch_array(mysql_query("SELECT * FROM `forum_podcat` WHERE `id`='$tema[cat]'"));
  7. $cat=mysql_fetch_array(mysql_query("SELECT * FROM `forum_cat` WHERE `id`='$podcat[refid]'"));
  8. if($podcat && $cat)
  9. {
  10. echo'<div class="cat">
  11. <a href="cat.php?id='.$cat['id'].'">'.output($cat['name']).'</a> / <a href="podcat.php?id='.output($podcat['id']).'">'.output($podcat['name']).'</a></div>
  12. <div class="login">Тема: <b>'.output($tema['name']).'</b></div>';
  13. }
  14. if(!isset($user)){ //ДЛЯ НЕАВТОРИЗОВАННЫХ//
  15. $count_tem=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_post` WHERE `tema`='$id'"), 0);
  16. $page=isset($_GET['p'])?num($_GET['p']):1;
  17.  
  18. $post_q=mysql_query("SELECT * FROM `forum_post` WHERE `tema`='$id' ORDER BY `time` LIMIT ".(($page-1)*$config['points_page']).", $config[points_page]");
  19. while($post=mysql_fetch_array($post_q))
  20. {
  21.  
  22. $fi = mysql_query( "select `login` from `users` where id='".$post['id_user']."';" );
  23. $fi_info = @mysql_fetch_array( @$fi );
  24.  
  25. echo'<div class="main"><a href="'.$HOME.'/user.php?id='.num($post['id_user']).'">'.$fi_info['login'].'</a> '.date('d.m.y H:i',$post['time']).'</br>'.BBcode(smile(output($gb['text']))).'<br/></div>';
  26.  
  27. echo'<div class="text">
  28. '.output($post['text']).'</div>';
  29. }
  30. nav($count_tem, $page, '?id='.$id.'&', $config['points_page']); //навигация
  31. }else   {//ДЛЯ АВТОРИЗОВАННЫХ
  32.  
  33. $count_tem=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_post` WHERE `tema`='$id'"), 0);
  34. $page=isset($_GET['p'])?num($_GET['p']):1;
  35.  
  36. $post_q=mysql_query("SELECT * FROM `forum_post` WHERE `tema`='$id' ORDER BY `time` LIMIT ".(($page-1)*$user['points_page']).", $user[points_page]");
  37. while($post=mysql_fetch_array($post_q))
  38. {
  39.  
  40. $fi = mysql_query( "select `login` from `users` where id='".$post['id_user']."';" );
  41. $fi_info = @mysql_fetch_array( @$fi );
  42.  
  43. echo'<div class="main"><a href="'.$HOME.'/user.php?id='.num($post['id_user']).'">'.$fi_info['login'].' </a>'.date('d.m.y H:i',$post['time']).'</a></b></div>';
  44.  
  45. if($user['status']==admin){echo'<div class="main"><a href="/adminka/post.php?edit='.num($post['id']).'"> Редактировать</a> | <a href="/adminka/post.php?del='.num($post['id']).'">Удалить</a></div>';}
  46. echo '<div class="text">
  47. '.output($post['text']).'</div>';
  48. }
  49. nav($count_tem, $page, '?id='.$id.'&', $user['points_page']); //навигация
  50. if($tema['close']==1){echo'<div class="cat">Данная тема закрыта</div>';
  51. if($user['status']==admin) echo'<div class="login"><img src="/tema/default/close.png" alt=""> <a href="/adminka/tema.php?close='.num($tema['id']).'">Открыть тему</a><br/></div>';}
  52.  
  53.  
  54. else{
  55. echo'<div class="login">
  56. Добавить сообщение<br/>
  57. <form action="post-add.php?id='.$id.'" method="post"><input name="tema" type="hidden" value="'.$id.'" />
  58. <textarea name="text" cols="40" rows="3"></textarea><br/>
  59. <div class="text"><input name="" type="submit" value="Написать" /></form></div>';
  60. if($user['status']==admin){
  61. echo'<div class="login"><img src="/tema/default/close.png" alt=""> <a href="/adminka/tema.php?close='.num($tema['id']).'">Закрыть тему</a><br/></div>';
  62. }
  63. }}
 
 Top
RickMan
Отправлено: 24 Февраля, 2015 - 09:21:01
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




А темы хранятся в forum_post? Если да то наверное стоит сделать так:

PHP:
скопировать код в буфер обмена
  1. $id = num($_GET['id']);
  2. if(empty($id)){echo'<div class="name">Ошибка</div>';include HOME.'/system/foot.php';exit;}    //проверка
  3. $tema = mysql_fetch_assoc(mysql_query("SELECT * FROM `forum_tem` WHERE `id`='$id' LIMIT 1"));
  4. if(!$tema){echo'<div class="name">Такой темы нет в БД</div>';include HOME.'/system/foot.php';exit;} //проверка
  5.  
  6. $podcat=mysql_fetch_array(mysql_query("SELECT * FROM `forum_podcat` WHERE `id`='$tema[cat]'"));
  7. $cat=mysql_fetch_array(mysql_query("SELECT * FROM `forum_cat` WHERE `id`='$podcat[refid]'"));
  8. if($podcat && $cat)
  9. {
  10. echo'<div class="cat">
  11. <a href="cat.php?id='.$cat['id'].'">'.output($cat['name']).'</a> / <a href="podcat.php?id='.output($podcat['id']).'">'.output($podcat['name']).'</a></div>
  12. <div class="login">Тема: <b>'.output($tema['name']).'</b></div>';
  13. }
  14. if(!isset($user)){ //ДЛЯ НЕАВТОРИЗОВАННЫХ//
  15. $count_tem=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_post` WHERE `tema`='$id'"), 0);
  16. $page=isset($_GET['p'])?num($_GET['p']):1;
  17.  
  18. $post_q=mysql_query("SELECT * FROM `forum_post` WHERE `tema`='$id' ORDER BY `time` LIMIT ".(($page-1)*$config['points_page']).", $config[points_page]");
  19. while($post=mysql_fetch_array($post_q))
  20. {
  21.  
  22. $fi = mysql_query( "select `login` from `users` where id='".$post['id_user']."';" );
  23. $fi_info = @mysql_fetch_array( @$fi );
  24.  
  25. echo'<div class="main"><a href="'.$HOME.'/user.php?id='.num($post['id_user']).'">'.$fi_info['login'].'</a> '.date('d.m.y H:i',$post['time']).'</br>'.BBcode(smile(output($gb['text']))).'<br/></div>';
  26.  
  27. echo'<div class="text">
  28. '.output($post['text']).'</div>';
  29. }
  30. nav($count_tem, $page, '?id='.$id.'&', $config['points_page']); //навигация
  31. }else   {//ДЛЯ АВТОРИЗОВАННЫХ
  32.  
  33. $count_tem=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_post` WHERE `tema`='$id'"), 0);
  34. $page=isset($_GET['p'])?num($_GET['p']):1;
  35.  
  36. $post_q=mysql_query("SELECT * FROM `forum_post` WHERE `tema`='$id' ORDER BY `time` LIMIT ".(($page-1)*$user['points_page']).", $user[points_page]");
  37. if (!mysql_num_rows($post_q)) {
  38.         echo "Созданных тем нет";      
  39. }else{
  40. while($post=mysql_fetch_array($post_q))
  41. {
  42.  
  43. $fi = mysql_query( "select `login` from `users` where id='".$post['id_user']."';" );
  44. $fi_info = @mysql_fetch_array( @$fi );
  45.  
  46. echo'<div class="main"><a href="'.$HOME.'/user.php?id='.num($post['id_user']).'">'.$fi_info['login'].' </a>'.date('d.m.y H:i',$post['time']).'</a></b></div>';
  47.  
  48. if($user['status']==admin){echo'<div class="main"><a href="/adminka/post.php?edit='.num($post['id']).'"> Редактировать</a> | <a href="/adminka/post.php?del='.num($post['id']).'">Удалить</a></div>';}
  49. echo '<div class="text">
  50. '.output($post['text']).'</div>';
  51. }
  52. }
  53. nav($count_tem, $page, '?id='.$id.'&', $user['points_page']); //навигация
  54. if($tema['close']==1){echo'<div class="cat">Данная тема закрыта</div>';
  55. if($user['status']==admin) echo'<div class="login"><img src="/tema/default/close.png" alt=""> <a href="/adminka/tema.php?close='.num($tema['id']).'">Открыть тему</a><br/></div>';}
  56.  
  57.  
  58. else{
  59. echo'<div class="login">
  60. Добавить сообщение<br/>
  61. <form action="post-add.php?id='.$id.'" method="post"><input name="tema" type="hidden" value="'.$id.'" />
  62. <textarea name="text" cols="40" rows="3"></textarea><br/>
  63. <div class="text"><input name="" type="submit" value="Написать" /></form></div>';
  64. if($user['status']==admin){
  65. echo'<div class="login"><img src="/tema/default/close.png" alt=""> <a href="/adminka/tema.php?close='.num($tema['id']).'">Закрыть тему</a><br/></div>';
  66. }
  67. }}


Но вообще код оооочень низкоуровневый. Советую пересматривать манеру написания и базу знаний.

(Отредактировано автором: 24 Февраля, 2015 - 09:21:50)

 
 Top
SanToss
Отправлено: 24 Февраля, 2015 - 19:58:44
Post Id



Новичок


Покинул форум
Сообщений всего: 45
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




RickMan Блин не тот код дал. Темы хранятся в базе forum_tem, а посты forum_post.
PHP:
скопировать код в буфер обмена
  1. $id=num($_GET['id']);
  2. if(empty($id)){echo'<div class="name">Ошибка</div>';include HOME.'/system/foot.php';exit;}    //проверка
  3. $query=mysql_fetch_array(mysql_query("SELECT * FROM `forum_podcat` WHERE `id`='$id' LIMIT 1"));
  4. if(!$query){echo'<div class="name">Такой подкатегории нет в БД</div>';include HOME.'/system/foot.php';exit;} //проверка
  5.  
  6. $cat=mysql_fetch_array(mysql_query("SELECT * FROM `forum_cat` WHERE `id`=$query[refid]"));
  7. if(!$cat){echo'<div class="name">Не найдено</div>';include HOME.'/system/foot.php';exit;}
  8. echo'<div class="cat"><a href="cat.php?id='.num($cat['id']).'">'.output($cat['name']).'</a></b> / <b>'.output($query['name']).'</b></div>';
  9.  
  10. if(isset($user)){//для авторизованных
  11.  
  12. $count_tem = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_tem` WHERE `cat`='$id'"), 0);
  13. $page = isset($_GET['p'])?num($_GET['p']):1;
  14.  
  15. $tem_q = mysql_query("SELECT * FROM `forum_tem` WHERE `cat`='$id' ORDER BY `id` DESC LIMIT ".(($page-1)*$user['points_page']).", $user[points_page]");
  16. while($tema=@mysql_fetch_array($tem_q))
  17. {
  18. echo'<div class="main">';
  19. $us_q=@mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id`='$posl_post[id_user]'"));
  20. echo'<a href="tema.php?id='.num($tema['id']).'">'.output($tema['name']).'</a> ('.mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_post` WHERE `tema`='$tema[id]'"), 0).')';if($tema['close']==1){echo' #Тема закрыта# ';};echo'</div>';
  21. echo '</div>';
  22. }
  23.  
  24. nav($count_tem, $page, '?id='.$id.'&', $user['points_page']); //навигация
  25. echo'<div class="cat"><a href="new-topic.php?id='.$id.'">Создать тему</a></div>
  26. <div class="login"><a href="index.php">В Форум</a></div>';
  27. }
 
 Top
RickMan
Отправлено: 25 Февраля, 2015 - 09:25:14
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




Просто нет слов. На базе того что я выше написал, не могли скопировать 2 строки в свой код? Еще и код не тот скинули *facepalm*. С таким рвением учиться, пишите следующий раз в раздел "Напишите за меня".

PHP:
скопировать код в буфер обмена
  1. $id=num($_GET['id']);
  2. if(empty($id)){echo'<div class="name">Ошибка</div>';include HOME.'/system/foot.php';exit;}    //проверка
  3. $query=mysql_fetch_array(mysql_query("SELECT * FROM `forum_podcat` WHERE `id`='$id' LIMIT 1"));
  4. if(!$query){echo'<div class="name">Такой подкатегории нет в БД</div>';include HOME.'/system/foot.php';exit;} //проверка
  5.  
  6. $cat=mysql_fetch_array(mysql_query("SELECT * FROM `forum_cat` WHERE `id`=$query[refid]"));
  7. if(!$cat){echo'<div class="name">Не найдено</div>';include HOME.'/system/foot.php';exit;}
  8. echo'<div class="cat"><a href="cat.php?id='.num($cat['id']).'">'.output($cat['name']).'</a></b> / <b>'.output($query['name']).'</b></div>';
  9.  
  10. if(isset($user)){//для авторизованных
  11.  
  12. $count_tem = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_tem` WHERE `cat`='$id'"), 0);
  13. $page = isset($_GET['p'])?num($_GET['p']):1;
  14.  
  15. $tem_q = mysql_query("SELECT * FROM `forum_tem` WHERE `cat`='$id' ORDER BY `id` DESC LIMIT ".(($page-1)*$user['points_page']).", $user[points_page]");
  16. if (!mysql_num_rows($tem_q)){
  17.         echo "Созданных тем нет";
  18. }else{
  19. while($tema=mysql_fetch_array($tem_q))
  20. {
  21. echo'<div class="main">';
  22. $us_q=@mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id`='$posl_post[id_user]'"));
  23. echo'<a href="tema.php?id='.num($tema['id']).'">'.output($tema['name']).'</a> ('.mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_post` WHERE `tema`='$tema[id]'"), 0).')';if($tema['close']==1){echo' #Тема закрыта# ';};echo'</div>';
  24. echo '</div>';
  25. }
  26. }
  27.  
  28. nav($count_tem, $page, '?id='.$id.'&', $user['points_page']); //навигация
  29. echo'<div class="cat"><a href="new-topic.php?id='.$id.'">Создать тему</a></div>
  30. <div class="login"><a href="index.php">В Форум</a></div>';
  31. }
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB