1 回答
TA贡献1779条经验 获得超6个赞
内循环仅在外循环的第一次迭代期间工作。一旦你完成了从查询中获取结果,下次它就不会回到开头。
由于第二个查询只返回一行,因此您应该在循环之外只获取一次。
或者您可以在一个查询中简单地连接两个表。
$results = mysqli_query($conn, "
SELECT tc.text1, tl.*
FROM table_config AS tc
CROSS JOIN (
SELECT *
FROM table_list AS tl
WHERE tl.user = 'user'
LIMIT 1) AS tl
WHERE tc.user = 'user'");
您将获得 3 个输出,因为您正在回显每个替换。您应该进行所有替换,然后回显。
$text2 .= str_replace(":name:", $name, $text2);
$text2 .= str_replace(":role:", $role, $text2);
$text2 .= str_replace(":company:", $company, $text2);
echo $text2;
您还可以通过将模板和替换放入数组来一次完成所有替换。
$text2 = str_replace([":name:", ":role:", ":company:"], [$name, $role, $company], $text2);
echo $text2;
- 1 回答
- 0 关注
- 85 浏览
添加回答
举报