PHP:试图将 href HTML 属性放入 `echo`
PHP: trying to put href HTML attribute into a `echo`
我似乎无法将 URL 放入 echo
。我想制作一个 link 来打开 Google 地图:
我不知道我的代码有什么问题:
$query = mysql_query("SELECT * FROM cev")or die(mysql_error());
while($row = mysql_fetch_array($query))
{
$name = $row['sitecode'];
$lat = $row['latitude'];
$lon = $row['longitude'];
$type = $row['sitetype'];
$city = $row['city'];
$id = $row['id'];
echo("addMarker($lat, $lon,'<b>$name</b><a href="editcev.php?id=' . $row['id'] . '">View</a><br><br/>$type<br/>$city');\n");
您必须修正引号:
echo "addMarker($lat, $lon,'<b>$name</b><a href=\"editcev.php?id={$row['id']}\">View</a><br><br/>$type<br/>$city');\n";
其他方式
echo <<<EOS
addMarker($lat, $lon, '<b>$name</b><a href="editcev.php?id={$row['id']}">View</a><br><br/>$type<br/>$city');
EOS;
串联
echo "addMarker($lat, $lon, '<b>$name</b>" .
"<a href=\"editcev.php?id={$row['id']}\">View</a>" .
"<br><br/>$type<br/>$city)";
使用addshashes
addMarker
看起来像一个 JavaScript 函数。您可以通过 addslashes
:
预处理 HTML 字符串
$html = <<<EOS
<b>$name</b><a href="editcev.php?id={$row['id']}">View</a><br><br/>$type<br/>$city
EOS;
$html = addslashes($html);
echo "addMarker($lat, $lon, '$html');\n";
建议
我建议使用支持语法高亮的编辑器。
了解 PHP strings。尤其是逃跑的事情。
最后,我不建议在 PHP 代码中编写 any HTML/JavaScript。请改用 Smarty or Twig 等模板引擎。
您似乎在尝试在 echo 语句中使用 method。如果你想使用方法、变量或一些 php 的东西,你不应该在大多数情况下使用引号,除非它是 eval 特色对象或方法。
像这样尝试
echo addmarker($lat, $lon,
'<b>'.$name.'</b> <a href="'.editcev.php?id=.' '.$row['id'].
".'>View</a><br><br/>'
.$type.
'<br/>'
.$city.');'."\n");
我不知道你的确切情况,但我认为这可行
echo("addMarker(".$lat.",".$lon.",<b>".$name."</b><a href=ditcev.php?id=" . $row['id'] . ">View</a><br><br/>".$type."<br/>".$city.");\n");
我似乎无法将 URL 放入 echo
。我想制作一个 link 来打开 Google 地图:
我不知道我的代码有什么问题:
$query = mysql_query("SELECT * FROM cev")or die(mysql_error());
while($row = mysql_fetch_array($query))
{
$name = $row['sitecode'];
$lat = $row['latitude'];
$lon = $row['longitude'];
$type = $row['sitetype'];
$city = $row['city'];
$id = $row['id'];
echo("addMarker($lat, $lon,'<b>$name</b><a href="editcev.php?id=' . $row['id'] . '">View</a><br><br/>$type<br/>$city');\n");
您必须修正引号:
echo "addMarker($lat, $lon,'<b>$name</b><a href=\"editcev.php?id={$row['id']}\">View</a><br><br/>$type<br/>$city');\n";
其他方式
echo <<<EOS
addMarker($lat, $lon, '<b>$name</b><a href="editcev.php?id={$row['id']}">View</a><br><br/>$type<br/>$city');
EOS;
串联
echo "addMarker($lat, $lon, '<b>$name</b>" .
"<a href=\"editcev.php?id={$row['id']}\">View</a>" .
"<br><br/>$type<br/>$city)";
使用addshashes
addMarker
看起来像一个 JavaScript 函数。您可以通过 addslashes
:
$html = <<<EOS
<b>$name</b><a href="editcev.php?id={$row['id']}">View</a><br><br/>$type<br/>$city
EOS;
$html = addslashes($html);
echo "addMarker($lat, $lon, '$html');\n";
建议
我建议使用支持语法高亮的编辑器。
了解 PHP strings。尤其是逃跑的事情。
最后,我不建议在 PHP 代码中编写 any HTML/JavaScript。请改用 Smarty or Twig 等模板引擎。
您似乎在尝试在 echo 语句中使用 method。如果你想使用方法、变量或一些 php 的东西,你不应该在大多数情况下使用引号,除非它是 eval 特色对象或方法。
像这样尝试
echo addmarker($lat, $lon,
'<b>'.$name.'</b> <a href="'.editcev.php?id=.' '.$row['id'].
".'>View</a><br><br/>'
.$type.
'<br/>'
.$city.');'."\n");
我不知道你的确切情况,但我认为这可行
echo("addMarker(".$lat.",".$lon.",<b>".$name."</b><a href=ditcev.php?id=" . $row['id'] . ">View</a><br><br/>".$type."<br/>".$city.");\n");