-1

我有一个文件中的图像列表。文件名以及有关图像的详细信息存储在 mysql 表中。我创建了一个 while 循环,在我的页面上随机生成多个图像。然而有一个问题。我的网页没有生成任何图像。我已将其范围缩小到我创建的clothing_data 函数。我只是对我需要做的事情感到困惑。这是下面的代码。

<?php
function clothing_data ($id) {
    $data = array();
    $id = (int)$id; 
    $func_num_args = func_num_args();
    $func_get_args = func_get_args();   
    if ($func_num_args > 1) {   
        unset($func_get_args[0]);
        $fields ='`' .  implode ('`, `', $func_get_args) . '`';
        $data = mysql_fetch_assoc (mysql_query("SELECT $fields FROM `dress` WHERE `primary_id` = $id"));
    return $data;
    }
}

$num_dresses = dress_count ();

$i = 0;    
while ($i < 5)
{   
    $rand_id = rand(1, $num_dresses);
    $dress_feed_data = clothing_data($rand_id, 'file_name', 'user_defined_name', 
'user_defined_place' , 'user_who_uploaded');
    echo $dress_feed_data['file_name'];
    if (file_exists('fashion_images/' . $dress_feed_data['file_name']))
    {
?>

<br>
<img src="fashion_images/<?php echo $dress_feed_data['file_name'];?>" width="50" height="50" />
<?php
    }
    $i++;
}
?>
4

3 回答 3

0

在您的<img>标签$dress_feed_data[file_name]中应该是 $dress_feed_data['file_name'].

于 2012-07-18T04:27:46.277 回答
0

很可能$field是空的或包含错误的列名或其他错误。当你得到什么var_dump()

由于您已经在$dress_feed_data = clothing_data($rand_id, 'file_name', 'user_defined_name', 'user_defined_place' , 'user_who_uploaded');

您可以简单地将您的功能更改为类似 -

function clothing_data ($id, $field1, $field2, $field3, $field4) {
    $data = array();
    $id = (int)$id; 
    $func_num_args = func_num_args();
    $func_get_args = func_get_args();   
    $fields ='`' .  $field1 . '`, `' .  $field2 . '`, `' .  $field3 . '`, `' .  $field4 . '`';
        $data = mysql_fetch_assoc (mysql_query("SELECT $fields FROM `dress` WHERE `primary_id` = $id"));
   return $data;
}
于 2012-07-18T04:58:58.390 回答
0

我解决了这个问题。涉及多个问题。一方面,我的主要 id 没有链接到我的数据库中随机生成的 id。它不起作用的另一个原因是与我的文件名名称相关的字段与我的图像文件夹中的字段不同。这是因为当文件名插入到我的数据库中时,会在名称中添加一个空格,从而无法将我的数据库中的名称链接到我的文件夹中的名称。感谢所有的帮助。

于 2012-07-18T19:19:31.053 回答