完全难以理解,基本上我从用户表中获取逗号分隔列表,将其用作数组,然后使用数组中的每个值从不同的表中获取数据然后输出。
$award_array = array($user_class->awards);
foreach($award_array as $award) {
$getaward = mysql_query("SELECT `name`, `text`, `image` FROM `awards_av` WHERE `id` = '".$award."'");
$awardstuff = mysql_fetch_array($getaward);
echo "<img src='".$awardstuff['image']."' alt='".$awardstuff['name']."' title='".$awardstuff['text']."' />";
}
这只是给出数组中的第一个数字($ user_class-&gt;奖励,在这种情况下是1,2,3,4,5,6)
非常感谢任何帮助!
答案 0 :(得分:1)
我想我看到了问题。您不能简单地使用逗号分隔列表的字符串,并将其放在array()标记内,并期望它自动将其转换为数组。您必须使用explode()函数来执行此操作。
您正在尝试做什么:
<?php
$string = 'a,b,c,d,e';
$myarray = array($string);
foreach ($myarray as $k => $v) {
print $v .'<br />';
}
?>
除此之外不起作用。您需要将逗号分隔的值列表(这是一个字符串)转换为数组,但不要使用array()来执行此操作。你使用PHP的内置函数explode() - &gt;这样http://php.net/explode ......
<?php
$string = 'a,b,c,d,e';
$myarray = explode(',' $string);
foreach ($myarray as $k => $v) {
print $v .'<br />';
}
?>
我认为这是你遇到的问题