artyomweb
Освоившийся
Дата регистрации:
23.09.2014 22:48:11
Сообщений: 26
<?php
$onpage = 15; // записей на страницу
$page = page(); // определяем страницу
[code][/code]Этот комплект с нуля всего за 7 месяцев сделает Вас Unreal-разработчиком. И при этом учиться достаточно 1 час в день.
Начнёте Вы с основ программирования, постепенно перейдя к C++. Затем очень подробно изучите Unreal Engine, и после научитесь программировать на C++ в Unreal Engine. В конце создадите крупный проект на C++ в Unreal Engine для своего портфолио.
Комплект содержит:
- 416 видеоуроков
- 95 часов видео
- 1024 задания для закрепления материала из уроков
- 3 финальных тестирования
- 4 сертификата
- 12 Бонусных курсов
ПодробнееПодпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.
ПодписатьсяПодписавшись по E-mail, Вы будете получать уведомления о новых статьях.
ПодписатьсяДобавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.
Мой аккаунт Моя группаКакая тема Вас интересует больше?
Создание лендингов на заказ
Придя на семинар:
- Вы узнаете мою историю, как я начинал создавать сайты на заказ.
- Вы узнаете, почему сейчас самое время начать этим заниматься.
- Вы получите очень подробный пошаговый план действий по созданию и продвижению своей Web-студии с комментариями, в том числе, и в виде PDF.
- Вы узнаете, как и где найти сотрудников, как общаться с заказчиками.
- Вы узнаете, как максимально автоматизировать бизнес-процессы.
После семинара Вы уже самостоятельно сможете, следуя простому и подробному плану, открыть свою Web-студию и получить первые заказы.
Выживает не самый умный или самый сильный, а самый восприимчивый к переменам.
Чарльз Дарвин
artyomweb
Освоившийся
Дата регистрации:
23.09.2014 22:48:11
Сообщений: 26
<?php
$onpage = 15; // записей на страницу
$page = page(); // определяем страницу
[code][/code]artyomweb
Освоившийся
Дата регистрации:
23.09.2014 22:48:11
Сообщений: 26
<?php
$onpage = 15; // записей на страницу
$page = page(); // определяем страницу
artyomweb
Освоившийся
Дата регистрации:
23.09.2014 22:48:11
Сообщений: 26
<?php
$onpage = 15; // записей на страницу
$page = page(); // определяем страницу
function page()
{
if(empty($_GET["page"])){
$page = 1;
}
else {
if(!is_numeric($_GET["page"])) die("Неправильный формат номера страницы!"
$page = $_GET["page"];
}
return $page;
}
function navigation($onpage, $page, $where, $log)
{
$return = null;
$count = mysql_query("SELECT COUNT(*) FROM $where" or die(mysql_error());
$count = mysql_fetch_array($count);
$count = $count[0];
$pages = ceil($count/$onpage);
if ($_GET["price_start"]){$start = "`price` >= '".htmlspecialchars($_GET["price_start"])."'";}
if ($_GET["price_end"]){$end = "`price` >= '".htmlspecialchars($_GET["price_end"])."'";}
if ($start) $log = "AND ".$start;
if ($end) $log = "AND ".$end;
if ($start && $end) $log ="WHERE ".$start." AND ".$end;
if ($_GET['price_start']){
$count = mysql_query("SELECT COUNT(*) FROM $where $log" or die(mysql_error());
$count = mysql_fetch_array($count);
$count = $count[0];
$pages = ceil($count/$onpage);
}
if ($_GET['price_end']){
$count = mysql_query("SELECT COUNT(*) FROM $where $log" or die(mysql_error());
$count = mysql_fetch_array($count);
$count = $count[0];
$pages = ceil($count/$onpage);
}
$con="&price_start=".$_GET['price_start']."&price_end=".$_GET['price_end']."";//Тут я много на мудрил но работает)))
$getr=(($_GET['price_start'])||($_GET['price_end']));
if ($page > 1) $pervpage = '<a href=?page=1>Первая</a>|<a href=?page='.($page - 1).'>Предыдущая</a>|';
if (($page > 1)&&$getr) $pervpage = '<a href=?page=1'.$con.'>Первая</a>|<a href=?page='.($page - 1).$con.'>Предыдущая</a>|';
if (($page != $onpage)&&($page < $pages)) $nextpage = '|<a href=?page='.($page + 1).'>Следующая</a>|<a href=?page='.floor($pages).'>Последняя</a>';
if (($page != $onpage)&&($page < $pages)&&$getr) $nextpage = '|<a href=?page='.($page + 1).$con.'>Следующая</a>|<a href=?page='.floor($pages).$con.'>Последняя</a>';
if($page - 5 > 0) $page5left = '<a href=?page='.($page - 5).'>'.($page - 5).'</a>|';
if(($page - 5 > 0)&&$getr) $page5left = '<a href=?page='.($page - 5).$con.'>'.($page - 5).'</a>|'; if($page - 4 > 0) $page4left = '<a href=?page='.($page - 4).'>'.($page - 4).'</a>|';
if(($page - 4 > 0)&&$getr) $page4left = '<a href=?page='.($page - 4).$con.'>'.($page - 4).'</a>|'; if($page - 3 > 0) $page3left = '<a href=?page='.($page - 3).'>'.($page - 3).'</a>|';
if(($page - 3 > 0)&&$getr) $page3left = '<a href=?page='.($page - 3).$con.'>'.($page - 3).'</a>|'; if($page - 2 > 0) $page2left = '<a href=?page='.($page - 2).'>'.($page - 2).'</a>|';
if(($page - 2 > 0)&&$getr) $page2left = '<a href=?page='.($page - 2).$con.'>'.($page - 2).'</a>|'; if($page - 1 > 1) $page1left = '<a href=?page='.($page - 1).'>'.($page - 1).'</a>|';
if(($page - 1 > 1)&&$getr) $page1left = '<a href=?page='.($page - 1).$con.'>'.($page - 1).'</a>|';if($page + 5 <= $pages) $page5right = '|<a href=?page='.($page + 5).'>'.($page + 5).'</a>';
if(($page + 5 <= $pages)&&$getr) $page5right = '|<a href=?page='.($page + 5).$con.'>'.($page + 5).'</a>';if($page + 4 <= $pages) $page4right = '|<a href=?page='.($page + 4).'>'.($page + 4).'</a>';
if(($page + 4 <= $pages)&&$getr) $page4right = '|<a href=?page='.($page + 4).$con.'>'.($page + 4).'</a>';if($page + 3 <= $pages) $page3right = '|<a href=?page='.($page + 3).'>'.($page + 3).'</a>';
if(($page + 3 <= $pages)&&$getr) $page3right = '|<a href=?page='.($page + 3).$con.'>'.($page + 3).'</a>';if($page + 2 <= $pages) $page2right = '|<a href=?page='.($page + 2).'>'.($page + 2).'</a>';
if(($page + 2 <= $pages)&&$getr) $page2right = '|<a href=?page='.($page + 2).$con.'>'.($page + 2).'</a>';if($page + 1 <= $pages) $page1right = '|<a href=?page='.($page + 1).'>'.($page + 1).'</a>';
if(($page + 1 <= $pages)&&$getr) $page1right = '|<a href=?page='.($page + 1).$con.'>'.($page + 1).'</a>';if ($page > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pagin_1\">";
echo '<i>Найдено <b>'.$count.'</b> тов. </i>'.$pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<span>'.$page.'</span>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage."<i> Всего <b>".$pages."</b> стр.</i>";
echo "</div>";
}
elseif ($page = 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pagin\">";
echo '<i>Найдено <b>'.$count.'</b> тов. </i><span>'.$page.'</span>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage."<i> Всего <b>".$pages."</b> стр.</i>";
echo "</div>";
}
}
function sql_query($onpage, $page, $where, $log)
{
if ($_GET["price_start"]){$start = "`price` >= '".htmlspecialchars($_GET["price_start"])."'";}
if ($_GET["price_end"]){$end = "`price` <= '".htmlspecialchars($_GET["price_end"])."'";}
if ($start) $log = "AND ".$start;
if ($end) $log = "AND ".$end;
if ($start && $end) $log ="AND ".$start." AND ".$end;
$begin = $page*$onpage+1-$onpage; // откуда начинать
$sql = "SELECT * FROM $where $log LIMIT ".$begin.", ".$onpage;
$result = mysql_query($sql) or die(mysql_error());
return $result;
}
include "sql_connect.php";
$result = sql_query($onpage, $page, $where, $log);
$row = mysql_fetch_array ($result);
if ($row['currencyId']='RUR'$money='руб.';
$i=0;
$w=3;
$navigation = navigation($onpage, $page, $where, $log); // определим навигацию
echo $navigation;echo "<div id=\"conttov\"><table id=\"table_tovars\">";
do{
if(($i==0)||!($i%$w))echo"<tr>";
$i++;
printf ("
<td align=\"center\">
<h4>%s</h4>
<h5>%s</h5>
<img src=\"%s\"/>
<h3>Цена: <span>%s</span> $money</h3>
<a target=\"_blank\" href=\"%s\">Купить</a>
</td>
",$row['vendor'],$row['model'],$row['picture'],$row['price'],$row['url']);
if(!($i%$w)||(mysql_num_rows($result)==$i))echo"</tr>";
}while ($row = mysql_fetch_array ($result));
echo "</table></div>";
$navigation = navigation($onpage, $page, $where, $log); // определим навигацию
echo $navigation;
mysql_close(); // отключение от БД
?>
Jey-Val-Star
Освоившийся
Дата регистрации:
30.11.2014 21:33:11
Сообщений: 27
$log = '';
if (($_GET["price_start"]) && ($_GET["price_end"]))
$log = "WHERE `price` >= " . (int)$_GET["price_start"] . "AND `price` <= " . (int)$_GET["price_end"];
elseif ($_GET["price_start"])
$log = "WHERE `price` >= " . (int)$_GET["price_start"];
elseif ($_GET["price_end"])
$log = "WHERE `price` <= " . (int)$_GET["price_end"];
И все, больше проверок на фильтр не нужно. Если нет фильтров то лог будет пустой, иначе с параметром. $count = mysql_query("SELECT COUNT(*) FROM $where" or die(mysql_error());
$count = mysql_fetch_array($count);
$count = $count[0];
$pages = ceil($count/$onpage);
if ($_GET["price_start"]){$start = "`price` >= '".htmlspecialchars($_GET["price_start"])."'";}
if ($_GET["price_end"]){$end = "`price` >= '".htmlspecialchars($_GET["price_end"])."'";}
if ($start) $log = "AND ".$start;
if ($end) $log = "AND ".$end;
if ($start && $end) $log ="WHERE ".$start." AND ".$end;
if ($_GET['price_start'])
{
$count = mysql_query("SELECT COUNT(*) FROM $where $log" or die(mysql_error());
$count = mysql_fetch_array($count);
$count = $count[0];
$pages = ceil($count/$onpage);
}
if ($_GET['price_end'])
{
$count = mysql_query("SELECT COUNT(*) FROM $where $log" or die(mysql_error());
$count = mysql_fetch_array($count);
$count = $count[0];
$pages = ceil($count/$onpage);
}
$con="&price_start=".$_GET['price_start']."&price_end=".$_GET['price_end']."";
Проверь значения GET. $log = '';
$con = '';
if (($_GET["price_start"]) && ($_GET["price_end"])) {
$log = "WHERE `price` >= " . (int)$_GET["price_start"] . "AND `price` <= " . (int)$_GET["price_end"];
$con="&price_start=".(int)$_GET['price_start']."&price_end=".(int)$_GET['price_end']."";
}
elseif ($_GET["price_start"]){
$log = "WHERE `price` >= " . (int)$_GET["price_start"];
$con="&price_start=".(int)$_GET['price_start'];
}
elseif ($_GET["price_end"]){
$log = "WHERE `price` <= " . (int)$_GET["price_end"];
$con="&price_end=".(int)$_GET['price_end']."";
}
Такую строку можно не использовать if(!is_numeric($_GET["page"])) die("Неправильный формат номера страницы!";
Просто привести к integer и все, или $page = 1; if (($page > 1)&&$getr)...
artyomweb
Освоившийся
Дата регистрации:
23.09.2014 22:48:11
Сообщений: 26
artyomweb
Освоившийся
Дата регистрации:
23.09.2014 22:48:11
Сообщений: 26
<input type="checkbox" name="manufacturers[]" value="Hammer" />
<input type="checkbox" name="manufacturers[]" value="Makita" />
<input type="checkbox" name="manufacturers[]" value="Hitachi" />
Как прописывать здесь ссылки: if ($_GET['manufacturers']){
$con = '&manufacturers='.........?//Тут я не знаю что писать в ссылке для страниц
}
Jey-Val-Star
Освоившийся
Дата регистрации:
30.11.2014 21:33:11
Сообщений: 27
artyomweb
Освоившийся
Дата регистрации:
23.09.2014 22:48:11
Сообщений: 26
if ($_GET['manufacturers']){
$manuf=array($_GET['manufacturers']);
foreach ($manuf as $k => $v);
$log = "AND vendor = '"......'";//Как дальше заполнять запрос $log не понимаю??
}
А потом ещё и в ссылку для пагинаций?? $con = '&manufacturers='.$manuf;//Сам понимаю что-то не то... ???
Jey-Val-Star
Освоившийся
Дата регистрации:
30.11.2014 21:33:11
Сообщений: 27
$manuf=array($_GET['manufacturers']);
это неверно в корне, у тебя уже есть массив $_GET['manufacturers']
он не ассоциативный, просто по индексу (0,1,2) foreach ($_GET['manufacturers'] as $value)
{
/*код в теле цикла*/
}
Далее, для запроса в бд просто перечисление WHERE через AND не пойдет SELECT * FROM table WHERE manuf = manuf1 AND manuf = manuf2...
Для таких вещей существует классная штука как "Выбрать записи по таким значениям" (это мой дословный перевод))) SELECT * FROM table WHERE manuf IN (manuf1, manuf2,...)
Но выполнять ее надо перед твоими AND (я имею в виду фильтр по ценам) $log = '';
foreach ($_GET['manufacturers'] as $value)
{
if($log != '' $log .= ',';
$log .= $value;
}
// и на выходе получим $log = manuf1,manuf2,manuf3
$log = 'manuf IN (' . $log .'
(Я думаю понятно что manuf1,manuf2,manuf3 и manuf IN - это для примера) $con = '';
foreach ($_GET['manufacturers'] as $value)
{
if($log != '' $log .= ',';
$log .= $value;
if($con != '' $con .= '&';
$con = 'manuf[]=' . $value;
}
Вроде такJey-Val-Star
Освоившийся
Дата регистрации:
30.11.2014 21:33:11
Сообщений: 27
echo $log;
exit(); // это для остановки программы (тебе ведь только результат нужно увидеть)
Посмотрел понял ошибку, увидел что значение переменной должно быть другим, подправил и закоментировал //echo $log;
//exit(); // это для остановки программы (тебе ведь только результат нужно увидеть)
Или удалил)))