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]   

> Без описания
arxnday
Отправлено: 07 Декабря, 2015 - 03:48:06
Post Id


Новичок


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


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




Гуру, направьте в правильное русло эту свалку говнокода:
PHP:
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3.     <style>
  4.         h2 {text-align: center;}
  5.         table {border: 1px solid darkgray;width: 40%;margin: auto}
  6.         td {width: 50%;border: 1px solid darkgray;text-align: center;}
  7.     </style>
  8. </head>
  9. <body>
  10.  
  11. <?PHP
  12.  
  13. //$mysqli = new mysqli('localhost','root','','tasks'); - может оно еще понадобиться вне функции?
  14.  
  15. function tasks($x) {
  16.     global $mysqli;
  17.     $mysqli = new mysqli('localhost','root','','tasks');
  18.     echo "<table><caption>".$x."</caption>";
  19.     $query = $mysqli->query("SELECT * FROM `tasks` WHERE `status` LIKE '$x' ORDER BY char_length(`description`) ASC");
  20.     while($new_tasks = $query->fetch_array()){
  21.         echo "<tr><td>".$new_tasks['description']."</td><td>".$new_tasks['status']."</td></tr>";
  22.     }
  23.     echo "</table><br><br><br>";
  24.     unset($new_tasks);
  25. }
  26.  
  27.  
  28.  
  29. echo"<h2>Список задач</h2>";
  30.  
  31. // Новые задания
  32. $x = 'Не начато';
  33. tasks($x);
  34.  
  35. //В процессе
  36. $x = 'В процессе';
  37. tasks($x);
  38.  
  39. //Выполнено
  40. $x = 'Выполнено';
  41. tasks($x);
  42.  
  43. echo '<table><caption>Ввод данных</caption>
  44.    <form action="add.php" method="post">
  45.       <tr><td> <p>Описание:</p></td> <td><textarea rows="1" cols="50" name="description"></textarea></td></tr>
  46.       <tr><td> <p>Статус:</p> <td><textarea rows="1" cols="50" name="status"></textarea></td></tr></td></tr></table>
  47.       <p style="text-align: center"><input type="submit" /></p>
  48.    </form>';
  49. ?>
  50. </body>
  51. </html>
 
 Top
lastdays
Отправлено: 07 Декабря, 2015 - 06:54:39
Post Id



Частый гость


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


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




Global в функции не нужен, так как там же происходит коннект к базе данных.
В функции использовать echo не корректно, должна возвращать return (?)
В статусе заказов не нужно хранить текст, лучше цифры. Проще работать и делать выборку потом.

Всё это дело можно запустить 1 раз и полученные данные записать в массив, а не вызывать функцию 3 раза на странице.

(Отредактировано автором: 07 Декабря, 2015 - 07:28:08)

 
 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