你可能认为这是一个重复的内容。它不是。我尝试了所有的解决方案。这是问题所在。
如果您在while循环中使用任何解决方案(substr
,rtrim
等),则会从每个循环项中删除它们。如果你使用while循环之外的任何解决方案,那么只显示while循环的最后一项。
循环中的解决方案:
(a,b,c,d,e,)变为(abcde)
循环外的解决方案:
(a,b,c,d,e,)变为(e)。
非常感谢对此的许多澄清。感谢您的帮助!是的,我现在已经工作了六个小时了。请帮我解决这个问题。
这是我的代码(没有解决方案):
<script type="text/javascript">
states=new array (<?php $query18 = "SELECT * FROM states ORDER BY state ASC";
$result18 = $db->query($query18);
while ($row18 = $result18->fetch(PDO::FETCH_ASSOC)) {
$states4 = $row18['state'];
$states5 = "\"$states4\",";
echo $states5;
} ?> ); </script>
我试图将我的状态列表(从数据库中)放到javascript中的数组中。
答案 0 :(得分:0)
看来你还没有关闭数组的右括号。
应该是,
states=new array (<?php $query18 = "SELECT * FROM states ORDER BY state ASC"; $result18 = $db->query($query18); ?>);
答案 1 :(得分:0)
我对JavaScript知之甚少,但你可以改变你的逻辑如下:
first=1;
while(there-is-data) {
$states4 = ...
if (first) {
first = 0;
$states5 = $states4;
} else {
$states5 = ","\$states4;
}
} // while
除了第一个迭代之外,您为所有迭代连接逗号和新数据。对于第一个,您可以排除逗号。