包括foreach循环输出数据的复选框

时间:2013-10-01 10:11:26

标签: php mysql sql wordpress

我在mysql数据库中有一些图片网址,我已成功检索并使用foreach循环在我的wordpress管理页面上显示图像;

$images = $wpdb->get_results( 
    "SELECT * 
        FROM $prod_table
        WHERE name='animal'"
);

foreach ( $images as $image) 
{
    echo '<img src="'.$image->image_url.'"/>;
}

这可以很好地显示图像,但我还想在每个图像旁边添加一个复选框,以便我可以决定检查将显示在我的主页上的图像。

我试过这个,但它最终检查了所有图像。

$images = $wpdb->get_results( 
        "SELECT * 
            FROM $prod_table
            WHERE name='animal'"
    );

    foreach ( $images as $image) 
    {
        echo '<img src="'.$image->image_url.'"/>;
        echo '<input type="checkbox" name="options[checked_img]" value="1" <?php checked( $options['checked_img'], 1 ); ?>';
    }

当选中其中一个时,它会选择所有这些。那么如何才能对它们进行独特的检查呢?

感谢, 罗尼。

1 个答案:

答案 0 :(得分:0)

为什么当你已经在PHP标签内时,你有一个<?php ?>标签? 你忘记关闭你正在回应的图像串 您为所有输入使用相同的名称。

除此之外,你应该保持简单 我假设“checked(...)”是一个自定义函数,用于确定是否应该检查图像。

$images = $wpdb->get_results("SELECT * FROM $prod_table WHERE name='animal'");  

foreach ( $images as $key => $image) 
{
    if(checked($options['checked_img'], $key))
        $is_checked = "checked='checked'";
    else 
        $is_checked = "";

    echo "<img src='{$image->image_url}' />";
    echo "<input type='checkbox' name='options[$key]' value='1' $is_checked />";
}