【问题标题】:php mysql - search a row and concatenate values of every columns to variable stringphp mysql - 搜索一行并将每列的值连接到变量字符串
【发布时间】:2015-11-23 19:06:31
【问题描述】:

你好朋友需要一些帮助我正在尝试得到以下结果:

$Steps= "1010"; TEXT

以上格式来自 mysql 表

id    | step1| step2| step3| step4|
0001  | 1    | 0    | 1    | 0    |
0002  | 0    | 0    | 0    | 0    |

php:

$Nperm = 0;
    while($row = mysqli_fetch_array($datos)){
        $result .= "$row[$Nperm]";
        $Nperm++;
    }
return $result

谁能帮我解决这个问题我在互联网上找不到任何东西

【问题讨论】:

    标签: php mysql concatenation multiple-columns


    【解决方案1】:

    您可以从INFORMATION_SCHEMA 中获取列名,然后循环它们以连接每个值列以获得最终字符串。

    define('DB_HOST', 'localhost');
    define('DB_NAME', 'your_database');
    define('DB_USER', 'your_user');
    define('DB_PASSWORD', 'your_password');
    
    $link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
    
    $sql = "
        SELECT COLUMN_NAME
        FROM INFORMATION_SCHEMA.COLUMNS
        WHERE table_name = 'table_name' AND table_schema = 'your_db' AND COLUMN_NAME != 'id'
        ORDER BY ORDINAL_POSITION";
    $result = mysqli_query($link, $sql);
    
    $columns = array();
    $temp = array();
    
    foreach($result as $row) {  //Take all column names
        $columns[] = $row['COLUMN_NAME'];
    }
    
    while($row = mysqli_fetch_array($datos)) {
        $s = '';
        for($i = 0; $i < count($columns); $i++) {
            $s .= $row[$columns[$i]];
        }
        $temp[] = $s;   //Put all strings in an array
        echo $s.'<br />';
    }
    

    【讨论】:

    • 你的意思是他们有不同的名字,而不是step1、step2、step3等?
    • 是的,它可以使用一个表格...需要通过提供 5 个 zerofill int 变量的 id 获取表格列和行...获取每列的值并将其连接到一个 php 变量.并感谢您的帮助
    • 请保持原来的问题在原来的状态,并发布一个新的问题。
    • 好的,我在 php 上有一个变量,格式如下: $variable = "000001000000" ,我需要获取特定位置的字符,例如位置 2 或位置 6,并将其保存在另一个变量中$variable2 = "0" variable3="1" 我发现它的范围是,但不是一个确切的位置。
    【解决方案2】:

    你可以使用PHP implode:

    implode — 用字符串连接数组元素

    所以,只需获取结果的每个元素

    SELECT * FROM table WHERE id = '$id'

    删除 ID 项和 implode 其余部分:

    while($row = mysqli_fetch_array($datos)){
        unset($row["id"]);
        $result = implode($row);
        //do whatever with result
    }
    

    【讨论】:

    • 还有第二期?
    • 无法理解您的第二个问题。能再解释一下吗?
    • 好的,我在 php 上有一个变量,格式如下: $variable = "000001000000" ,我需要获取特定位置的字符,例如位置 2 或位置 6,并将其保存在另一个变量中$variable2 = "0" variable3="1" 我发现它的范围是,但不是一个确切的位置。
    • @FranciscoNúñez 在您的示例中,$variable2 = $variable[1];,通常您可以通过$string[n-1] 访问字符串的n 元素。
    猜你喜欢
    • 2022-01-18
    • 2018-10-15
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 2014-06-16
    • 2021-07-28
    相关资源
    最近更新 更多