PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (8): « 1 [2] 3 4 5 6 7 8 »
Найдено сообщений: 120
fullzero
Отправлено: 30 Мая, 2012 - 18:53:44 • Тема: помогите с кирилицей в .htaccess • Форум: Apache и другие веб-серверы
Ответов: 13 Просмотров: 800
Came пишет: Можно поконкретнее? я уже пересохранял всё что только можно, результата не наблюдаю...
Открой свой скрипт в блокноте далее файл / сохранить как / снизу увидишь кодировка
Тебе windows-1251 (Ansi) или UTF-8. Поэсперементируй и найди нужную, точно не могу сказать.
DeepVarvar тоже прав. AddDefaultCharset UTF-8 или AddDefaultCharset Windows-1251
fullzero
Отправлено: 30 Мая, 2012 - 14:05:19 • Тема: Составьте таблички за меня • Форум: SQL и Архитектура БД
Ответов: 19 Просмотров: 186
EuGen я тут после ENGINE заметил что можно сравнение вконце поставить utf8_general_ci
В чём будет разница? Сравнение пойдёт на всю таблицу?
fullzero
Отправлено: 30 Мая, 2012 - 13:47:28 • Тема: Составьте таблички за меня • Форум: SQL и Архитектура БД
Ответов: 19 Просмотров: 186
EuGen я родил, пока только одну
CODE (
SQL ):
скопировать код в буфер обмена
CREATE TABLE `base` . `authors` (
`id` INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`description` MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
) ENGINE = MYISAM ;
Спасибо
fullzero
Отправлено: 30 Мая, 2012 - 13:24:37 • Тема: Составьте таблички за меня • Форум: SQL и Архитектура БД
Ответов: 19 Просмотров: 186
EuGen у меня стоит denwer, я зашёл в localhost/Tools/phpMyAdmin в нужную мне базу и создал таблицу. Далее совершенно теряюсь. Делаю таблицу authors(id, name, description)
Пугают вот эти поля
Тип, Длина/значения, По умолчанию, Сравнение, Атрибуты, Null, Индекс, AUTO_INCREMENT, Комментарии, MIME-тип, Преобразование, Параметры преобразований
В id я так понимаю надо AUTO_INCREMENT отметить а что с остальными делать ума не приложу, вот поэтому я и мучаюсь с созданием таблиц
fullzero
Отправлено: 30 Мая, 2012 - 13:11:34 • Тема: Составьте таблички за меня • Форум: SQL и Архитектура БД
Ответов: 19 Просмотров: 186
EuGen можешь сделать таблицу и выложить дамп, у меня с SQL плохо
Запись и вывод у меня более менее получается чем само создание таблицы
fullzero
Отправлено: 30 Мая, 2012 - 12:31:13 • Тема: Составьте таблички за меня • Форум: SQL и Архитектура БД
Ответов: 19 Просмотров: 186
Доброго времени суток. Составьте кто нибудь за меня 2 таблички, я плохо разбираюсь в SQL
Первая с полями id_artist, artist_name, nambers
Вторая id_songs, id_artist, name_song, loads, file_url
Будет алфавитный указатель а б в и т.д. кликая на букву будет передаваться методом get буква с алфавита, далее по первой букве буду выбирать исполнителей из таблицы №1. Сформируется таблица исполнителей в виде ссылок. Можно будет выбрать нужного исполнителя и перейти по ссылке, ссылка будет содержать id_artist и по нему из таблицы №2 будут выбраны все композиции исполнителя.
Если есть другой способ как то реализовать похожую идею то с радостью выслушаю. В заранее спасибо
fullzero
Отправлено: 06 Апреля, 2012 - 08:23:45 • Тема: Удаление файла по времени... • Форум: Напишите за меня, пожалуйста
Ответов: 7 Просмотров: 304
PHP:
скопировать код в буфер обмена
function clear_old_files( ) {
$expire_time = 300 ; // Время через которое файл считается устаревшим (в сек.)
$dir = $_SERVER [ 'DOCUMENT_ROOT' ] . "/tmp/" ;
// проверяем, что $dir - каталог
// открываем каталог
// читаем и выводим все элементы
// от первого до последнего
while ( ( $file = readdir ( $dh ) ) !== false ) {
// текущее время
// время изменения файла
// тепрь узнаем сколько прошло времени (в секундах)
$time = $time_sec - $time_file ;
$unlink = $_SERVER [ 'DOCUMENT_ROOT' ] . '/tmp/' . $file ;
if ( $time > $expire_time ) {
echo 'Файл удален' ;
} else {
echo 'Ошибка при удалении файла' ;
}
}
}
}
// закрываем каталог
}
}
}
fullzero
Отправлено: 19 Января, 2012 - 15:05:05 • Тема: Помогите разобраться с лишней страницей • Форум: Напишите за меня, пожалуйста
Ответов: 2 Просмотров: 66
Есть класс, который выводит алфавитный указатель имён (структура таблицы id_name, name, description)
Только переключатель страниц пишет что там не 3 страницы а 4. Знающие люди взгляните на код и укажите что не так...
PHP:
скопировать код в буфер обмена
<?
$db_host = 'localhost' ;
$db_user = 'root' ;
$db_pass = '' ;
$db_base = 'base' ;
mysql_query ( "set collation_connection ='cp1251_general_ci'" ) ;
define ( "_TAB_NAME" , "name" ) ; // Таблица для навигации define ( "_FIELD_NAME" , "name" ) ; // поле для навигации define ( "_ID_NAME" , "id_name" ) ; // Ключевое поле для идентификации define ( "_ORDER_BY" , "id_name" ) ; // Поле для сортировки define ( "_NUM_ON_PAGE" , 5
) ; // Сколько строчек списка выводить на страницу ?>
<?
class alphaPages{
// Задаём алфавит
var $ALPHA = '<center>A B C D E F G H I J K L M N O P Q R S T U V W X Y Z</center>
<center>А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Щ Ш Э Ю Я</center>
<center>0 1 2 3 4 5 6 7 8 9</center>' ;
// Инициализация объекта. Установка начальных условий списка
function alphaPages( ) {
$this -> sql = "SELECT * FROM " . _TAB_NAME;
}
// Метод выводит "карточку" человека
function profile( ) {
$this -> sql .= " WHERE " . _ID_NAME. "=" . $_GET [ 'id' ] ;
$ret = '<table>' ;
foreach ( $r as $field => $value ) {
$ret .= "<tr><td>" . $field . "</td><td>" . $value . "</td></tr>" ;
}
$ret .= '</table>' ;
return $ret ;
}
// метод строит панель алфавитной навигации
function makeAlphaNavBar( ) {
$sql = 'select DISTINCT (LEFT(UPPER(' . _FIELD_NAME. '),1)) as letter from ' . _TAB_NAME;
$this -> ALPHA = str_replace ( $r [ 'letter' ] , '<a href="?letter=' . $r [ 'letter' ] . '">' . $r [ 'letter' ] . '</a>' , $this -> ALPHA ) ; }
return $this -> ALPHA ;
}
// метод строит панель постраничной навигации
function makePageNavBar( ) {
$page = $_GET [ 'page' ] ;
if ( empty ( $page ) or
$page < 1
) $page = 1 ; if ( $page > $total ) $page = $total ;
// Проверяем нужны ли стрелки назад
if ( $page != 1) $pervpage = '<A href="?letter=' . $_GET [ 'letter' ] . '&page=1" class="pag">Начало</A>
<A href="?letter=' . $_GET [ 'letter' ] . '&page=' . ( $page - 1 ) . '" class="pag">Назад</A> ' ;
// Проверяем нужны ли стрелки вперед
if ( $page != $total ) $nextpage = ' <A href="?letter=' . $_GET [ 'letter' ] . '&page=' . ( $page + 1 ) . '" class="pag">Вперёд</A>
<A href="?letter=' . $_GET [ 'letter' ] . '&page=' . $total . '" class="pag">Конец</A>' ;
// Находим две ближайшие станицы с обоих краев, если они есть
if ( $page - 3 > 0) $page3left = ' <a href="?letter=' . $_GET [ 'letter' ] . '&page=' . ( $page - 3 ) . '" class="pag">' . ( $page - 3 ) . '</a> ' ;
if ( $page - 2 > 0) $page2left = ' <a href="?letter=' . $_GET [ 'letter' ] . '&page=' . ( $page - 2 ) . '" class="pag">' . ( $page - 2 ) . '</a> ' ;
if ( $page - 1 > 0) $page1left = '<a href="?letter=' . $_GET [ 'letter' ] . '&page=' . ( $page - 1 ) . '" class="pag">' . ( $page - 1 ) . '</a> ' ;
if ( $page + 3 <= $total ) $page3right = ' <a href="?letter=' . $_GET [ 'letter' ] . '&page=' . ( $page + 3 ) . '" class="pag">' . ( $page + 3 ) . '</a>' ;
if ( $page + 2 <= $total ) $page2right = ' <a href="?letter=' . $_GET [ 'letter' ] . '&page=' . ( $page + 2 ) . '" class="pag">' . ( $page + 2 ) . '</a>' ;
if ( $page + 1 <= $total ) $page1right = ' <a href="?letter=' . $_GET [ 'letter' ] . '&page=' . ( $page + 1 ) . '" class="pag">' . ( $page + 1 ) . '</a>' ;
// Вывод пагинатора
$ret = $pervpage . $page3left . $page2left . $page1left . '<FONT class="pags">' . $page . '</FONT>' . $page1right . $page2right . $page3right . $nextpage ;
return $ret ;
}
######### Набор фильтрующих список методов ##############
// Метод фильтрует список по букве
function setLetter( ) {
//SELECT DISTINCT artist FROM `table` WHERE `artist` LIKE 'X%';
$this -> sql .= " WHERE " . _FIELD_NAME. " like '" . $_GET [ 'letter' ] . "%'" ;
}
// Метод ставит ограничения по странице
function setPage( ) {
$this -> setOrder ( ) ;
if ( empty ( $_GET [ 'page' ] ) ) $page = 0 ; else $page = $_GET [ 'page' ] ;
$this -> sql .= " LIMIT " . $page * _NUM_ON_PAGE. "," . ( _NUM_ON_PAGE) ;
}
// метод задаёт порядок сортировки
function setOrder( ) {
$this -> sql .= " ORDER BY " . _ORDER_BY;
}
#########################################################
// метод строит итоговый список
function getList( ) {
$ret .= '<a href="?id=' . $r [ _ID_NAME] . '">' . $r [ _FIELD_NAME] . '</a><br>' ;
}
return $ret ;
}
}
// the end of class
?>
<?
$nav = new alphaPages( ) ; // Выводим алфавит
$navBar = $nav -> makeAlphaNavBar ( ) ; // Ставим букву
if ( ! empty ( $_GET [ 'letter' ] ) ) $nav -> setLetter ( ) ; // Вычисляем сколько страниц. Обязательно после фильтрации по букве $pageBar = $nav -> makePageNavBar ( ) ; // Что будем показывать
if ( ! empty ( $_GET [ 'id' ] ) ) $out = $nav -> profile ( ) ; else {
$nav -> setPage ( ) ;
$out = $nav -> getList ( ) ;
}
// показываем
?>
и на странице где меньше 5 имён надо чтоб показывало что это страница 1
Страниц (8): « 1 [2] 3 4 5 6 7 8 »
Powered by ExBB FM 1.0 RC1. InvisionExBB