单击元素的复选框时更新数据库字段

时间:2014-06-21 13:01:38

标签: javascript php html mysql

这是我到目前为止:sql从数据库获取数据,数据通过循环传递,然后用html代码显示

$sql = "SELECT items_available.title, 
                items_available.item_number, 
                items_available.subtitle, 
                items_available.image_name, 
                users.username 
        FROM items_available
            INNER JOIN users ON items_available.owner_id = users.user_id
        WHERE items_available.status ='pending' 
        LIMIT $query_limit ;";

$query = mysql_query($sql);

while ($dbData = mysql_fetch_assoc($query)) {

    $item_id      = $dbData['item_number'];
    $sel_title    = $dbData ['title'];
    $sel_Image    = $dbData['image_name'];
    $sel_subtitle = $dbData['subtitle'];
    $sel_owner    = $dbData['username'];


    echo "<span style='display:inline-block;width:185px;margin:4px;'>
        <a href='#'>
            <img src='upload/$sel_Image' style='width:180px; height:160px;' />
                <h5 style='display:inline;'>$sel_title </h5><br>
                <h7 style='display:inline;'> $sel_subtitle</h7><br>
                <h6 style='display:inline;'>Posted by $sel_owner</h6> 
        </a>|
        <div style= \"display:inline-block;\"> 
            <input type=\"checkbox\" id=\"check\" name='item_ids[]' value='1' />
        </div>
    </span>";

}/

代码块下方的复选框应该抓取每个元素的ID,以便可以更新数据库。希望我的描述足够明确,可以帮助

2 个答案:

答案 0 :(得分:0)

你没有给出任何特定的信息,所以它就像是你所要求的指南 你需要在这里创建一个带有隐藏字段的表单

喜欢

<div style= \"display:inline-block;\">
<form method=\"post\">
 <input type=\"hidden\" name=\"value\" =". $item_id.">
 <input type=\"checkbox\" name=\"update\" value = '1' />
</form>
</div>

php的ll看起来像

if (isset($_REQUEST['value']))

{

//update after validation
}

P.S $ _REQUEST对GET或POST方法都有效 它实际上取决于你想要的东西

答案 1 :(得分:0)

您可以将复选框的VALUE设置为要在$_POST['item_ids']数组中返回的ID。

<div style= \"display:inline-block;\"> ";

echo '<input type="checkbox" id="check" name="item_ids[]" value="' . $item_id . '" />';

echo "</div>

现在在您的PHP代码中,您可以像这样处理它们,记住复选框仅在$ _POST / $ _ GET数组中返回(如果实际检查它们)。

我假设$ _POST。

if ( isset($_POST['item_ids']) ) {
    foreach ( $_POST['item_ids'] as $item_id ) {

        // do whatever you want to with this information

    }
}