Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 04-26-2012, 12:33 AM
wpeloquin wpeloquin is offline
 
Join Date: May 2006
Location: Behind you...
Posts: 143
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Multiple delete checkbox

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);
Reply With Quote
  #2  
Old 04-26-2012, 06:33 AM
Badshah93 Badshah93 is offline
 
Join Date: Jun 2010
Location: India
Posts: 505
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Replace this


PHP Code:
$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); 
with this

PHP Code:
// delete from the pm table using the results from above
$delsql "DELETE FROM " TABLE_PREFIX "wp_table WHERE id IN(" implode(', '$wp_ids) . ") AND userid = " $vbulletin->userinfo['userid'] . "";
$db->query_write($delsql); 
Reply With Quote
  #3  
Old 04-26-2012, 07:38 PM
wpeloquin wpeloquin is offline
 
Join Date: May 2006
Location: Behind you...
Posts: 143
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That is what i originally had and it was not working. That's why I looked up the private.php method, and it seemed to take a few more steps than what i really needed, but I did a copy anyways and it still wasn't working. I triple checked my syntax and found the error in my template. I still cannot believe i did not find this after my first check before posting this thread, but hopefully it will help someone else.

Much thanks Sherif

Apparently the template was:
Code:
<input type="checkbox" name="del[{vb:raw list.id}]" id="del[{vb:raw list.id}]" value="{vb:raw list.id}" />
Instead of:
Code:
<input type="checkbox" name="del_id[{vb:raw list.id}]" id="del_id[{vb:raw list.id}]" value="{vb:raw list.id}" />
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 08:57 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06682 seconds
  • Memory Usage 2,188KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (4)bbcode_code
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete