Как сделать поиск по клубам?
Поиск по клубам?!
после {if $total>0} т.е в стр.14 вставляем поле для ввода названия (или части названия) клуба:
<form enctype="multipart/form-data" action="" method="POST" name="nameclub" id="nameclub">
<input name="name" type="text" class="name" id="name" style="width:200px" value=""/>
</td><td>
<input name="clubname" type="submit" id="clubname" value="Искать"/>
</form>
А в
\components\clubs\frontend.php
добавляем запрос к БД. Для этого блок
////////// VIEW ALL CLUBS /////////////////////////////////////////////////////
ПОЛНОСТЬЮ меняем на:
////////// VIEW ALL CLUBS ////////////////////////////////////////////////////////////////////////////////////////
if ($do=='view'){
$clubname=$_POST['name'];
if($clubname>''){
$sql = "SELECT c.*, (COUNT(uc.user_id)+1) as members, c.pubdate as pubdate
FROM cms_clubs c
LEFT JOIN cms_user_clubs uc ON uc.club_id = c.id
WHERE c.published = 1 AND c.title LIKE '%$clubname%'
GROUP BY c.id
ORDER BY is_vip DESC, members DESC";
$rs = $inDB->query($sql) or die(mysql_error());
$total = $inDB->num_rows($rs);
if ($total>0){
while ($club = $inDB->fetch_assoc($rs)){
if (!$club['imageurl']) { $club['imageurl'] = 'nopic.jpg'; } else {
if (!file_exists(PATH.'/images/clubs/small/'.$club['imageurl'])){
$club['imageurl'] = 'nopic.jpg';
}
}
$clubs[] = $club;
}
}
}else{
$perpage = isset($cfg['perpage'])? $cfg['perpage']: 10;
$page = $inCore->request('page', 'int', 1);
$clubs = array();
$clubs_list = $model->getClubs($page, $perpage);
$total = 0;
if ($clubs_list){
foreach ($clubs_list as $club){
if (!$club['imageurl']) { $club['imageurl'] = 'nopic.jpg'; } else {
if (!file_exists(PATH.'/images/clubs/small/'.$club['imageurl'])){
$club['imageurl'] = 'nopic.jpg';
}
}
$clubs[] = $club;
}
$total = $model->getClubsCount();
$pagination = cmsPage::getPagebar($total, $page, $perpage, '/clubs/page-%page%', array());
}
}
$smarty = $inCore->initSmarty('components', 'com_clubs_view.tpl');
$smarty->assign('pagetitle', $pagetitle);
$smarty->assign('clubid', $id);
// Ссылку на создание клуба показываем всем авторизованным, если включено создание клуба
$smarty->assign('can_create', ($inUser->id && $cfg['cancreate'] || $inUser->is_admin));
$smarty->assign('clubs', $clubs);
$smarty->assign('total', $total);
$smarty->assign('pagination', $pagination);
$smarty->display('com_clubs_view.tpl');
}
еще бы показывал надпись, что найдено: 10 клубов
или бы чтото вроде живого поиска, кака сейчас многие поисковики сделали
Так делать не нужно. Данный код уязвим критически. sql инъекция в чистом виде.$clubname=$_POST['name'];
Не рекомендую использовать.
Ленивый, вы бы по изучали темы про безопасность входных данных.
Прошу прошения! А как нужно делать??? Правда не хватает поиска по клубам, пользователи создадут клубов 1000 например, и как там найти нужный ????Так делать не нужно. Данный код уязвим критически. sql инъекция в чистом виде.
Не рекомендую использовать.
Ленивый, вы бы по изучали темы про безопасность входных данных.
Чем заменить?Так делать не нужно.
Что почитать?