0

我有一个包含三种搜索类型的搜索页面,我想根据选择类型过滤搜索

  • 类型 1:由最新成员
  • 类型 2:通过专业化
  • 类型 3:按名称

专业表:

  • 专业化_id
  • 专业化名称

成员表:

  • 用户身份
  • 专业化
  • 注册日期

但是第一种类型工作正常但第二种显示所有成员而不是所选专业的问题

专业化的第一个查询是从下拉列表中选择专业化

第二个是加入 sepcialization 表和成员表之间有人可以帮助我吗????

搜索.php

//************for specialization droplist***************************//
function specializationQuery(){

$specData = mysql_query("SELECT * FROM specialization");

  while($recordJob = mysql_fetch_array($specData)){

     echo'<option value="' . $recordJob['specialization_id'] .  '">' . $recordJob['specialization_name'] . '</option>';

  }


}
$outputlist = "";
//**********search by new***************************************//
if(isset($_POST['searchbynew']))
{
    $listnew = $_POST['searchbynew'];
    $sql = mysql_query("SELECT * FROM members WHERE registered_date!='' ORDER BY registered_date DESC  ")or die((mysql_error("Error in quering new members List")));

    while($row = mysql_fetch_array($sql))
    {
        $row_id = $row['user_id'];
        $row_first_name =  $row['first_name'];
        $row_last_name =  $row['last_name'];
        $row_birthdate =  $row['birth_date'];
        $row_registered_date = $row['registered_date'];

         ////***********for the upload image*************************//
       $check_pic="members/$row_id/image01.jpg";
       $default_pic="members/0/image01.jpg";
       if(file_exists($check_pic))
       {
           $user_pic="<img src=\"$check_pic\"width=\"120px\"/>";
       }
       else
       {
           $user_pic="<img src=\"$default_pic\"width=\"120px\"/>";
       }

        $outputlist.='
   <table width="100%">
               <tr>
                  <td width="23%" rowspan="3"><div style="height:120px;overflow:hidden;"><a href = "http://localhost/newadamKhoury/profile.php?user_id='.$row_id.'" target="_blank">'.$user_pic.'</a></div></td>
                  <td width="14%"><div  align="right">Name:</div></td>
                  <td width="63%"><a href = "http://localhost/newadamKhoury/profile.php?user_id='.$row_id.'" target="_blank">'.$row_first_name.' '.$row_last_name.'</a></td>
                  </tr>

                  <tr>
                    <td><div align="right">Birth date:</div></td>
                    <td>'.$row_birthdate.'</td>
                  </tr>
                  <tr>
                   <td><div align="right">Registered:</div></td>
                   <td>'.$row_registered_date.'</td>
                  </tr>
                  </table>
                  <hr />
          ';


    }//close while
}

if(isset($_POST['searchbyspec']))
{
    $selectedSpec = $_POST['specialization'];
    $sql = mysql_query("SELECT user_id,first_name, last_name, birth_date, registered_date, specialization_name 
                        FROM members u INNER JOIN  specialization s 
                        ON u.specialization = s.specialization_id") or die(mysql_error("Error: quering thespecialization"));

    while($row = mysql_fetch_array($sql))
    {
        $row_id = $row['user_id'];
        $row_first_name =  $row['first_name'];
        $row_last_name =  $row['last_name'];
        $row_birthdate =  $row['birth_date'];
        $row_registered_date = $row['registered_date'];
        $row_spec = $row['specialization_name'];

        ////***********for the upload image*************************//
       $check_pic="members/$row_id/image01.jpg";
       $default_pic="members/0/image01.jpg";
       if(file_exists($check_pic))
       {
           $user_pic="<img src=\"$check_pic\"width=\"120px\"/>";
       }
       else
       {
           $user_pic="<img src=\"$default_pic\"width=\"120px\"/>";
       }

        $outputlist.='
   <table width="100%">
               <tr>
                  <td width="23%" rowspan="3"><div style="height:120px;overflow:hidden;"><a href =              "http://localhost/newadamKhoury/profile.php?user_id='.$row_id.'" target="_blank">'.$user_pic.'</a></div></td>
                  <td width="14%"><div  align="right">Name:</div></td>
                  <td width="63%"><a href = "http://localhost/newadamKhoury/profile.php?user_id='.$row_id.'" target="_blank">'.$row_first_name.' '.$row_last_name.'</a></td>
                  </tr>

                  <tr>
                    <td><div align="right">Birth date:</div></td>
                    <td>'.$row_birthdate.'</td>
                  </tr>
                  <tr>
                   <td><div align="right">Registered:</div></td>
                   <td>'.$row_registered_date.'</td>
                  </tr>

                  <tr>
                   <td><div align="right">Registered:</div></td>
                   <td>'.$row_spec.'</td>
                  </tr>
                  </table>
                  <hr />
          ';


    }

}
4

1 回答 1

0

SQL 查询中需要一个WHERE子句。

SELECT ... JOIN ... WHERE u.specialization = '$selectedSpec'
于 2013-05-18T12:48:18.017 回答