dtrz17917 2015-01-21 16:42
浏览 64
已采纳

如何在PHP条件下连接字符串?

I wrote query in php file ,my query is:

$query = "SELECT cc.NAME complex_check_name,f.name server_name,
                sgk.NAME single_check_name,cc.operator 
          FROM complex_check cc, 
               lnksinglechecktocomplexcheck lk,
               single_checks sgk,
               functionalci f ,
               lnkconfigurationitemtosinglecheck lkcg 
           WHERE cc.id = lk.complex_check_id AND 
                 sgk.id = lk.single_check_id and 
                 sgk.id = lkcg.single_check_id AND 
                 lkcg.config_item_id = f.id ";

if ($result=mysqli_query($link,$query))
{
    while ($obj=mysqli_fetch_object($result))
    {
       $list= $obj->complex_check_name . 
              "@".
              $obj->server_name .
              ";". 
              $obj->single_check_name . 
              $obj-> operator;

        echo  $list .'<br>'; 
    }
 }

The result is :

test_com_check_sep01@INFRASEP01;cpu check sep01&
test_com_check_sep01@INFRASEP01;DB check sep01&
test_com_check_sep01@INFRASEP01;disk space check sep01&
test_com_check_sep02@INFRASEP02;cpu check sep02||
test_com_check_sep02@INFRASEP02;db check sep02||
test_com_check_sep02@INFRASEP02;disk space check sep02||

How can I concatenate the string as:

"test_com_check_sep01=INFRASEP01;cpu check sep01&INFRASEP01;DBcheck sep01&INFRASEP01;disk space check sep01"

"test_com_check_sep02=INFRASEP02;cpu check sep02||INFRASEP02;db check sep02||INFRASEP02;disk space check sep02"
  • 写回答

3条回答 默认 最新

  • duanhuang2804 2015-01-21 17:10
    关注

    You could store the values into an array and implode afterwards.

    $check  =   array();
    if($result = mysqli_query($link,$query)) {
            while($obj = mysqli_fetch_object($result)) {
                // If value is not stored in check array proceed
                if(!in_array($obj->complex_check_name,$check))
                    $list[$obj->complex_check_name][]   =   $obj->complex_check_name."=";
    
                $list[$obj->complex_check_name][]   =   $obj->server_name.";".$obj->single_check_name.$obj->operator;
    
                // Store in check array
                $check[]    =   $obj->complex_check_name;
            }
    
        // Loop through stored rows and implode with break
        foreach($list as $array) {
                echo implode("<br />",$array);
            }
     }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教