Mysql 查询检索表列标题,然后在循环中使用


Mysql Query Retrieve Table Column Titles then use in Loop

这是一个由两部分组成的问题。我正在尝试用数据库表一行中的值替换字符串中的变量。我已经在下面的代码中工作了,但我必须硬编写每个可能的变量和替换变量。这很好,但我希望它更加自动化,这样我就可以简单地添加一个新列,而不必返回代码。

我假设解决方案是将列标题名称放入数组中,然后循环数组中的每个项目。替换该循环的值,然后移动到下一个循环。

这是我到目前为止所拥有的。

    $story_id = $_SESSION['story_id'];
    $result = mysql_query("SELECT * FROM `content` WHERE `story_id` = '$story_id'");
    while($row = mysql_fetch_array($result)){
    $location = $row['location'];
    $mchar_gender = $row['mchar_gender'];
    $string = 'Client Gender: %mchar_gender%<br /> Client Location: %location%';
    $trans = array("%location%" => "$location", "%mchar_gender%" => "$mchar_gender"); 
    $new_string = strtr($string,$trans);
    }
       echo $new_string;
}

这个怎么样?

foreach($row as $key=>$value) {
    $string = str_replace('%'.$key.'%',  $value,  $string);
}

我回答你的问题对了吗?