关于Stackoverflow有很多关于此的问题,但我还是无法解决这个问题。
我正在尝试将多个变量放在全局属性data- *中。输出应为:
data-info="23;thisWeek"
23来自数据库:$ row [“id”],以及来自变量的thisWeek:$ categori1。
我试过了:
echo "<tr data-info=" .fixSlashes($row["id"], $categori1); " class=\"tableclass\"><td>"
然后
<?php
function fixSlashes($idP, $categoriP){
$str = addslashes($idP . ";" .$categoriP);
return $str;
}
?>
但出了点问题。没有错误消息,但行为是错误的。如果我写的话,它可以工作:
echo "<tr data-info="data-info="23;thisWeek" class=\"tableclass\"><td>"
答案 0 :(得分:2)
看起来你没有正确输出html。请注意修复斜杠函数周围的转义引号。另请注意“。”而不是分号。
"<tr data-info=\"" .fixSlashes($row["id"], $categori1) . "\" class=\"tableclass\"><td>"
如果要查看所有错误,请包含以下代码。这会抓住分号错误。
error_reporting(E_ALL);
ini_set('display_errors', '1');
答案 1 :(得分:1)
echo "<tr data-info=" .fixSlashes($row["id"], $categori1); " class=\"tableclass\"><td>"
你有一个分号(;),其中concat运算符(。)应该是。嗯,在fixSlashes函数之后。在类后缀字符串之前。
你在&#34; class = \&#34; tableclass \&#34;&gt;&#34;之前过早地结束了echo语句。可附加。
答案 2 :(得分:1)
我讨厌背驮式,但有一半的答案正在解决一个问题,一半的答案正在解决另一个问题。
正如@MingShun所说,你需要将你的分号修复到一段时间(concat)。 你需要在@JimmyScray表示的数据周围获得报价(转义)。
echo "<tr data-info=\"" .fixSlashes($row["id"]. $categori1). "\" class=\"tableclass\"><td>";
答案 3 :(得分:0)
使用转义序列显示双引号并使用单引号作为id(即$ row ['id'])
echo "<tr data-info=\" $row['id'];$categori1\" class=\"tableclass\"><td>";