Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум веб-мастеров _ Веб-программирование (PHP, CGI, ASP, ...) _ Расширеный поиск по базе данных на сайте

Автор: Blast 16.5.2008, 17:15

Люди добрые подскажите в чем проблема, я наваял скрипт розшириного поиска квартир на сайте с помощью PHP, но при периносе скрипта с локалхоста на хостинг в сети он перестал работать... Подскажите пожалуйста что делать.

Вот собственно код скрипта поиска:

search.php

Код
<?php
include("bloks/bd.php");
mysql_query("SET NAMES 'cp1251'");
$result = mysql_query("SELECT title, meta_d, meta_k, text FROM settings WHERE page='news'",$db);

if (!$result)
{

echo "<p>Запрос на выборку с базы не прошол. Сообщите об этой неполадке админитрации сайта blasts@bigmir.net. <br>  Error:</p>";
exit(mysql_error());
}

if (mysql_num_rows($result)>0)

{
$myrow = mysql_fetch_array($result);
}


else
{

echo "<p>На данный момент нету позиций по вашему запросу.</p>";
exit();
}
?>

Код

<form action="view_serch.php" method="post" name="search">
                      
                       <p><label>
                        Выберете раздел:<select name="p_menu" >
                       <option value="1">Квартиры</option>
                      <option value="2">Дома</option>
                      <option value="3">Коммерчиская</option>
                        </select>
                      
                       </label>
                       </p>
                       <label>Выберете действие:
                       <select name="p_ection" id="p_ection">
                          <option>Покупка</option>
                          <option>Продажа</option>
                          <option>Аренда</option>
                          
                          
                        </select></p>
                        </label>
                      </p>
                    
                    
                    
                        <p><label>
                        Выберете район:<select name="p_area" id="p_area">
                           <option>Киев. Голосеевский р-н.</option>
                      <option>Киев. Дарницкий р-н.</option>
                      <option>Киев. Деснянский р-н.</option>
                      <option>Киев. Днепровский р-н.</option>
                      <option>Киев. Оболонский р-н.</option>
                      <option>Киев. Печерский р-н.</option>
                      <option>Киев. Подольский р-н.</option>
                      <option>Киев. Святошинский р-н.</option>
                      <option>Киев. Соломенский р-н.</option>
                      <option>Киев. Шевченковский р-н.</option>
                      <option>Киевская обл. Барышевский р-н.</option>
                      <option>Киевская обл. Белоцерковский р-н.</option>
                      <option>Киевская обл. Богуславский р-н.</option>
                      <option>Киевская обл. Бориспольский р-н.</option>
                      <option>Киевская обл. Бородянский р-н.</option>
                      <option>Киевская обл. Броварской р-н.</option>
                      <option>Киевская обл. Васильковский р-н.</option>
                      <option>Киевская обл. Володарский р-н.</option>
                      <option>Киевская обл. Вышгородский р-н.</option>
                      <option>Киевская обл. Згуровский р-н.</option>
                      <option>Киевская обл. Иванковский р-н.</option>
                      <option>Киевская обл. Кагарлыкский р-н.</option>
                      <option>Киевская обл. Киево-Святошинский р-н.</option>
                      <option>Киевская обл. Макаровский р-н.</option>
                      <option>Киевская обл. Мироновский р-н.</option>
                      <option>Киевская обл. Обуховский р-н.</option>
                      <option>Киевская обл. Переяслав-Хмельницкий р-н.</option>
                      <option>Киевская обл. Полесский р-н.</option>
                      <option>Киевская обл. Ракитнянский р-н.</option>
                      <option>Киевская обл. Сквирский р-н.</option>
                      <option>Киевская обл. Ставищенский р-н.</option>
                      <option>Киевская обл. Таращанский р-н.</option>
                      <option>Киевская обл. Тетиевский р-н.</option>
                      <option>Киевская обл. Фастовский р-н.</option>
                      <option>Киевская обл. Яготинский р-н.</option>
                      <option>Другие города Украины</option>
                        </select>
                        </label>
                        </p>
                        
                        <p align="left"><strong>Для поиска дома поле Этаж оставте в текущем положении!!!</strong></p>
                        Этаж: от <select name="p_etaz_1">
                         <option>1</option>
                   <option>2</option>
                   <option>3</option>
                   <option>4</option>
                   <option>5</option>
                   <option>6</option>
                   <option>7</option>
                   <option>8</option>
                   <option>9</option>
                   <option>10</option>
                   <option>11</option>
                   <option>12</option>
                   <option>13</option>
                   <option>14</option>
                   <option>15</option>
                   <option>16</option>
                   <option>17</option>
                   <option>18</option>
                   <option>19</option>
                   <option>20</option>
                   <option>21</option>

                   <option>22</option>
                   <option>23</option>
                   <option>24</option>
                   <option>25</option>
                   <option>26</option>
                   <option>27</option>
                   <option>28</option>
                   <option>29</option>
                   <option>30</option>
                   <option>31</option>
                   <option>32</option>
                   <option>33</option>
                   <option>34</option>
                   <option>35</option>
                   <option>36</option>
                        </select>
                        </label> до <label>
                        <select name="p_etaz_2">
                        <option>1</option>
                   <option>2</option>
                   <option>3</option>
                   <option>4</option>
                   <option>5</option>
                   <option>6</option>
                   <option>7</option>
                   <option>8</option>
                   <option>9</option>
                   <option>10</option>
                   <option>11</option>
                   <option>12</option>
                   <option>13</option>
                   <option>14</option>
                   <option>15</option>
                   <option>16</option>
                   <option>17</option>
                   <option>18</option>
                   <option>19</option>
                   <option>20</option>
                   <option>21</option>
                   <option>22</option>
                   <option>23</option>
                   <option>24</option>
                   <option>25</option>
                   <option>26</option>
                   <option>27</option>
                   <option>28</option>
                   <option>29</option>
                   <option>30</option>
                   <option>31</option>
                   <option>32</option>
                   <option>33</option>
                   <option>34</option>
                   <option>35</option>
                   <option>36</option>
                        </select>
                        </label>
                        <br /> </p>
                        
                        <p>Этажность: от <select name="p_etaznost_1">
                         <option>1</option>
                   <option>2</option>
                   <option>3</option>
                   <option>4</option>
                   <option>5</option>
                   <option>6</option>
                   <option>7</option>
                   <option>8</option>
                   <option>9</option>
                   <option>10</option>
                   <option>11</option>
                   <option>12</option>
                   <option>13</option>
                   <option>14</option>
                   <option>15</option>
                   <option>16</option>
                   <option>17</option>
                   <option>18</option>
                   <option>19</option>
                   <option>20</option>
                   <option>21</option>
                   <option>22</option>
                   <option>23</option>
                   <option>24</option>
                   <option>25</option>
                   <option>26</option>
                   <option>27</option>
                   <option>28</option>
                   <option>29</option>
                   <option>30</option>
                   <option>31</option>
                   <option>32</option>
                   <option>33</option>
                   <option>34</option>
                   <option>35</option>
                   <option>36</option>
                        </select>
                        </label> до <label>
                        <select name="p_etaznost_2">
                        <option>1</option>
                   <option>2</option>
                   <option>3</option>
                   <option>4</option>
                   <option>5</option>
                   <option>6</option>
                   <option>7</option>
                   <option>8</option>
                   <option>9</option>
                   <option>10</option>
                   <option>11</option>
                   <option>12</option>
                   <option>13</option>
                   <option>14</option>
                   <option>15</option>
                   <option>16</option>
                   <option>17</option>
                   <option>18</option>
                   <option>19</option>
                   <option>20</option>
                   <option>21</option>
                   <option>22</option>
                   <option>23</option>
                   <option>24</option>
                   <option>25</option>
                   <option>26</option>
                   <option>27</option>
                   <option>28</option>
                   <option>29</option>
                   <option>30</option>
                   <option>31</option>
                   <option>32</option>
                   <option>33</option>
                   <option>34</option>
                   <option>35</option>
                   <option>36</option>
                        </select>
                        </label>
                        <br /> </p>
                        
                        <p><label>
                        Выберете количество комнат: от <select name="p_rooms_1" id="p_rooms_1">
                          <option>1</option>
                          <option>2</option>
                          <option>3</option>
                          <option>4</option>
                          <option>5</option>
                          <option>6</option>
                          <option>7</option>
                          <option>8</option>
                        </select>
                        </label> до <label>
                        <select name="p_rooms_2" id="p_rooms_2">
                          <option>1</option>
                          <option>2</option>
                          <option>3</option>
                          <option>4</option>
                          <option>5</option>
                          <option>6</option>
                          <option>7</option>
                          <option>8</option>
                        </select>
                        </label>
                        <br /> </p>
                        
                        <p align="left">Общий метраж обьекта: от <input name="p_metric_area_1" type="text" size="10" />                
                        до <input name="p_metric_area_2" type="text" size="10" /></p>
                        
                        
                         <p align="left">Жилой метраж обьекта: от <input name="p_metric_area_z_1" type="text" size="10" />                
                        до <input name="p_metric_area_z_2" type="text" size="10" /></p>
                        
                        
                         <p align="left">Площадь кухни: от <input name="p_metric_area_k_1" type="text" size="10" />                
                        до <input name="p_metric_area_k_2" type="text" size="10" /></p>
                    
                    
                    
                    <p>Введите цену обьекта: от <input name="p_cost_1" type="text" size="10" />                
                        до <input name="p_cost_2" type="text" size="10" />
                    </p>
                    
                    
                    <input name="poisk" type="submit" value="Поиск" />
                    
                    </form>


view_search.php
Код

<?php
include("bloks/bd.php");



if (isset ($_POST['p_ection'])) {$p_ection = $_POST['p_ection'];}
if (isset ($_POST['p_menu'])) {$p_menu = $_POST['p_menu'];}
if (isset ($_POST['p_area'])) {$p_area = $_POST['p_area'];}
if (isset ($_POST['p_rooms_1'])) {$p_rooms_1 = $_POST['p_rooms_1'];}
if (isset ($_POST['p_rooms_2'])) {$p_rooms_2 = $_POST['p_rooms_2'];}
if (isset ($_POST['p_metric_area_1'])) {$p_metric_area_1 = $_POST['p_metric_area_1'];}
if (isset ($_POST['p_metric_area_2'])) {$p_metric_area_2 = $_POST['p_metric_area_2'];}
if (isset ($_POST['p_cost_1'])) {$p_cost_1 = $_POST['p_cost_1'];}
if (isset ($_POST['p_cost_2'])) {$p_cost_2 = $_POST['p_cost_2'];}
if (isset ($_POST['p_metric_area_z_1'])) {$p_metric_area_z_1 = $_POST['p_metric_area_z_1'];}
if (isset ($_POST['p_metric_area_z_2'])) {$p_metric_area_z_2 = $_POST['p_metric_area_z_2'];}
if (isset ($_POST['p_metric_area_k_1'])) {$p_metric_area_k_1 = $_POST['p_metric_area_k_1'];}
if (isset ($_POST['p_metric_area_k_2'])) {$p_metric_area_k_2 = $_POST['p_metric_area_k_2'];}
if (isset ($_POST['p_etaz_1'])) {$p_etaz_1 = $_POST['p_etaz_1'];}
if (isset ($_POST['p_etaz_2'])) {$p_etaz_2 = $_POST['p_etaz_2'];}
if (isset ($_POST['p_etaznost_1'])) {$p_etaznost_1 = $_POST['p_etaznost_1'];}
if (isset ($_POST['p_etaznost_2'])) {$p_etaznost_2 = $_POST['p_etaznost_2'];}

?>

Код

<?php
                      
                      
                      
                      mysql_query("SET NAMES 'cp1251'");                
    $result2 = mysql_query("SELECT * FROM flats WHERE (menu='$p_menu') and (action='$p_ection') and (area='$p_area') and (rooms>='$p_rooms_1') and (rooms<='$p_rooms_2') and
(metric_area>='$p_metric_area_1') and (metric_area<='$p_metric_area_2') and (cost>='$p_cost_1')
and (cost<='$p_cost_2') and (metric_area_z>='$p_metric_area_z_1') and (metric_area_z<='$p_metric_area_z_2') and (floor>='$p_etaz_1') and (floor<='$p_etaz_2') and (floornost>='$p_etaznost_1') and (floornost<='$p_etaznost_2')
ORDER BY date DESC, id DESC",$db);

if (!$result2)
{

echo "<p>Запрос на выборку с базы не прошол. Сообщите об этой неполадке админитрации сайта blasts@bigmir.net. <br>  Error:</p>";
exit(mysql_error());
}

if (mysql_num_rows($result2)>0)

{

$myrow2 = mysql_fetch_array($result2);


do
{

$a=$myrow2["menu"];

if ($a=='1')
{$b='Квартиры';}

if ($a=='2')
{$b='Дома';}

if ($a=='3')
{$b='Коммерчиская';}

if ($myrow2["menu"]=='2')

{
printf ("<br><table align='center' class='news'>
                   <tr class='news_title'>
                   <td colspan='2'></p><p align='left' class='img'><img align='left' class='img' name='' src='%s'  height='64' alt='' /></p><p align='left' class='news_name'><a href='view_flat_all.php?id=%s'>%s</a> | %s | $b </p><p align='left' class='news_adds'>Дата добавления: %s</p><p align='left' class='news_adds'>Автор позиции: %s</p></td>
                   </tr>
                   <tr>
                   <td>
                
                   <p class='kat' align='left'><strong>Район:</strong> %s</p>
                   <p class='kat' align='left'><strong>Улица:</strong> %s</p>
                   <p class='kat' align='left'><strong>Кол.комнат:</strong> %s</p>
                   <p class='kat' align='left'><strong>Этажность:</strong> %s</p>
                   <p class='kat' align='left'><strong>Общий метраж обьекта:</strong> %s</p>
                   <p class='kat' align='left'><strong>Жилой метраж обьекта:</strong> %s</p>
                   <p class='kat' align='left'><strong>Площадь кухниа:</strong> %s</p>
                   <p class='kat' align='left'><strong>Цена:</strong> %s</p>
                   <p class='kat' align='left'><strong>Контактный телефон :</strong> %s</p>
                   </td>
                   <td width='30%'><p align='left'><textarea name='dop' cols='30' rows='15' readonly='readonly'>%s</textarea></p>
                   <p align='right' class='news_p'>
                   <a href='view_flat_all.php?id=%s'>Посмотреть фото обьекта!</a></p>
                   </td>
                   </tr>
                  </table><br>", $myrow2["mini_img"], $myrow2["id"],$myrow2["title"],$myrow2["action"],$myrow2["date"],$myrow2["author"],$myrow2["area"], $myrow2["street"],$myrow2["rooms"],$myrow2["floornost"],$myrow2["metric_area"], $myrow2["metric_area_z"],$myrow2["metric_area_k"],$myrow2["cost"],$myrow2["phone"], $myrow2["id"],$myrow2["text"], $myrow2["id"]);
;
}
else
{
printf ("<br><table align='center' class='news'>
                   <tr class='news_title'>
                   <td colspan='2'></p><p align='left' class='img'><img align='left' class='img' name='' src='%s' width='64' height='64' alt='' /></p><p align='left' class='news_name'><a href='view_flat_all.php?id=%s'>%s</a> | %s | $b </p><p align='left' class='news_adds'>Дата добавления: %s</p><p align='left' class='news_adds'>Автор позиции: %s</p></td>
                   </tr>
                   <tr>
                   <td>
                
                   <p class='kat' align='left'><strong>Район:</strong> %s</p>
                   <p class='kat' align='left'><strong>Улица:</strong> %s</p>
                   <p class='kat' align='left'><strong>Кол.комнат:</strong> %s</p>
                   <p class='kat' align='left'><strong>Этаж:</strong> %s</p>
                   <p class='kat' align='left'><strong>Этажность:</strong> %s</p>
                   <p class='kat' align='left'><strong>Общий метраж обьекта:</strong> %s</p>
                   <p class='kat' align='left'><strong>Жилой метраж обьекта:</strong> %s</p>
                   <p class='kat' align='left'><strong>Площадь кухниа:</strong> %s</p>
                   <p class='kat' align='left'><strong>Цена:</strong> %s</p>
                   <p class='kat' align='left'><strong>Контактный телефон :</strong> %s</p>
                   </td>
                   <td width='30%'><p align='left'><textarea name='dop' cols='30' rows='15' readonly='readonly'>%s</textarea></p>
                   <p align='right' class='news_p'>
                   <a href='view_flat_all.php?id=%s'>Посмотреть фото обьекта!</a></p>
                   </td>
                   </tr>
                  </table><br>", $myrow2["mini_img"], $myrow2["id"],$myrow2["title"],$myrow2["action"],$myrow2["date"],$myrow2["author"], $myrow2["area"],$myrow2["street"],$myrow2["rooms"],$myrow2["floor"],$myrow2["floornost"], $myrow2["metric_area"],$myrow2["metric_area_z"],$myrow2["metric_area_k"],$myrow2["cost"], $myrow2["phone"], $myrow2["id"],$myrow2["text"], $myrow2["id"]);
;
}
}

while (

$myrow2 = mysql_fetch_array($result2));


}


else
{

echo "<p>По вашему запросу нечего не найдено.</p>";
exit();
}
            
?>

Автор: gid 16.5.2008, 17:43

Несовсем понятно, что именно перестало работать. Выводятся ошибки или еще что-то?

ps
Если честно, то код страшный (как по внешнему виду, так и по содержанию).

Автор: Blast 16.5.2008, 17:47

Выводит сообщение "По вашему запросу нечего не найдено.", хотя я точно знаю что в базе есть позиция какая соответствует запросу. Догадуюсь что код страшный так как это мой первый сайт на PHP, и учился по урокам Попова, щас учу умные книги по PHP, как доучу буду полностью переделовать сайт, а пока что хочу с єтой ошибкой разобраться.))

Автор: Blast 17.5.2008, 15:27

Все проблему уже сам решил. Спасибо тем кто старался разобраться!

Автор: Masterovoy 1.7.2008, 13:58

Цитата(Blast @ 16.5.2008, 18:47) *

Догадуюсь что код страшный так как это мой первый сайт на PHP, и учился по урокам Попова, щас учу умные книги по PHP, как доучу буду полностью переделовать сайт, а пока что хочу с єтой ошибкой разобраться.))

И как уроки? Если действительно начинать с нуля, реально можно чему-то научиться? А то как-то сомнительно. С другой стороны, видеоуроки по Фотошопу помогают здорово. Книгу или статью так и так вертишь, а тут посмотрел- и все понятно. Но PHP побаиваюсь... unsure.gif

Invision Power Board ()
© Invision Power Services ()