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 :: Cтиль программирования

 PHP.SU

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


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

> Без описания
Andrey5555
Отправлено: 02 Февраля, 2008 - 16:19:54
Post Id


Частый гость


Покинул форум
Сообщений всего: 183
Дата рег-ции: Авг. 2007  


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




Выделено в отдельную тему из темы "Поиск на сайте"
Будьте добры, обьясните как мне тогда вывести данные из бд не использую в скрипте хтмл? И пожалуйста посоветуйте что мне исправить в стиле програмирования? Что я пишу лишнее? Исправьте меня пожалуйста. А с поиском мне помогли на www.php[dot]ru
 
 Top
Dastar
Отправлено: 02 Февраля, 2008 - 16:53:20
Post Id



Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Янв. 2008  
Откуда: Израиль


Помог: -6 раз(а)




Твой код:
PHP:
скопировать код в буфер обмена
  1. include ("mysql.php");
  2. if (isset($_GET['search']))
  3. $search = $_GET['search'];
  4. $s_section = $_GET ['section'];
  5. $s_type = $_GET ['type'];
  6. $query1 = mysql_query ("SELECT section, type, text, name, email, date FROM announcements
  7. WHERE section = '$s_section' and type = '$s_type' and text LIKE '%$search%'");
  8. $allnum = mysql_num_rows ($query1);
  9. if(!isset($_GET['page']))
  10. $page = 1;
  11. else
  12. $page = ($_GET['page']);
  13. $on_page = 10;
  14. $begin = ($page - 1) * $on_page;
  15. $num_pages = ceil ($allnum / $on_page);
  16. $query = mysql_query ("SELECT section, type, text, name, email, date FROM announcements
  17. WHERE section = '$s_section' and type = '$s_type' and text LIKE '%$search%' LIMIT $begin, $on_page");
  18.      while (list ($section, $type, $text, $name, $email, $date) = mysql_fetch_array ($query))
  19.      {
  20.      echo "<table width='300' border ='1' >";
  21.      echo "<tr>";
  22.      echo "<td width='150'>$type</td><td><div align='right'>$date</div></td>";
  23.      echo "</tr>";
  24.      echo "</table>";
  25.      echo "<table width='300' border ='1'>";
  26.      echo "<tr>";
  27.      echo "<td>$text</td>";
  28.      echo "</tr>";
  29.      echo "</table>";
  30.      echo "<table width='300' border ='1'>";
  31.      echo "<tr>";
  32.      echo "<td width='150'>$name</td><td><div align='right'><a href='mailto:$email'>$email</div></td>";
  33.      echo "</tr>";
  34.      echo "</table>";
  35.      echo "<br>";
  36.      }
  37. for($i=0;$i<$num_pages;$i++)
  38. {
  39. $pages = $i+1;
  40. echo "<a href=?page=$pages&section=$s_section&type=$s_type&search=".urlencode($search).">$pages</a> ";
  41. }


-----
Не знаешь - молчи.
 
 Top
Andrey5555
Отправлено: 02 Февраля, 2008 - 17:04:56
Post Id


Частый гость


Покинул форум
Сообщений всего: 183
Дата рег-ции: Авг. 2007  


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




Как этот код правильно организовать? что бы не было ничего лишнего?
 
 Top
Dastar
Отправлено: 02 Февраля, 2008 - 17:12:39
Post Id



Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Янв. 2008  
Откуда: Израиль


Помог: -6 раз(а)




Ну, для начала вынеси html из php скрипта.
ИМХО, но гораздо красивей такое:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. while ($a) {
  3. ?>
  4. <table>
  5. <td><?=$a?></td>
  6. </table>
  7. <?
  8. }
  9.  

Это не относится к тем моментам, где html на пол строчки.


-----
Не знаешь - молчи.
 
 Top
valenok
Отправлено: 02 Февраля, 2008 - 17:18:08
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




Цитата:
Будьте добры, обьясните как мне тогда вывести данные из бд не использую в скрипте хтмл?

Никак.

Цитата:
И пожалуйста посоветуйте что мне исправить в стиле програмирования?

Стиль выработается сам со временем.
Говоря уже о стиле - вот как вставили лишний знак вопроса в этом предложении,
так и в коде у вас много лишнего.

Цитата:
Что я пишу лишнее?

Всё что является дублированием.


-----
Truly yours, Sasha.
 
My status
 Top
bonynight
Отправлено: 03 Февраля, 2008 - 11:06:46
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Февр. 2008  


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




PHP:
скопировать код в буфер обмена
  1. include ("mysql.php");
  2. if (isset($_GET['search']))
  3.   $search = $_GET['search'];
  4. $s_section = $_GET ['section'];
  5. $s_type = $_GET ['type'];
  6.  
  7. $query1 = mysql_query ("SELECT section, type, text, name, email, date
  8.                                      FROM announcements                                      
  9. WHERE section = '$s_section' AND  type = '$s_type' and text
  10.                                      LIKE '%$search%'");
  11. $allnum = mysql_num_rows ($query1);
  12. if(!isset($_GET['page']))
  13.   $page = 1;
  14. else
  15.   $page = ($_GET['page']);
  16. $on_page = 10;
  17. $begin = ($page - 1) * $on_page;
  18. $num_pages = ceil ($allnum / $on_page);
  19.  
  20. $query = mysql_query ("SELECT section, type, text, name, email, date
  21.                                    FROM announcements
  22.                                    WHERE section = '$s_section' and type = '$s_type' and text
  23.                                    LIKE '%$search%' LIMIT $begin, $on_page");
  24. while (list ($section, $type, $text, $name, $email, $date) = mysql_fetch_array ($query)) { ?>
  25.     <table width='300' border ='1' >
  26.       <tr>
  27.         <td width='150'>$type</td><td><div align='right'>$date</div></td>
  28.        </tr>
  29.     </table>
  30.     <table width='300' border ='1'>
  31.         <tr>
  32.           <td>$text</td>
  33.         </tr>
  34.      </table>
  35.      <table width='300' border ='1'>
  36.         <tr>
  37.           <td width='150'>$name</td>
  38.           <td><div align='right'><a href='mailto:$email'>$email</div></td>
  39.         </tr>
  40.      </table>
  41.      <br>}
  42. for($i = 0; $i < $num_pages; $i++) {
  43.   $pages = $i+1;
  44.   echo "<a href=?page=$pages&section=$s_section&type=$s_type&search=".urlencode($search).">$pages</a> ";
  45. }
  46.  

почитайте о стиля программирования в книжках, почитайте о templates (разделение логика и дизайна)
(Добавление)
теперь я понимаю почему у вас не отформатирован код по пробелам, тут это тупо не поддерживается=)


Отредактировано модератором: Dastar, 03 Февраля, 2008 - 16:26:58
Используйте [ php ] [/ php ]
 
 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