PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (4): [1] 2 3 4 »
Найдено сообщений: 52
phphtmlcss
Отправлено: 25 Марта, 2013 - 19:20:37 • Тема: Постраничная навигация и ЧПУ • Форум: Вопросы новичков
Ответов: 3 Просмотров: 348
Vinyl пишет: Потому что в переменной $bd неверный результат. 100%. Вот у этого ЧПУ хорошая $bd
Юмаристы!
PHP:
скопировать код в буфер обмена
<?PHP
$pagination = 3 ;
if ( empty ( $_GET [ 'page' ] ) || ( $_GET [ 'page' ] ) <= 0
) { $page = 1 ;
} else {
$page = ( int) $_GET [ 'page' ] ;
}
$page_comm = ceil ( $count / $pagination ) ; if ( ! $page_comm ) $page_comm = 1 ;
if ( $page > $page_comm ) $page = $page_comm ;
$startpage = ( $page - 1) * $pagination ;
$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 ( ) ) ; ?>
PHP:
скопировать код в буфер обмена
<?PHP
// Конец навигации комментариев //
function startnav( $page , $page_comm ) {
if ( $_SERVER [ 'QUERY_STRING' ] ) {
foreach ( $_GET as $nav => $pass ) {
if ( $nav != "page" ) $uri .= "{$nav} ={$pass} &" ;
}
}
$page1 = '' ;
$page2 = '' ;
$page3 = '' ;
$page4 = '' ;
$page5 = '' ;
$page6 = '' ;
if ( $page > 1) {
$page6 = "<a class='nab_link' href='?{$uri} page=" . ( $page - 1 ) . "'><img src='images/link1.png' class='fuckimg1' title='назад'></a>" ;
}
if ( $page < $page_comm ) {
$page5 = "<a class='nab_link' href='?{$uri} page=" . ( $page + 1 ) . "'><img src='images/link.png' class='fuckimg' title='вперед'></a>" ;
}
if ( $page - 1 > 0) {
$page4 = "<a class='nab_link' href='?{$uri} page=" . ( $page - 1 ) . "'>" . ( $page - 1 ) . "</a>" ;
}
if ( $page - 2 > 0) {
$page3 = "<a class='nab_link' href='?{$uri} page=" . ( $page - 2 ) . "'>" . ( $page - 2 ) . "</a>" ;
}
if ( $page + 1 <= $page_comm ) {
$page1 = "<a class='nab_link' href='?{$uri} page=" . ( $page + 1 ) . "'>" . ( $page + 1 ) . "</a>" ;
}
if ( $page + 2 <= $page_comm ) {
$page2 = "<a class='nab_link' href='?{$uri} page=" . ( $page + 2 ) . "'>" . ( $page + 2 ) . "</a>" ;
}
echo $page6 . $page3 . $page4 . '<a class="nab_active">' . $page . '</a>' . $page1 . $page2 . $page5 ;
}
// Конец навигации комментариев //
?>
.htaccss
PHP:
скопировать код в буфер обмена
RewriteEngine On
RewriteCond % { REQUEST_FILENAME} !- f
RewriteCond % { REQUEST_FILENAME} !- d
RewriteRule ^( [ ^\/ ] * ) $ articles. php?category_url= $1
RewriteCond % { REQUEST_FILENAME} !- f
RewriteCond % { REQUEST_FILENAME} !- d
RewriteRule ^( [ ^\/ ] * ) \/ ( [ ^\/ ] * ) $ view_article. php?article_url= $2
phphtmlcss
Отправлено: 14 Марта, 2013 - 17:40:50 • Тема: как создать новую базу данных с помощью PHP? • Форум: Вопросы новичков
Ответов: 8 Просмотров: 962
phphtmlcss пишет: Я так понимаю надо два параметра передавать ф-ии, я не знаю какой второй. Подскажите, что нужно исправить?
пробуй так!
(Добавление)
phphtmlcss пишет: пробуй так!
Да и еще создай отдельный файл, предположим с названием config.ini.php
в нем твои констаты
в index.php подключаем config.ini.php
phphtmlcss
Отправлено: 14 Марта, 2013 - 17:36:18 • Тема: как создать новую базу данных с помощью PHP? • Форум: Вопросы новичков
Ответов: 8 Просмотров: 962
tchsa пишет: Начал учить PHP по курсам специалиста. Нужно создать новую базу. Вот их код:
PHP:
скопировать код в буфер обмена
define ( "DB_HOST" , "localhost" ) ; $sql = 'CREATE DATABASE gbook' ;
$sql = "
CREATE TABLE msgs (
id int(11) NOT NULL auto_increment,
name varchar(50) NOT NULL default '',
email varchar(50) NOT NULL default '',
msg TEXT,
PRIMARY KEY (id)
)" ;
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
Отправлено: 12 Марта, 2013 - 19:44:00 • Тема: Соединение с базой данных с помощью констант • Форум: Вопросы новичков
Ответов: 27 Просмотров: 950
А я против mysqli ни чего против и не имел!
(Добавление)
sneakquie пишет: Ну Вы даете. Не решение? А ничего, что в Ваших первых примерах и в первом сообщении использовалась функция mysql_query(), а в последнем сообщении - mysqli_query, а у них сигнатура то разная. В mysqli_query() первым аргументом идет указатель на БД, вторым - запрос, так что мое решение было верным, это уже Вы все перекрутили.
А ну если так то спасибо вам!
phphtmlcss
Отправлено: 12 Марта, 2013 - 19:27:24 • Тема: Соединение с базой данных с помощью констант • Форум: Вопросы новичков
Ответов: 27 Просмотров: 950
sneakquie пишет: Извиняюсь, если невнимательно читал тему и TC'y ответили.
В функции
mysql_query() первым аргументом у Вас является указатель, вторым - сам код запроса. Нужно поменять их местами.
Не решение было верно, все вот так работает!
Только кодировка не установлена!
phphtmlcss
Отправлено: 12 Марта, 2013 - 19:23:51 • Тема: Соединение с базой данных с помощью констант • Форум: Вопросы новичков
Ответов: 27 Просмотров: 950
esterio пишет: Итак результаты теста как я обещал
1. делаем структру таблицы
CODE (
SQL ):
скопировать код в буфер обмена
CREATE TABLE `test` (
`id` int( 11) NOT NULL AUTO_INCREMENT ,
`name` varchar( 255) DEFAULT NULL ,
PRIMARY KEY ( `id` )
) ENGINE= InnoDB DEFAULT CHARSET= utf8
2. код заполнения таблицы 100 000 записей
PHP:
скопировать код в буфер обмена
<?PHP
function randWord( )
{
$pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' ;
$str = '' ;
for ( $i = 0 ; $i < $count ; $i ++ )
return $str ;
}
for ( $i = 0 ; $i < 100000 ; $i ++ )
mysql_query ( 'INSERT INTO test SET name="' . randWord
( ) . '"' ) ;
3. делае стартовый запрос
Время 0.031 sec
Итак тест №1 - один раз откриваем базу
Время - 12.7408 sec
Тест №2
Время - 13.969 sec.
Итог подведите сами
П.С. более 100 запросов неудалось так как превишал лимит 30 сек на локале
echo round(microtime(true) - START_TIME, 4).' sec.';
Браво!
Страниц (4): [1] 2 3 4 »
Powered by ExBB FM 1.0 RC1. InvisionExBB