ALCON,
I am having trouble getting a multiple select delete (via checkbox) to work properly. I even went so far as to look at how vB4 does it in the pm inbox and did a mirror. Is there an easier way to do this, to delete multiple items at one time?
In my template, i have the following code:
Code:
<form id="wp_script" name="wp_script" action="file.php?do=doedit" method="post">
...
<vb:each from="wp_var" value="list">
<div class="ddo_tr top blockrow">
<div><input type="checkbox" name="del_id[{vb:raw list.id}]" id="del_id[{vb:raw list.id}]" value="{vb:raw list.id}" /></div>
<div>{vb:raw list.location}</div>
<div>{vb:raw list.comments}</div>
</div>
</vb:each>
...
<div><input class="button" type="submit" id="delete" name="delete" value="{vb:rawphrase delete}" /></div>
</form>
In my php file, i have the following code:
Code:
$vbulletin->input->clean_array_gpc('p', array(
'set_userid' => TYPE_UINT,
'del_id' => TYPE_ARRAY_UINT)
);
foreach (array_keys($vbulletin->GPC['del_id']) AS $id)
{
$id = intval($id);
$wp_ids["$id"] = $id;
}
unset($id);
$sids = $db->query_read_slave("
SELECT id
FROM " . TABLE_PREFIX . "wp_table
WHERE userid = " . $vbulletin->userinfo['userid'] . "
AND id IN(" . implode(', ', $wp_ids) . ")
");
// build the final array of ids to work with
while ($wp_id = $db->fetch_array($sids))
{
$wp_sids[] = $wp_id['id'];
}
// delete from the pm table using the results from above
$delsql = "DELETE FROM " . TABLE_PREFIX . "wp_table WHERE id IN(" . implode(', ', $wp_sids) . ")";
$db->query_write($delsql);