2012-06-05 45 views
-3

所以我建立一个搜索网站,那里是一个PHP/MySQL的搜索和一个javascript“显示此数目每页结果” HTML选择它与数每页提交的用户然后刷新搜索页面。不幸的是,当我加载页面时,我得到了三个错误。 if (isset($_POST['select'])){ $total_pages == $_POST['select'];}只设置为$total_pages = 12它工作正常吗?问题与PHP选择/搜索

  • 注意:您的SQL语法错误;检查 对应于你的MySQL服务器版本正确的语法在/Users/Me/Sites/mySite/search.php上线使用 “”附近,在1号线手册36
  • 警告:mysql_num_rows()预计参数1是资源,在布尔给出/Users/Me/Sites/mySite/search.php上线37
  • 警告:行中/Users/Me/Sites/mySite/search.php被零除104

下面是代码:

<?php 

    $q = mysql_real_escape_string(ucfirst(trim($_REQUEST['searchquery']))); 

     if (isset($q)){ 
     if (isset($_GET['page'])) $page = $_GET['page']; else $page = 1; 
     if (isset($_POST['select'])){ $total_pages == $_POST['select'];} //Here edit the amount per page 
     $record_start = ($page * $total_pages) - $total_pages; 
      REQUIRE('config.php'); 

      $result = mysql_query("SELECT * FROM companies WHERE company_name LIKE '%$q%' OR company_description LIKE '%$q%' OR cat1 LIKE '%$q' OR cat2 LIKE '%$q' OR cat3 LIKE '%$q' OR company_phone LIKE '%$q' ORDER by company_name LIMIT $record_start,$total_pages") or trigger_error(mysql_error()); 
      $rows = mysql_num_rows($result); 

      $total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM companies"),0); 
      echo " 
      <h4>Search for &quot;$q&quot;</h4> 
      <div class='right'> 
       <div class='textad1'> 
        <center> 

         <form name='form1' method='post'> 
          Results per Page: 
          <select name='select' onChange='document.form1.submit()'> 
           <option value='10'";if($_REQUEST['select'] == 12) {echo "selected='selected'";} echo">12</option> 
           <option value='15'";if($_REQUEST['select'] == 18) {echo "selected='selected'";} echo">18</option> 
           <option value='25'";if($_REQUEST['select'] == 32) {echo "selected='selected'";} echo">32</option> 
          </select> 
         </form> 

        </center> 
       </div> 
       <div class='divider'></div> 
      </div> 
      <div class='left'> 

      <ul>"; 
     while($row = mysql_fetch_array($result)) 

如果甲肾上腺素编辑更多的代码,我会很快得到你的。任何帮助将不胜感激!

+0

你连接到数据库执行查询之前?如果没有,那么你的问题就是mysql错误。 – Vulcan

+0

所以你写了100行代码,甚至没有尝试在这个过程中运行它?你不能在同一时间写的100行没有错误 - 你执行更小的步骤,并检查代码运行正常后,每条线增加 – zerkms

+0

@Vulcan我有一个数据库连接在这之前我只是没有贴,还有的地方我定义$ q ...如果您认为它会有所帮助,我可以发布。 –

回答

1

我觉得你的代码应该是这样的,

require('config.php'); 
$q = mysql_real_escape_string(ucfirst(trim($_REQUEST['searchquery']))); 

    if (isset($q)){ 
    if (isset($_GET['page'])) $page = $_GET['page']; else $page = 1; 
    if (isset($_POST['select'])){ $total_pages = $_POST['select'];} //Here edit the amount per page 
    $record_start = ($page * $total_pages) - $total_pages; 

     $result = mysql_query("SELECT * FROM companies WHERE company_name LIKE '%$q%' OR company_description LIKE '%$q%' OR cat1 LIKE '%$q' OR cat2 LIKE '%$q' OR cat3 LIKE '%$q' OR company_phone LIKE '%$q' ORDER by company_name LIMIT $record_start,$total_pages") or trigger_error(mysql_error()); 
     $rows = mysql_num_rows($result); 

     $total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM companies"),0); 

//code continuation