我回到php后5年了,我需要帮助以下请:)它一直告诉我错误:解析错误:语法错误,意外T_STRING,期待','或';'在header.php中(在第一个echo调用中)
<?php
$result = mysql_query("SELECT * FROM menu WHERE disabled=0 ORDER BY orderx ASC") or die(mysql_error());
$i=1;
while($row = mysql_fetch_array($result)) {
echo "<li class='sddm'.$i.' '.$row[extra].'"><a href="'.link_text($row[link]).'" onmouseover=\"mopen('m2')\" onmouseout=\"mclosetime()\">'.link_text($row[link]).'</a>";
echo "<div id='m2' onmouseover='mcancelclosetime()' onmouseout='mclosetime()'>";
echo "<a href='#'>ASP Dropdown</a>";
echo "<a href='#'>Pulldown menu</a>";
echo "<a href='#'>AJAX dropdown</a>";
echo "<a href='#'>DIV dropdown</a>";
echo "</div>";
echo "</li>";
<!--echo '<li class="sddm'.$i.' '.$row[extra].'"><a href="'.link_text($row[link]).'">'.$row[title.langfix()].'</a>';-->
echo'</li>';
$i++;
}
?>
答案 0 :(得分:4)
你的报价完全没有了:
echo "<li class='sddm'.$i.' '.$row[extra].'"><a href="'.link_text($row[link]).'"
应该是
echo '<li class="sddm"'.$i.' '.$row[extra].'"><a href="'.link_text($row[link]).'"
如果您希望在HTML中使用单引号,则可以相应地更换引号,但这应该会显示您的错误所在。
答案 1 :(得分:2)
echo '<li class="sddm'.$i.' '.$row[extra].'"><a href="'.link_text($row["link"]).'" onmouseover="mopen(\'m2\')" onmouseout="mclosetime()">'.link_text($row["link"]).'</a>';
echo '<div id=\'m2\' onmouseover=\'mcancelclosetime()\' onmouseout=\'mclosetime()\'>';
echo '<a href=\'#\'>ASP Dropdown</a>';
echo "<a href='#'>Pulldown menu</a>";
echo "<a href='#'>AJAX dropdown</a>";
echo "<a href='#'>DIV dropdown</a>";
echo "</div>";
echo "</li>";
echo '<li class="sddm'.$i.' '.$row["extra"].'"><a href="'.link_text($row[link]).'">'.$row["title"].langfix().'</a>';
echo'</li>';
$i++;
答案 2 :(得分:0)
如果要管理复杂的引号,请考虑使用printf()
:
printf(
'<li class="sddm%d" %s><a href="%s" onmouseover="mopen(\'m2\')" onmouseout="mclosetime();">'
, $i
, htmlentities($row['extra'])
, htmlentities(link_text($row['link']))
);
答案 3 :(得分:0)
echo <<<END
换行内容换行符END;
效果很好,并且会解析变量并忽略引号,直到END;
。