[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск
Dmitry
Здравствуйте, возникла такая проблема, хочу сделать поиск на сайте с использованием данных из ДБ, тоесть например у меня есть ДБ с таблицей недвижимостьи, есть строка "место нахождения"(lokation) и я хочу чтобы человек мог выбрать например (подмосковье или Москва) и чтобы потом выбралась вся недвижимость находящаяся например в подмосковье(это как я думаю будеь просто массив городов в подмосковье и если город находится в подмосковье, то он отображается на экране).

Подскажите пожалуйсто как начать и с чего начать(или ссылочку какую-нибудь киньте), а то чегото у меня ничего не получается. Спасибо большое!!!



Спустя 6 минут, 17 секунд (14.04.2009 - 10:49) Joker написал(а):
Да сделай массив и в запросе условия выборки сделай города из массива.

Спустя 22 минуты, 10 секунд (14.04.2009 - 11:11) Dmitry написал(а):
Вот смотри написал функцию массива:

function prague()
{
$prague = array("Прага-5","Прага-4","Прага-10","Прага-3","Прага-6");
$q10 = mysql_query("SELECT lokation FROM aktuality");
while($r1 = mysql_fetch_array($q10))
{
$type = $r1['lokation'];
if(in_array($type,$prague))
{
return TRUE;
}
else {echo "Net takogo";}
}
}

и форму ввода данных:

if(!$_POST['go'])
{
echo'<form name="" action="" method="post">';
echo'<select name="lokation" />';
echo'<option value="Prague" />Прага</option>';
echo'<option value="Moskva" />Москва</option>';
echo'</select><br />';
echo'<input type="submit" name="go" value="Go" />';
echo'</form>';
}
else
{
$lokation = isset($_POST['lokation'])?mysql_escape_string($_POST['lokation']):NULL;

}

а как указать в запросе, чтобы он выбрал lokation именно из массива? blink.gif
Спасибо

Спустя 13 минут, 17 секунд (14.04.2009 - 11:24) Dmitry написал(а):
попробовал вот так:

else
{
$lokation = isset($_POST['lokation'])?mysql_escape_string($_POST['lokation']):NULL;
$praha = prague();
$q = mysql_query("SELECT * FROM aktuality WHERE lokation='".$praha."'");
if(mysql_num_rows($q)>0)
{
while($r = mysql_fetch_array($q))
{
echo '<center>';
echo '<table class="akt_table" cellspacing="0" cellpadding="0">';
echo ' <tr>';
echo ' <td width="150px" height="130px" align="center">';
echo ' <a style="text-decoration:none;" href="akt.php?id='.$r1['id'].'"><img src="'."Actuality/".$r['img_url'].'" width="150px" height="130px" border="0" /></a>';
echo ' </td>';
echo ' </tr>';
echo ' <tr>';
echo ' <td class="akt_title" style="border-bottom:1px dotted rgb(0,147,255);" width="130" height="20">'.substr($r['title'],0,50).'</td>';
echo ' </tr>';
echo ' <tr>';
echo ' <td class="akt_title" style="border-bottom:1px dotted rgb(0,147,255);" width="130" height="20">'.substr($r['lokation'],0,50).'</td>';
echo ' </tr>';
echo '</table><br>';
}
}
else {echo 'Netu nichego';}
}

не получиорсь...

Спустя 12 минут, 33 секунды (14.04.2009 - 11:37) Joker написал(а):
PHP
function prague($s false)
{
    if (
$s == true // Проверяем что искать москву или подмосковье
    
{
        
// Если подмосковье то из массива состовлем уловие запроса.
        
$array = array("Прага-5","Прага-4","Прага-10","Прага-3","Прага-6");
        foreach (
$array as $value)
        {
            
$where .= (empty($sql))?"`location`='".$value."'":" OR `location`='".$value."'";
        }
    }
    else
    {
        
// Если москву то делаем одно условие.
        
$where "`location`='Moscow'"
    
}
    
// Делаем запрос с готовым условием.
    
$res mysql_query("SELECT `object` FROM `table` WHERE ".$where);
    
// выводим обьекты которые удволетворяют запросу.
    
while(    $row mysql_fetch_array($res)    )
    {
        
$table .= $row['object'];
    }
    echo (empty(
$table))?"Нету обьектов таких":$table;
}

Спустя 24 минуты, 24 секунды (14.04.2009 - 12:01) Dmitry написал(а):
Спасибо функция работает, можешь плиз объяснить вто эти строчки

function prague($s = false)
{
if ($s == true )
Спасибо

Спустя 2 часа, 10 минут, 28 секунд (14.04.2009 - 14:11) Joker написал(а):
Ну вот это $s = false означает что если параметр не укаазать при вызове функции то он будет присвен автоматов false. а после обычная структура если истина делай то то а если ложь то делай то то.

Спустя 4 часа, 12 минут, 55 секунд (14.04.2009 - 18:24) Dmitry написал(а):
Ясно, спасибо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.