PHP.SU

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

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

> Найдено сообщений: 52
phphtmlcss Отправлено: 25 Марта, 2013 - 19:20:37 • Тема: Постраничная навигация и ЧПУ • Форум: Вопросы новичков

Ответов: 3
Просмотров: 348
Vinyl пишет:
Потому что в переменной $bd неверный результат. 100%. Вот у этого ЧПУ хорошая $bd

Юмаристы!
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $pagination = 3;
  3. if(empty($_GET['page']) || ($_GET['page']) <= 0){
  4. $page = 1;
  5. }else{
  6. $page = (int)$_GET['page'];
  7. }
  8. $duble2 = mysql_query("SELECT `comment_id` FROM `comment`  WHERE `article_id`={$article_id}") or die(mysql_error());
  9. $count = mysql_num_rows($duble2);
  10. $page_comm = ceil($count / $pagination);
  11. if(!$page_comm) $page_comm = 1;
  12. if($page > $page_comm) $page = $page_comm;
  13. $startpage = ($page - 1) * $pagination;
  14. $res = mysql_query("SELECT  `date_comment`, `comment_id`, `time`,  LEFT(`time`, 5) AS `time`, `comment`, `comment`.`login`, `comment`.`avatar`, `users`.`admin`, `users`.`moderator` FROM  `comment` LEFT JOIN `users` ON `comment`.`login`=`users`.`login` WHERE `article_id`=".$article_id." AND `visible`='1' ORDER BY `article_id` DESC LIMIT {$startpage},{$pagination}")or die(mysql_error());
  15. ?>

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. // Конец навигации комментариев  //
  3. function startnav($page, $page_comm){
  4. if($_SERVER['QUERY_STRING']){
  5. foreach($_GET as $nav => $pass){
  6. if($nav != "page") $uri .= "{$nav}={$pass}&";
  7. }
  8. }
  9.  
  10. $page1 = '';
  11. $page2 = '';
  12. $page3 = '';
  13. $page4 = '';
  14. $page5 = '';
  15. $page6 = '';
  16.  
  17. if($page > 1){
  18. $page6 = "<a class='nab_link' href='?{$uri}page=" .($page - 1). "'><img src='images/link1.png' class='fuckimg1' title='назад'></a>";
  19. }
  20. if($page < $page_comm){
  21. $page5 = "<a class='nab_link' href='?{$uri}page=" .($page + 1). "'><img src='images/link.png' class='fuckimg' title='вперед'></a>";
  22. }
  23. if($page - 1 > 0){
  24. $page4 = "<a class='nab_link' href='?{$uri}page=" .($page - 1). "'>" .($page - 1). "</a>";
  25. }
  26. if($page - 2 > 0){
  27. $page3 = "<a class='nab_link' href='?{$uri}page=" .($page - 2). "'>" .($page - 2). "</a>";
  28. }
  29. if($page + 1 <= $page_comm){
  30. $page1 = "<a class='nab_link' href='?{$uri}page=" .($page + 1). "'>" .($page + 1). "</a>";
  31. }
  32. if($page + 2 <= $page_comm){
  33. $page2 = "<a class='nab_link' href='?{$uri}page=" .($page + 2). "'>" .($page + 2). "</a>";
  34. }
  35. echo $page6.$page3.$page4. '<a class="nab_active">'.$page.'</a>'.$page1.$page2.$page5;
  36. }
  37. // Конец навигации комментариев //
  38. ?>

.htaccss
PHP:
скопировать код в буфер обмена
  1. RewriteEngine On
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteRule ^([^\/]*)$ articles.php?category_url=$1
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteCond %{REQUEST_FILENAME} !-d
  7. RewriteRule ^([^\/]*)\/([^\/]*)$ view_article.php?article_url=$2
phphtmlcss Отправлено: 25 Марта, 2013 - 18:52:16 • Тема: Постраничная навигация и ЧПУ • Форум: Вопросы новичков

Ответов: 3
Просмотров: 348
Господа умные! кто у курсе почему не работает постраничная навигация, после установки чпу?
phphtmlcss Отправлено: 14 Марта, 2013 - 18:54:26 • Тема: как создать новую базу данных с помощью PHP? • Форум: Вопросы новичков

Ответов: 8
Просмотров: 962
esterio пишет:
Ну зачем Вы даете плохие совети. Вам мало вчерашнего. Человеку нужно создать базу а не приконектится чтоб виполнить SELECT.

Я привел пример! А что касается советов то у тебя это тоже не совсем получается.
Noob! Не на того напал Не на того напал Не на того напал
phphtmlcss Отправлено: 14 Марта, 2013 - 17:40:50 • Тема: как создать новую базу данных с помощью PHP? • Форум: Вопросы новичков

Ответов: 8
Просмотров: 962
phphtmlcss пишет:
Я так понимаю надо два параметра передавать ф-ии, я не знаю какой второй. Подскажите, что нужно исправить?


PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. require_once './config.php';
  4.  
  5.  
  6. $dcb = mysqli_connect(HOST, USER, PASS, DB);
  7. $query = "SELECT * FROM `comment`";
  8. $result = mysqli_query($dcb, $query);
  9. while($row = mysqli_fetch_assoc($result)){
  10. echo $row['comment'];
  11. }
  12. ?>
  13.  


пробуй так!
(Добавление)
phphtmlcss пишет:
пробуй так!

Да и еще создай отдельный файл, предположим с названием config.ini.php
в нем твои констаты
PHP:
скопировать код в буфер обмена
  1.  
  2. define("DB_HOST", "localhost");
  3. define("DB_LOGIN", "root");
  4. define("DB_PASSWORD", "");
  5. define("DB", "bazadannih");
  6.  

в index.php подключаем config.ini.php
PHP:
скопировать код в буфер обмена
  1.  
  2. require_once './config.ini.php';
  3.  
phphtmlcss Отправлено: 14 Марта, 2013 - 17:36:18 • Тема: как создать новую базу данных с помощью PHP? • Форум: Вопросы новичков

Ответов: 8
Просмотров: 962
tchsa пишет:
Начал учить PHP по курсам специалиста. Нужно создать новую базу. Вот их код:
PHP:
скопировать код в буфер обмена
  1. define("DB_HOST", "localhost");
  2. define("DB_LOGIN", "root");
  3. define("DB_PASSWORD", "");
  4. mysqli_connect(DB_HOST, DB_LOGIN, DB_PASSWORD) or die(mysqli_error());
  5. $sql = 'CREATE DATABASE gbook';
  6. $sql = "
  7. CREATE TABLE msgs (
  8.         id int(11) NOT NULL auto_increment,
  9.         name varchar(50) NOT NULL default '',
  10.         email varchar(50) NOT NULL default '',
  11.         msg TEXT,
  12.         PRIMARY KEY (id)
  13. )";
  14. print '<p>Структура базы данных успешно создана!</p>';

Я заменил ф-ии mysql на mysqli т.к. в онлайн хэлпе php.net сказано, что musql устаревшая. И ничего не работает, ошибки:
Warning: mysqli_query() expects at least 2 parameters, 1 given in M:\home\www\mod4\createdb.php on line 11
Warning: mysqli_error() expects exactly 1 parameter, 0 given in M:\home\www\mod4\createdb.php on line 11
Я так понимаю надо два параметра передавать ф-ии, я не знаю какой второй. Подскажите, что нужно исправить?


Не вижу имени базы данных!
phphtmlcss Отправлено: 13 Марта, 2013 - 19:01:50 • Тема: Не понимаю ООП • Форум: Объектно-ориентированное программирование

Ответов: 112
Просмотров: 35350
avtor.fox пишет:
В бааааааааан отправьте phphtmlcss Закатив глазки

А что в бан та! ты читал что пишут? был задан вопрос а вместо ответа на оборот сто вопросов!
phphtmlcss Отправлено: 13 Марта, 2013 - 18:58:49 • Тема: Не понимаю ООП • Форум: Объектно-ориентированное программирование

Ответов: 112
Просмотров: 35350
igosja пишет:
digi пишет:
с какими-нить фреймворками знаком? что такое git и composer известно?

Да, извесно. Не могли бы Вы перейти к результирующей части этих распросов.

Ни жди тут ответов! иди сюда http://myrusakov[dot]ru/ и тебе все объяснят ! Тут ловить нечего!
phphtmlcss Отправлено: 12 Марта, 2013 - 19:44:00 • Тема: Соединение с базой данных с помощью констант • Форум: Вопросы новичков

Ответов: 27
Просмотров: 950
esterio пишет:
Ну как хотите я вас переубеждать не стану. Мне ето не надо. Лишь замечу что вы уже под mysqli переписали Радость Радость Радость

А я против mysqli ни чего против и не имел!
(Добавление)
sneakquie пишет:
Ну Вы даете. Не решение? А ничего, что в Ваших первых примерах и в первом сообщении использовалась функция mysql_query(), а в последнем сообщении - mysqli_query, а у них сигнатура то разная. В mysqli_query() первым аргументом идет указатель на БД, вторым - запрос, так что мое решение было верным, это уже Вы все перекрутили.

А ну если так то спасибо вам!
phphtmlcss Отправлено: 12 Марта, 2013 - 19:27:24 • Тема: Соединение с базой данных с помощью констант • Форум: Вопросы новичков

Ответов: 27
Просмотров: 950
sneakquie пишет:
Извиняюсь, если невнимательно читал тему и TC'y ответили.
PHP:
скопировать код в буфер обмена
  1. $dcb = mysql_connect(HOST, USER, PASS, DB) or die("ERROR connected to SERVER");
  2.  
  3. $query = "SELECT * FROM comment";
  4. mysql_query($dcb, $query);

В функции mysql_query() первым аргументом у Вас является указатель, вторым - сам код запроса. Нужно поменять их местами.


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. require_once './config.php';
  3.  
  4.  
  5. $dcb = mysqli_connect(HOST, USER, PASS, DB);
  6. $query = "SELECT * FROM `comment`";
  7. $result = mysqli_query($dcb, $query);
  8. while($row = mysqli_fetch_assoc($result)){
  9. echo $row['comment'];
  10. }
  11. ?>


Не решение было верно, все вот так работает!
Только кодировка не установлена!
phphtmlcss Отправлено: 12 Марта, 2013 - 19:23:51 • Тема: Соединение с базой данных с помощью констант • Форум: Вопросы новичков

Ответов: 27
Просмотров: 950
esterio пишет:
Итак результаты теста как я обещал

1. делаем структру таблицы
CODE (SQL):
скопировать код в буфер обмена
  1. CREATE TABLE `test` (
  2.   `id` int(11) NOT NULL AUTO_INCREMENT,
  3.   `name` varchar(255) DEFAULT NULL,
  4.   PRIMARY KEY (`id`)
  5. ) ENGINE=InnoDB DEFAULT CHARSET=utf8


2. код заполнения таблицы 100 000 записей
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function randWord()
  3. {
  4.         $pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  5.         $count = rand(5, 15);
  6.         $str = '';
  7.         for ($i = 0; $i < $count; $i++)
  8.                 $str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
  9.         return $str;
  10. }
  11. mysql_connect('localhost', 'root', '');
  12.  
  13. for($i = 0; $i < 100000; $i++)
  14.         mysql_query('INSERT INTO test SET name="'.randWord().'"');


3. делае стартовый запрос
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT SQL_NO_CACHE * FROM `test` WHERE name LIKE "%asd%"

Время 0.031 sec

Итак тест №1 - один раз откриваем базу
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. define('START_TIME', microtime(true));
  3.  
  4. mysql_connect('localhost', 'root', '');
  5.  
  6. for($i = 0; $i < 100; $i++)
  7.         mysql_query('SELECT SQL_NO_CACHE * FROM `test` WHERE name LIKE "%asd%"');
  8.  
  9. echo round(microtime(true) - START_TIME, 4).' sec';


Время - 12.7408 sec

Тест №2
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. define('START_TIME', microtime(true));
  3. for($i = 0; $i < 100; $i++)
  4. {
  5.         mysql_connect('localhost', 'root', '');
  6.         mysql_select_db('test');
  7.         mysql_query('SELECT SQL_NO_CACHE * FROM `test` WHERE name LIKE "%asd%"');
  8.         mysql_close();
  9. }
  10. echo round(microtime(true) - START_TIME, 4).' sec';

Время - 13.969 sec.

Итог подведите сами

П.С. более 100 запросов неудалось так как превишал лимит 30 сек на локале


echo round(microtime(true) - START_TIME, 4).' sec.';
Браво!

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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB