Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Интересно для сравнения. Разбиваем новости., Разбиваем новости постранично + вывод кнопок переключения.
GALAVA22  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 12
Пользователь №: 43429
На форуме: 3 месяца, 19 дней
Карма: 1




Добрый день программистам PHP. Недавно начал изучение языка PHP(примерно 2 месяца), поэтому прошу не судить строго. Ранее программировал на С++ немного. По крайней мере хорошо знаю принципы работы подобных языков. Сейчас осваиваю Framework'и, а в частности CodeIgniter. Но суть вопроса не в этом. Хочу обсудить коды разбиения вывода новостей на страницы и построения управляющих кнопок исключительно на РНР без сторонних приложений и библиотек. Дело в том, что я сам построил такую функцию(а точнее целый ряд функций и инструментов). Хочу получить оценку настоящих "опытных" программистов РНР'шников. Но для начала хотелось бы увидеть Ваши решения этого вопроса. Напомню - интересуют коды ИСКЛЮЧИТЕЛЬНО на РНР. Кому интересно, после Ваших кодов готов выложить свой, как отдельную библиотеку + дополнение к файлу и CSS оформление. Ну а кому понравится - то буду только рад! Заранее спасибо. smile.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5549
Пользователь №: 35718
На форуме: 4 года, 1 месяц, 27 дней
Карма: 170




Цитата (GALAVA22 @ 27.09.2016 - 19:06)
Кому интересно, после Ваших кодов готов выложить свой

уже не интересно


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GALAVA22  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 12
Пользователь №: 43429
На форуме: 3 месяца, 19 дней
Карма: 1




Видимо это мало кому интересно. Просто хотелось бы сравнить подходы, так, как я нагромоздил там слишком много. Однако все работает исключительно исправно! Далее выложу сам код, если кому интересно. Мне тоже интересно Ваше мнение.
Подключаемый файл pagesAndButtons.php

<?PHP
//Максимальный идентификатор в новостях
//является определением количества страниц
//должен носить имя $col_page - массив из 1-го последнего ай-ди
/*Как пример подключения*/
$result100 = mysql_query("SELECT id
FROM show_news
ORDER BY id DESC
LIMIT 1"
, $db);
/*Как пример подключения*/$myrow100 = mysql_fetch_array($result100);
/*Как пример подключения*/$col_page = $myrow100["id"];
//Операция нахождения количества страниц из максимального идентификатора, делением на количество новостей на странице,
//где количество страниц это - $c
//Здесь задается количество выводимых новостей на странице - $cars1

$c;
$cars1=6;
$cars2=$cars1-1;
$w=$col_page;
$q=$cars1;
$x=$w / $q;
$z=(integer)($w / $q);
if ($x>$z)
{ $c = $z+1; }
else
{ $c = $z; }
//формируем оператор, отвечающий за данную страницу. $page
if($_GET["page"])
{
$int=is_numeric($_GET["page"]);
if($int==false)
{ $page = 1; }
else
{
if($c>=($_GET["page"]))
{
$page = $_GET["page"];
}
else
{
$page = $c;
}
}
}

else { $page = 1; }
/*Функция инкремента страниц*/
function inc($page1)
{
if($page1)
{
return $page1+1;
}
}

/*Функция декремента страниц*/
function dec($page1)
{
if($page1>1)
{
return $page1-1;
}
else
{
return $page1;
}
}

//Функция для определения активной кнопки путем сравнения страниц
function sravnenie($page1, $page2)
{
if($page1 == $page2)
{
$activater = "active";
}
return $activater;
}
//Функция кнопок
function button_pages($page1, $numer, $c) {
$pager=$page1;
$righter;
$i=0;
$ii=0;
if($page1>3)
{
if(!($page1==($c-1)))
{
$i = $page1-3;
}
else
{
$i = $page1-4;
}
if($page1==$c)
{
$i = $page1-5;
}
}

if ($pager==1)
{
$lefter="active";
}
if ($numer<=1)
{
$righter="active";
}
if ($pager)
{

//Функция декремента страниц
$decuber = dec($page1);
if($lefter!="active")
{
$link_inc2 = "news_index.php?page=";
$c2 = 1;
}
else
{
$link_inc2 = "#";
$decuber = "";
$c2="";
}

printf('<div class="buttons"><a href="%s%s"><div class="button" id="%s"><|</div></a>', $link_inc2, $c2, $lefter);
printf('<a href="%s%s"><div class="button" id="%s"><<</div></a>', $link_inc2, $decuber, $lefter);
//Цикл, который выводит кнопки
for($i, $ii; $i<$c && $ii<5; $i++, $ii++)
{
if(sravnenie($page1, $i+1)=="active")
{
$blocker = "#";
}
else
{
$blocker = "";
}
printf('<a href="news_index.php?page=%s%s"><div class="button" id="%s">%s</div></a>', $i+1, $blocker, sravnenie($page1, $i+1), $i+1);
}
//Функция инкремента страниц
$incuber = inc($page1);
if($righter!="active")
{
$link_inc = "news_index.php?page=";
}
else
{
$link_inc = "#";
$incuber = "";
$c="";
}
printf('<a href="%s%s"><div class="button" id=%s>>></div></a>', $link_inc, $incuber, $righter);
printf('<a href="%s%s"><div class="button" id=%s>|></div></a>', $link_inc, $c, $righter);
}
printf('</div>');
}
?>

Далее некоторый код в исполняемом файле, например как у меня - news_index.php

<?PHP
//Блок по построению страниц и кнопок страниц
include('pagesAndButtons.php');
?>

<html>

<?php
//Переменные для вывода конкретных новостей
$num_nach = ($page-1)*$cars1;
$num_fin = $cars1;
//Соединяемся с базой
$result3 = mysql_query("SELECT * FROM show_news ORDER BY id DESC LIMIT $num_nach, $num_fin", $db);
$myrow3 = mysql_fetch_array($result3);
$num = $myrow3['id']-$cars2;
$schyotchik = 0;
//Вызов кнопок на странице
button_pages($page, $num, $c);
?>

</html>


По поводу CSS ничего пока писать не буду. Просто не знаю как на этот код отреагируют модераторы... Кстати о модераторах - прошу понять меня правильно - все таки это моя первая публикация и мне хотелось бы узнать мнение серьезных программистов.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GALAVA22  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 12
Пользователь №: 43429
На форуме: 3 месяца, 19 дней
Карма: 1




Цитата (Valick @ 27.09.2016 - 20:33)
уже не интересно

Ну тогда покажи как надо! Я же по Русски написал - мне интересны подходы.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GALAVA22  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 12
Пользователь №: 43429
На форуме: 3 месяца, 19 дней
Карма: 1




Мммда! Ничего путнего тут я не увижу... Максимум на форумах умеют только умничать! Даже программисты! Этож форум! Прошу помочь - Вигвам в ответ! Что за люди, блин!
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Миша  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 2544
Пользователь №: 37963
На форуме: 3 года, 5 месяцев, 6 дней
Карма: 27




GALAVA22

Подожди немного, всё будет - но не сразу ))


--------------------
Болтовня ничего не стоит. Покажите мне код.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5549
Пользователь №: 35718
На форуме: 4 года, 1 месяц, 27 дней
Карма: 170




GALAVA22, ты сначала научись нормально общаться, тогда и люди на форумах к тебе потянутся.


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GALAVA22  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 12
Пользователь №: 43429
На форуме: 3 месяца, 19 дней
Карма: 1




Цитата (Valick @ 27.09.2016 - 21:34)
ты сначала научись нормально общаться, тогда и люди на форумах к тебе потянутся.

А разве я плохо попросил? Если не хочешь ничего писать - вообще ничего лучше не пиши, а гоняться за количеством сообщений на профиле, высказывая свое недовольство чужими вопросами - не признак мастерства. Смотри первое сообщение, покури и подумай. Может что-нибудь дельное в голову придет. Я ведь здесь не ради общения. Я сюда ради примеров пришел. Мне примеры нужны.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5549
Пользователь №: 35718
На форуме: 4 года, 1 месяц, 27 дней
Карма: 170




Ну наконец-то.. я почти 4 года ждал пока ты придёшь и научишь меня как жить...
Цитата (GALAVA22 @ 27.09.2016 - 20:50)
Я сюда ради примеров пришел.

Когда ты начинаешь разговор с одолжений, мне лично как-то по*ер для чего ты сюда пришёл.


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GALAVA22  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 12
Пользователь №: 43429
На форуме: 3 месяца, 19 дней
Карма: 1




Цитата
мне лично как-то по*ер

Ну если так, то че тогда лезешь? Да и на форуме ты не 4 года. 3 года и 10 месяцев всего.
Есть песня одна. Поют: Тимати, L'One, ST, Nel Marselle, Jenee, 5 Плюх, Миша Крупин. Послушай на досуге. Ответ тебе мой в этой песне. Тролль, блин...
Жду адекватных ответов от разумных людей. Читайте код. Пробуйте - интересно Ваше мнение. Правильно ли я все состряпал?

Это сообщение отредактировал GALAVA22 - 27.09.2016 - 22:10
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5549
Пользователь №: 35718
На форуме: 4 года, 1 месяц, 27 дней
Карма: 170




Цитата (GALAVA22 @ 27.09.2016 - 20:50)
А разве я плохо попросил?

Если бы ты написал:
"Я написал код посмотрите что можно изменить или улучшить"

Я бы тебе написал, что так количество строк в БД не определяется
//должен носить имя $col_page - массив из 1-го последнего ай-ди 
/*Как пример подключения*/
$result100 = mysql_query("SELECT id
FROM show_news
ORDER BY id DESC
LIMIT 1"
, $db);


Научись уважать тех к кому обращаешься за помощью, и она незамедлительно придёт.
А вот такие фразы как:
Цитата (GALAVA22 @ 27.09.2016 - 19:06)
Хочу получить оценку настоящих "опытных" программистов РНР'шников.
не располагают к беседе ни новичков ни настоящих специалистов.


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Президент!  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









GALAVA22
код отличный и оформатирован как надо
что до самого скрипта, сам понимаешь, если писал ранее на С+
со временем он станет короче, и дт. !!
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
waldicom  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 6229
Пользователь №: 5552
На форуме: 8 лет, 6 месяцев, 10 дней
Карма: 163






--------------------
Свои мозги еще никто не отменял.
Телепатов нету.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GALAVA22  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 12
Пользователь №: 43429
На форуме: 3 месяца, 19 дней
Карма: 1




Спасибо за ответ. Этого я и ждал. Нормальной адекватной оценки. Президент! - скажи куда тебе плюс поставить?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GALAVA22  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 12
Пользователь №: 43429
На форуме: 3 месяца, 19 дней
Карма: 1




waldicom - Благодарю.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) [1] 2  Ответ в темуСоздание новой темыСоздание опроса