PHP.SU

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

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

> Найдено сообщений: 41
arxnday Отправлено: 02 Декабря, 2015 - 03:56:52 • Тема: Открыть текстовый файл • Форум: Вопросы новичков

Ответов: 6
Просмотров: 332
Эээ...Я ничего не понял что тебе нужно сделать(вероятно из-за того, что 4 часа ночи)
Опиши, пожалуйста, чуть детальнее, посмотри на функцию fopen()
arxnday Отправлено: 02 Декабря, 2015 - 03:53:59 • Тема: Как Вставить рандомную цыфру в текст? • Форум: Вопросы новичков

Ответов: 7
Просмотров: 356
http://www.php.su/functions/?fgets
arxnday Отправлено: 01 Декабря, 2015 - 20:54:28 • Тема: Пагинация • Форум: Вопросы новичков

Ответов: 1
Просмотров: 154
В общем дело так обстоит. Посмотрев на статью на сайте попробовал добавить ее к себе.
Чистая копипаста с подставлением своей бд работает, результат такой:


Но, PhpStorm говорит о том, что mysql_ имеет статус deprecated, соответственно переписал все с mysqli_, и тут начались проблемы. Вместо ожидаемого результата вывод получается такой:


И сам код:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. // Устанавливаем соединение с базой данных
  3. include "config2.php";
  4. // Переменная хранит число сообщений выводимых на станице
  5. $num = 5;
  6. // Извлекаем из URL текущую страницу
  7. $page = $_GET['page'];
  8. // Определяем общее число сообщений в базе данных
  9. $result = mysqli_query($db,"SELECT COUNT(*) FROM articles");
  10. $posts = mysqli_num_rows($result);
  11. // Находим общее число страниц
  12. $total = intval(($posts - 1) / $num) + 1;
  13. // Определяем начало сообщений для текущей страницы
  14. $page = intval($page);
  15. // Если значение $page меньше единицы или отрицательно
  16. // переходим на первую страницу
  17. // А если слишком большое, то переходим на последнюю
  18. if(empty($page) or $page < 0) $page = 1;
  19. if($page > $total) $page = $total;
  20. // Вычисляем начиная к какого номера
  21. // следует выводить сообщения
  22. $start = $page * $num - $num;
  23. // Выбираем $num сообщений начиная с номера $start
  24. $result = mysqli_query($db,"SELECT * FROM articles ORDER BY id DESC LIMIT $start, $num");
  25. // В цикле переносим результаты запроса в массив $postrow
  26. while ( $postrow[] = mysqli_fetch_array($result))
  27.     ?>
  28.  
  29.     <?PHP
  30. echo "<table>";
  31. for($i = 0; $i < $num; $i++)
  32. {
  33.     echo "<tr>
  34.         <td>".$postrow[$i]['title']."</td>
  35.         </tr>
  36.       <tr><td colspan=\"2\">".$postrow[$i]['full_text']."</td></tr>";
  37. }
  38. echo "</table>";
  39. ?>
  40. <?PHP
  41. // Проверяем нужны ли стрелки назад
  42. if ($page != 1) $pervpage = '<a href= ./index2.php?page=1><<</a>
  43.                               <a href= ./index2.php?page='. ($page - 1) .'><</a> ';
  44. // Проверяем нужны ли стрелки вперед
  45. if ($page != $total) $nextpage = ' <a href= ./index2.php?page='. ($page + 1) .'>></a>
  46.                                   <a href= ./index2.php?page=' .$total. '>>></a>';
  47.  
  48. // Находим две ближайшие станицы с обоих краев, если они есть
  49. if($page - 2 > 0) $page2left = ' <a href= ./index2.php?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
  50. if($page - 1 > 0) $page1left = '<a href= ./index2.php?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
  51. if($page + 2 <= $total) $page2right = ' | <a href= ./index2.php?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
  52. if($page + 1 <= $total) $page1right = ' | <a href= ./index2.php?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
  53.  
  54. // Вывод меню
  55. echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;
  56.  
  57. ?>


Где тут у меня ошибка то запряталась?
(Добавление)
Я так догадываюсь что проблема есть где-то вот тут:
Старый вариант:

Новый вариант:

Но не знаю как переписать по-другому
arxnday Отправлено: 01 Декабря, 2015 - 01:17:38 • Тема: Как Вставить рандомную цыфру в текст? • Форум: Вопросы новичков

Ответов: 7
Просмотров: 356
Можете показать как должен выглядеть вывод результата?
arxnday Отправлено: 01 Декабря, 2015 - 00:42:48 • Тема: Как Вставить рандомную цыфру в текст? • Форум: Вопросы новичков

Ответов: 7
Просмотров: 356
Если в середине текста, тогда так:
PHP:
скопировать код в буфер обмена
  1. $message = 'текст в котором нужно '.rand().' вставить рандомную цыфру';
arxnday Отправлено: 01 Декабря, 2015 - 00:12:45 • Тема: Как Вставить рандомную цыфру в текст? • Форум: Вопросы новичков

Ответов: 7
Просмотров: 356
Используйте функцию rand()
Например:
PHP:
скопировать код в буфер обмена
  1. $message = 'текст в котором нужно вставить рандомную цыфру ' .rand();
  2. echo $message;


Если нужно случайное число в определенном диапазоне, например от 1 до 10, тогда пишите rand(1,10)
arxnday Отправлено: 30 Ноября, 2015 - 22:43:01 • Тема: Автоматизация расчетов • Форум: Работа с СУБД

Ответов: 7
Просмотров: 1042
Действительно, перезаписывать постоянно значение не стоит, это влечет за собой следующую проблему:
Выработка ресурса - 2 ед. за минуту, соответственно при таком подходе и частом обновлении страницы, момент когда ресурс должен зачислится не сможет наступить.

Спасибо всем огромное)
arxnday Отправлено: 30 Ноября, 2015 - 22:40:28 • Тема: Защитить скрипты от открытия и скачивания • Форум: Вопросы новичков

Ответов: 2
Просмотров: 163
Добрый вечер!
Скажите, пожалуйста. а какие вообще есть способы защиты скриптов от их возможного скачивания и анализа?
Например, есть файл с конфигурацией доступа к БД, как его можно защитить от сторонних глаз?
arxnday Отправлено: 29 Ноября, 2015 - 03:38:05 • Тема: Автоматизация расчетов • Форум: Работа с СУБД

Ответов: 7
Просмотров: 1042
MiksIr пишет:
Зачем тебе "3. обновление значения timestamp"?
а что, в таблицу потом не нужно заносить значение последнего проведения операции?)
arxnday Отправлено: 29 Ноября, 2015 - 02:56:03 • Тема: Автоматизация расчетов • Форум: Работа с СУБД

Ответов: 7
Просмотров: 1042
MiksIr пишет:
А зачем тебе хранить текущее состояние, если ты его всегда можешь посчитать. Обновляй базу на операциях списания (опустошение склада, например, или пролучение бонуса), а текущее состояние посчитаешь как "последниее состояние + (текущее время - время последнего состояния) * прирост".

Ну как вариант, ваще не очень в геймдеве.

Хм, спасибо за наводку на еще один вариант реализации)
Хотя на операциях списания не вариант, нужно чтобы при каждом обновлении страницы выводилось точное значение хранящегося на складе ресурса
получается, если правильно в 3 часа ночи понял такая очередность:
1. результат = (текущий timestamp - timestamp с бд) * прирост в секунду
2. состояние склада += результат
3. обновление значения timestamp

Спасибо!
arxnday Отправлено: 29 Ноября, 2015 - 02:39:35 • Тема: Автоматизация расчетов • Форум: Работа с СУБД

Ответов: 7
Просмотров: 1042
Всем привет!
Собственно, пытаюсь сделать простенькую игру для набития руки, и столкнулся со следующей проблемой которую не понимаю как реализовать.
Вот есть у нас, допустим, склад, и необходимо чтобы каждую секунду "отработавшая шахта" приносящая 5 ед. ресурса не уходила в пустоту, а это значение добавляла к текущему показателю склада.
Как это можно реализовать?
Первая мысль была связана с cron, но при наличии, допустим, тысячи таких операций каждую секунду, кажется, будет слишком высокая нагрузка на сервер. Есть ли другие пути или можно сильно не беспокоиться о нагрузке от крона?

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB