php 停止搜索结果中的重复值

2wnc66cl  于 2023-01-12  发布在  PHP
关注(0)|答案(3)|浏览(115)

这是我的搜索结果。正如你所看到的,有重复的rasults。这是真的,但它不是太漂亮,有一个名字好几次。

代码:

<?php

   $db_host = 'localhost';
   $db_name= 'site';
   $db_table= 'tablesite';
   $db_user = 'root';
   $db_pass = '';


   $con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده");
$selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده");
mysql_query("SET CHARACTER SET  utf8");
$dbresult=mysql_query("SELECT tablesite.name,
                              tablesite.family,
                              tablesite.phone_number,
                              job_list.job_name,
                              relation.comments,
SUM(CASE WHEN action.vote !='' AND action.customer_comment ='' THEN 1 ELSE 0 END) positive,
SUM(CASE WHEN action.vote !='' AND action.customer_comment !='' THEN 1 ELSE 0 END) negative

                       FROM tablesite
                       INNER JOIN relation
                       on tablesite.id_user=relation.user_id
                       INNER JOIN job_list
                       on relation.job_id=job_list.job_id 

                       left JOIN action
                       ON tablesite.id_user=action.service_provider_id
                       WHERE job_name LIKE '%".$_POST['search']."%'
                               OR name LIKE '%".$_POST['search']."%'
                               OR family LIKE '%".$_POST['search']."%'
                       group by name,family,job_name,phone_number",$con);
?>
   <title>نتایج جستجو</title><fieldset class="fdex"  dir="rtl">
    <legend><span class="style4">نتایج جستجوی مشاغل</span></legend>

   <?php

   while ($row = mysql_fetch_array($dbresult, MYSQL_ASSOC)) {

   printf("نام: %s   %s &nbsp&nbsp&nbsp
           شغل: %s &nbsp&nbsp&nbsp
           شماره تلفن: %s &nbsp&nbsp&nbsp
           عملیات های موفق: %s &nbsp&nbsp&nbsp
           عملیات نا موفق: %s &nbsp&nbsp&nbsp
           توضیحات: %s<br>",
           $row["name"],
           $row["family"],
           $row["job_name"], 
           $row["phone_number"], 
           $row["positive"], 
           $row["negative"], 
           $row["comments"]);

}
?>
</fieldset>

应该是这样:

当名字、家庭不止一次时,我想重复名字、家庭一次
这种风格是用户友好的,有一个很好的观赏。谢谢大家...

dgsult0t

dgsult0t1#

<?php
$firstname = '';
$oldfirst = '';
$lastname = '';
$oldlast = '';

while ($row = mysql_fetch_array($dbresult, MYSQL_ASSOC)) {
    if($oldfirst == $row['name'] && $oldlast == $row['family'])
    {
        $firstname = ' ';
        $lastname = ' ';
        $namelabel = ' ';
    }
    else
    {
        $firstname = $row['name'];
        $lastname = $row['family'];
        $namelabel = 'نام: ';
    }

    $oldfirst = $row['name'];
    $oldlast = $row['family'];

    printf("{$namelabel} %s   %s &nbsp&nbsp&nbsp
        شغل: %s &nbsp&nbsp&nbsp
        شماره تلفن: %s &nbsp&nbsp&nbsp
        عملیات های موفق: %s &nbsp&nbsp&nbsp
        عملیات نا موفق: %s &nbsp&nbsp&nbsp
        توضیحات: %s<br>",
        $firstname,
        $lastname,
        $row["job_name"], 
        $row["phone_number"], 
        $row["positive"], 
        $row["negative"], 
        $row["comments"]);
    }
?>
dkqlctbz

dkqlctbz2#

试试这个,它会解决你的问题。

$temp_array = array();
 while ($row = mysql_fetch_array($dbresult, MYSQL_ASSOC)) {
     if(in_array($row["name"], $temp_array))
        $row["name"] = '';
     else
        array_push($temp_array, $row["name"]); 

   printf("نام: %s   %s &nbsp&nbsp&nbsp
           شغل: %s &nbsp&nbsp&nbsp
           شماره تلفن: %s &nbsp&nbsp&nbsp
           عملیات های موفق: %s &nbsp&nbsp&nbsp
           عملیات نا موفق: %s &nbsp&nbsp&nbsp
           توضیحات: %s<br>",
           $row["name"],
           $row["family"],
           $row["job_name"], 
           $row["phone_number"], 
           $row["positive"], 
           $row["negative"], 
           $row["comments"]);

}
yacmzcpb

yacmzcpb3#

我已经尝试单独使用 *$name *,因为它越来越重复。添加此代码并运行,您将获得预期的输出

<?php
$oldname="";
while ($row = mysql_fetch_array($dbresult, MYSQL_ASSOC)) {
$newname=$row["name"];
if($newname!=$oldname)
printf("نام: %s   %s &nbsp&nbsp&nbsp
       شغل: %s &nbsp&nbsp&nbsp
       شماره تلفن: %s &nbsp&nbsp&nbsp
       عملیات های موفق: %s &nbsp&nbsp&nbsp
       عملیات نا موفق: %s &nbsp&nbsp&nbsp
       توضیحات: %s<br>",
       $newname,
       $row["family"],
       $row["job_name"], 
       $row["phone_number"], 
       $row["positive"], 
       $row["negative"], 
       $row["comments"]);
$oldname=$newname;
}
else{
printf("نام: %s   %s &nbsp&nbsp&nbsp
       شغل: %s &nbsp&nbsp&nbsp
       شماره تلفن: %s &nbsp&nbsp&nbsp
       عملیات های موفق: %s &nbsp&nbsp&nbsp
       عملیات نا موفق: %s &nbsp&nbsp&nbsp
       توضیحات: %s<br>",
       ,//empty name
       $row["family"],
       $row["job_name"], 
       $row["phone_number"], 
       $row["positive"], 
       $row["negative"], 
       $row["comments"]);
 $oldname=$newname;
}
?>

相关问题