我想这个标题有点令人困惑,但这就是我需要的:
我有一个jquery自动完成文本字段,它从数据库中获取数据。一切都工作,我可以在文本字段中键入邮编的一部分,当该部分存在于数据库中时,它会显示所有可用的选项以及城市,州等。
但是我想要的是在选项列表中显示国家的国旗(作为图像)。我做了一个新的行:县(其中包含到标志的图像文件的url)
这就是它出错的地方:
$rs = mysql_query('select zip, city, county, state from zipcode where zip like "'. mysql_real_escape_string($_REQUEST['term']) .'%" order by zip asc limit 0,10', $dblink);
$data = array();
if ( $rs && mysql_num_rows($rs) )
{
while( $row = mysql_fetch_array($rs, MYSQL_ASSOC) )
{
$data[] = array(
'label' => $row['zip'] .', '. $row['city'] .' '. $row['state'] .' '. <img src='http://www.colinch.com/fut/$row['county'].'' /> ,
'value' => $row['zip']
);
}
}
我不是php专家,所以我认为这只是一个简单的事情出错了。当我移除我希望有人能帮助我!
Thanks in advance
你的引号完全错了:
'label' => $row['zip'] .', '. $row['city'] .' '. $row['state'] .'<img src=''http://www.colinch.com/fut/'.$row['county'].''' />',
试试这个:
$data[] = array(
'label' => $row['zip'] .', '. $row['city'] .' '. $row['state'] .' <img src="http://www.colinch.com/fut/'.$row['county'].'" />' ,
'value' => $row['zip']
);
试试这个
$data[] = array(
'label' => $row['zip'] .', '. $row['city'] .' '. $row['state'] .' '. '<img src="http://www.colinch.com/fut/'.$row['county'].'"'.'/>' ,
'value' => $row['zip']
你的引号放错了。这就是语法高亮标记如此有用的原因。看看你在问题中写的代码。它被标记为SO,深红色/棕色标记文本的位置。您希望将<img...
放入文本中!或者更好的是,如果可能的话,直接将这些内容回显到html中,像这样:
foreach($countries as $code)
{
?><img src="<?php echo $flag; ?>.png/><?php
}
如果你决定你不想/不能这样做,那么你的代码应该是这样的:
'label' => $row['zip'] .', '. $row['city'] .' '. $row['state'] .' <img src=''http://www.colinch.com/fut/'.$row['county'].''' />'
注:我建议使用"
的html引号和'
的php引号。这样你就不需要转义了:)
这可能更容易阅读
$data[] = array(
'label' => "{$row['zip']}, {$row['city']} {$row['state']} <img src='http://www.colinch.com/fut/{$row['county']}' />" ,
'value' => $row['zip']
);
使用双引号可以在不转义字符串的情况下计算所使用的变量。
你的问题在于你的报价方法
.' '. <img src='http://www.colinch.com/fut/$row['county'].'' />
^--no start^--start ^--closed
您想继续构建字符串,但没有在文本中包含<img
。然后PHP决定在'http...
继续。