PHP.SU

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

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

> Найдено сообщений: 34
RageXL Отправлено: 18 Ноября, 2014 - 22:44:16 • Тема: Скрипт вывода товаров, очень долго грузится (foreach). • Форум: Вопросы новичков

Ответов: 12
Просмотров: 599
Функции выборки товаров из базы:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  function result_to_array($result) {
  2.                 $res_array = array();
  3.                 $count = 0;
  4.                 while( $row = $result->fetch_assoc() ) {
  5.                         $res_array[$count] = $row;
  6.                         $count++;
  7.                 }
  8.                 return $res_array;
  9.         }
  10.  
  11.     function get_product() {
  12.                 connect_db();
  13.                 global $mysqli;
  14.                 $result = $mysqli->query("SELECT *FROM `product` ORDER by `id` DESC");
  15.                 $result = result_to_array($result);
  16.                 return $result;
  17.         }


На самой странице все товары выводятся циклом foreach:

CODE (htmlphp):
скопировать код в буфер обмена
  1.     $products = get_product();
  2.  
  3.     <? foreach ($products as $product): ?>
  4.    
  5.     html код
  6.    
  7.     <? endforeach; ?>


Проблема в том, что страница с товарами открывается ну очень долго, раньше просто на этой же самой странице делал запрос и выводил все через while по скорости было ощутимо быстрее. Подскажите что я делаю не так и почему так медленно работает скрипт ?
RageXL Отправлено: 24 Апреля, 2014 - 23:31:27 • Тема: Не добавляется значение в INSERT • Форум: Вопросы новичков

Ответов: 2
Просмотров: 128
Пробую так
PHP:
скопировать код в буфер обмена
  1. $result = $mysqli->query("INSERT INTO `polls` (title) VALUES ('$title')");
  2.         $poll_id = $result->insert_id;

все равно не выходит добавляется 0 вместо реального id
RageXL Отправлено: 24 Апреля, 2014 - 21:12:58 • Тема: Не добавляется значение в INSERT • Форум: Вопросы новичков

Ответов: 2
Просмотров: 128
Объясните мне пожалуйста почему переменная $poll_id не добавляется в таблицу images, вместо нее добавляется 0. Причем если не делать выборку $poll_id из таблицы polls, а просто указать где-нибудь например, что $poll_id = 3, то 3 добавляется.

код
PHP:
скопировать код в буфер обмена
  1.  
  2. $uploaddir = 'images/';
  3.  
  4. // Вытаскиваем необходимые данные
  5. $file = $_POST['value'];
  6. $name = $_POST['name'];
  7. $title = $_POST['title'];
  8. // Получаем расширение файла
  9. $getMime = explode('.', $name);
  10. $mime = end($getMime);
  11.  
  12.  
  13. $data = explode(',', $file);
  14.  
  15.  
  16. $encodedData = str_replace(' ','+',$data[1]);
  17. $decodedData = base64_decode($encodedData);
  18.  
  19. $randomName = substr_replace(sha1(microtime(true)), '', 12).'.'.$mime;
  20.  
  21.  
  22. if (isset($_POST['title'])) {
  23.         $mysqli->query("INSERT INTO `polls` (title) VALUES ('$title')");
  24. }
  25.  
  26. $result2 = $mysqli->query("SELECT `poll_id` FROM `polls` WHERE `title`='$title'");
  27.                 $row = $result2->fetch_row();
  28.                 $poll_id = $row['poll_id'];    
  29.  
  30. // Создаем изображение на сервере
  31. if(file_put_contents($uploaddir.$randomName, $decodedData)) {  
  32.  
  33.         $mysqli->query("INSERT INTO `images` (id,poll_id,date,catalog,filename) VALUES ('','$poll_id', NOW(),'$uploaddir','$randomName')");
  34.  
  35.         echo $randomName.":загружен успешно" ;
  36.         }
  37. else {
  38.         echo "Что-то пошло не так. Убедитесь, что файл не поврежден! ";
  39. }
RageXL Отправлено: 16 Апреля, 2014 - 15:08:18 • Тема: Long polling новые сообщения • Форум: Вопросы новичков

Ответов: 11
Просмотров: 1136
У меня на данный момент всего один вопрос. Как добиться того, чтобы длина запроса была не 1 секунду, а 10 ?
RageXL Отправлено: 16 Апреля, 2014 - 14:12:54 • Тема: Long polling новые сообщения • Форум: Вопросы новичков

Ответов: 11
Просмотров: 1136
Все равно не выходит, запрос должен длится 10 секунд, он длятся 1 секунду затем отсылается следующий.
RageXL Отправлено: 15 Апреля, 2014 - 14:47:26 • Тема: Long polling новые сообщения • Форум: Вопросы новичков

Ответов: 11
Просмотров: 1136
Странно по моему функция не реагирует на изменение значения timeout, запросы все равно отсылаются каждую секунду
RageXL Отправлено: 15 Апреля, 2014 - 01:27:05 • Тема: Long polling новые сообщения • Форум: Вопросы новичков

Ответов: 11
Просмотров: 1136
[quote=Panoptik]просто замените ваш вызов на это
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. (function getmess(){
  3.     $.ajax({
  4.       url:"notif.php",
  5.       data:{"id":id},
  6.       type:"GET",
  7.       success: function(result){
  8.         $("#count").html(result);
  9.       }, dataType: "json",
  10.       complete: getmess,
  11.       timeout: 10000});
  12. })();
  13.  


Так работает. А то, что запросы отсылаются каждую секунду это нормально ? Не создается ли при этом нагрузка на сервер ?
RageXL Отправлено: 15 Апреля, 2014 - 01:00:11 • Тема: Long polling новые сообщения • Форум: Вопросы новичков

Ответов: 11
Просмотров: 1136
LIME пишет:
http://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery


Можете пожалуйста объяснить на моем примере ?
RageXL Отправлено: 15 Апреля, 2014 - 00:07:20 • Тема: Long polling новые сообщения • Форум: Вопросы новичков

Ответов: 11
Просмотров: 1136
Помогите пожалуйста правильно сделать уведомление о новых сообщения для пользователей, используя Long polling. Сам я в этой технологии не силен.

Что есть на данный момент

Клиент:

CODE (javascript):
скопировать код в буфер обмена
  1.  function getmess(){
  2.     $.ajax({
  3.     url:"notif.php",
  4.     data:{"id":id},
  5.     type:"GET",
  6.     success:function(result){
  7.         $("#count").html(result);
  8.         setTimeout('getmess',10000);
  9.       }
  10.      });
  11.     }


Обработчик notif.php

PHP:
скопировать код в буфер обмена
  1.  $mysqli = new mysqli('localhost', 'root', '', 'test');
  2.         if (mysqli_connect_errno()) {
  3.         printf("error: %s\n", mysqli_connect_error());
  4.         exit;
  5.         }  
  6.  
  7.      session_start();
  8.  
  9.     $MY_ID = $_SESSION['id'];
  10.  
  11.     while (true) {
  12.     $result = $mysqli->query("SELECT COUNT(*) FROM messages WHERE user_get='$MY_ID' AND status='1' ");
  13.     if (mysqli_num_rows($result)) {
  14.     while ($row = mysqli_fetch_array($result)) {
  15.     echo $row[0]."";
  16.     }
  17.     flush();
  18.     exit;
  19.     }
  20.     sleep(5);
  21.     }


Проблема в том что когда приходит новое сообщение блок count не обновляется, если повесить событие onclick="getmess();" на кнопку, то при нажатии на нее счетчик обновляется, но мне нужно чтобы он обновлялся сразу как приходит новое сообщение.
RageXL Отправлено: 14 Января, 2014 - 19:46:23 • Тема: Проверка вошел ли пользователь • Форум: Вопросы новичков

Ответов: 4
Просмотров: 247
Спасибо, работает.
RageXL Отправлено: 14 Января, 2014 - 11:53:55 • Тема: Проверка вошел ли пользователь • Форум: Вопросы новичков

Ответов: 4
Просмотров: 247
OrmaJever пишет:
эта функция пишется в зависимости от вашей авторизации, у кого-то нужно куки проверять, у кого-то сесии.


Можете объяснить и или показать на примере как ее напистаь?
RageXL Отправлено: 13 Января, 2014 - 17:57:40 • Тема: Проверка вошел ли пользователь • Форум: Вопросы новичков

Ответов: 4
Просмотров: 247
Проблема такого плана - есть 2 блока, условно div1 и div2, первый должен показываться для авторизованных пользователей, второй для не авторизованных. Помогите написать функцию проверки, что то вроде user_logged(), чтобы не проверять каждый раз существует ли активная сессия.

Пример использования:

PHP:
скопировать код в буфер обмена
  1. if ( user_logged() )
  2. {
  3. div1
  4. }
  5. else
  6. {
  7. div2
  8. }
  9.  
RageXL Отправлено: 11 Января, 2014 - 12:32:41 • Тема: Socket.io сообщения • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 2147
Как тогда без php узнать кому и от кого адресовано сообщение?
RageXL Отправлено: 11 Января, 2014 - 00:05:39 • Тема: Socket.io сообщения • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 2147
Не пойму как сделать messages.php и как его отдать id пользователя js скрипту? Помогите разобраться.
RageXL Отправлено: 27 Декабря, 2013 - 16:45:46 • Тема: Socket.io сообщения • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 2147
В общем недавно набрел вот на такую статью, про то как организовать личные сообщения на Socket.io + MySQL. Меня очень заинтересовала эта идея, решил попробовать сделать что-нибудь. Установил node.js, необходимые модули, запустил сервер, создал таблицу сообщений и пользователей. Но я не понимаю как организовать messages.php, чтобы например получать id пользователя к примеру при нажатии на его имя на странице, и куда подключать этот самый messages.php? Помогите разобраться со всем этим пожалуйста.

Страниц (3): [1] 2 3 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB