Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 01-06-2006, 08:21 PM
Lionel Lionel is offline
 
Join Date: Dec 2001
Location: Delray Beach, Florida
Posts: 3,277
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default How to prevent empty array values in serialization?

I have six textboxes on a page.

For the db insert I do

PHP Code:
$preddata1 serialize((is_array($_POST['predminutes1']) ? $_POST['predminutes1']: array())); 
and I insert $preddata1.

Results inserted in db are as below

PHP Code:
 a:6:{s:10:"0000000031";s:2:"25";s:10:"0000000032";s:0:"";s:10:"0000000033";s:2:"35";s:10:"0000000034";s:0:"";s:10:"0000000035";s:0:"";s:10:"0000000036";s:0:"";} 
As you can see the array only has 2 values "25" and "35".

How can I prevent the other empty values to be recorded?
Reply With Quote
  #2  
Old 01-07-2006, 11:17 AM
akanevsky akanevsky is offline
 
Join Date: Apr 2005
Posts: 3,972
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Unset empty array items?
Reply With Quote
  #3  
Old 01-07-2006, 12:28 PM
Lionel Lionel is offline
 
Join Date: Dec 2001
Location: Delray Beach, Florida
Posts: 3,277
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

how would i do that?

This is the full code
PHP Code:
if (!empty($_POST['predminutes1'])){
$keys1 array_keys($_POST['predminutes1']);
if (!empty(
$_POST['predplayer1'])){
$keys2 array_keys($_POST['predplayer1']); 
$diff array_diff($keys1$keys2);
if(
count($diff) > 0) {
eval(
print_standard_error('error_invalidpenalty1'));
}
}

Of course this is getting messed up since I am getting all the empties in $keys1 which only has 2 values

Here is a print out of results. First line is $keys1 second is $keys2 and third is $diff


PHP Code:
Array ( [0] => 0000000031 [1] => 0000000032 [2] => 0000000033 [3] => 0000000034 [4] => 0000000035 [5] => 0000000036 
Array ( [
0] => 0000000034 [1] => 0000000036 
Array ( [
0] => 0000000031 [1] => 0000000032 [2] => 0000000033 [4] => 0000000035 
All I want to say is that if the textbox($keys1) next to a checkbox($keys2) is empty (both have the same $playerid as key), eval the error.
Reply With Quote
  #4  
Old 01-07-2006, 03:31 PM
filburt1 filburt1 is offline
 
Join Date: Feb 2002
Location: Maryland, US
Posts: 6,144
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

PHP Code:
foreach ($array as $key => $value)
{
    if (empty(
$value) and $value !== and $value !== false)
    {
        unset(
$array[$key]);
    }

Reply With Quote
  #5  
Old 01-07-2006, 03:40 PM
Lionel Lionel is offline
 
Join Date: Dec 2001
Location: Delray Beach, Florida
Posts: 3,277
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks filburt1. Finally that is getting somewhere.
Reply With Quote
Reply

Thread Tools
Display Modes

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 01:24 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03713 seconds
  • Memory Usage 2,212KB
  • Queries Executed 13 (?)
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
  • (5)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)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_postinfo_query
  • fetch_postinfo
  • 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