-1

我有 3 种类型的搜索

  • 按省

  • 按地区

  • 按城市

    每次用户选择省时系统显示正确答案

但是如果用户选择地区,它会重复结果,这意味着它显示了相同的省结果和与所选地区或村庄相关的结果

但我想要的是只显示具有所选地区或省或村庄的用户,而不是全部

代码:

<?php
    if(isset($_POST['listbyq']))
    {    
    //********************by governorate**************************************//
       if($_POST['listbyq']=="by_gov")
       {
           $bygov = $_POST['governorate'];
           $sql = mysql_query("SELECT user_id,first_name, last_name, birth_date, registered_date, 
        s.specialization_name,
        g.governorate_name,
        d.district_name,
        v.village_name 
              FROM members u
                           INNER JOIN  specialization s 
                            ON u.specialization = s.specialization_id
                            INNER JOIN governorate g
                            ON u.governorate = g.governorate_id
                            INNER JOIN districts d
                            ON u.district = d.district_id
                            INNER JOIN village v
                            ON u.village = v.id
                            WHERE governorate = '$bygov'")or die(mysql_error("Error: querying the governorate"));
           
           $num_row = mysql_num_rows($sql);
           if($num_row > 0 )
           {
               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'];
                  $row_gov = $row['governorate_name'];
                  $row_dist = $row['district_name'];
                  $row_village = $row['village_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="5"><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">Job:</div></td>
                         <td>'.$row_spec.'</td>
                        </tr>
                        
                        <tr>
                         <td><div align="right">Location:</div></td>
                         <td>'.$row_gov.'__'.$row_dist.'__'.$row_village.'</td>
                        </tr>
                        </table>
                        <hr />
                ';
                  
               }
           }
           
       }
       else
       {
           $errorMSG = "No member within this selected governorate";
       }
     //*****************************by District***************************************//  
       if($_POST['listbyqa']=="by_dist")
       {
          @ $bydist = $_POST['district'];
           $sql = mysql_query("SELECT user_id,first_name, last_name, birth_date, registered_date, 
        s.specialization_name,
        g.governorate_name,
        d.district_name,
        v.village_name 
              FROM members u
                           INNER JOIN  specialization s 
                            ON u.specialization = s.specialization_id
                            INNER JOIN governorate g
                            ON u.governorate = g.governorate_id
                            INNER JOIN districts d
                            ON u.district = d.district_id
                            INNER JOIN village v
                            ON u.village = v.id
                           WHERE district = '$bydist'")or die(mysql_error("Error: querying the district"));
           
           $num_row = mysql_num_rows($sql);
           if($num_row > 0 )
           {
               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'];
                  $row_gov = $row['governorate_name'];
                  $row_dist = $row['district_name'];
                  $row_village = $row['village_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="5"><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">Job:</div></td>
                         <td>'.$row_spec.'</td>
                        </tr>
                        
                        <tr>
                         <td><div align="right">Location:</div></td>
                         <td>'.$row_gov.'__'.$row_dist.'__'.$row_village.'</td>
                        </tr>
                        </table>
                        <hr />
                ';
                  
               }
           }
           
       }
       else
       {
           $errorMSG = "No member within this selected District";
       } 
    
    //****************************by Village**************************************//
    if($_POST['listbyqb']=="by_city")
       {
          @ $byvillage = $_POST['village'];
           $sql = mysql_query("SELECT user_id,first_name, last_name, birth_date, registered_date, 
        s.specialization_name,
        g.governorate_name,
        d.district_name,
        v.village_name 
              FROM members u
                           INNER JOIN  specialization s 
                            ON u.specialization = s.specialization_id
                            INNER JOIN governorate g
                            ON u.governorate = g.governorate_id
                            INNER JOIN districts d
                            ON u.district = d.district_id
                            INNER JOIN village v
                            ON u.village = v.id
                           WHERE village = '$byvillage'")or die(mysql_error("Error: querying the district"));
           
           $num_row = mysql_num_rows($sql);
           if($num_row > 0 )
           {
               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'];
                  $row_gov = $row['governorate_name'];
                  $row_dist = $row['district_name'];
                  $row_village = $row['village_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="5"><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">Job:</div></td>
                         <td>'.$row_spec.'</td>
                        </tr>
                        
                        <tr>
                         <td><div align="right">Location:</div></td>
                         <td>'.$row_gov.'__'.$row_dist.'__'.$row_village.'</td>
                        </tr>
                        </table>
                        <hr />
                ';
                  
               }
           }
           
       }
       else
       {
           $errorMSG = "No member within this selected District";
       }
    }

?>
4

1 回答 1

1

如果您只想显示最细粒度的数据,您的条件结构需要如下所示,否则它将执行每个满足的条件。

if ($_POST['listbyqb']=="by_city") {...}
else if ($_POST['listbyqa']=="by_district") {...}
else if ($_POST['listbyq']=="by_ governorate") {...}
else {...}
于 2016-08-11T19:44:27.453 回答