View Single Post
  #1  
Old 06-10-2012, 02:47 PM
m002.p's Avatar
m002.p m002.p is offline
 
Join Date: Jan 2007
Location: Worcester
Posts: 240
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Retrieving checkbox values from MYSQL

Hello everyone.

I am tearing my hair out with this one and I sort of know the reason why it wont work, being a loop issue but I cant see where I am going wrong.

I have checkboxes as seen in the $a_offenses array. I want the script to check the MYSQL table row 'offenses' which contains an array of those selected checkboxes in the format 'VALUE 1, VALUE 2, VALUE 4, VALUE 6' for example.

The problem comes where the first value eg. VALUE 1 is ticked in the list of checkboxes but the others are not and left unchecked.

Any ideas?

PS - The $c counter is used to ensure only 3 checkboxes are displayed per row ie. formatting only nothing else

Thanks in advance.

Matt

PHP Code:
// Query DB
$query mysql_query("SELECT offenses FROM reports WHERE id='$id'");
// Get ROW
$row mysql_fetch_array($query);

// Store all checkboxes as array
$a_offenses = array("Team Killing""Team Tazing""Team Nading""Team Peppering""Team Injuring""Insulting Players""Insulting Admins""Insulting Clan Members"
"Tag Stealing""Cheating / Hacking""Disallowed Name""Inappropiate Language""Spamming""Advertising / Recruiting""Rambo Gameplay""Random Shooting" "ROE Violations"
"Use of Non-English""Dropping as VIP""Spawn Killing""Camping""Injuring / Killing VIP""Injuring / Killing Civilians");

// Explode stored checkboxe values from DB selected
    
$offenses explode(',',$row['offenses']);

 
$c 0;
  foreach (
$a_offenses as $offense) {
 
$c++;
 
        if(
in_array($offense,$offenses)) 
    {
        if(
$c == 0)
        {
                  echo 
"<tr><td><input name=\"offenses[$c]\" type=\"checkbox\" value=\"$offense\" checked> $offense</td>";
        }
        else
        {
            echo 
"<td><input name=\"offenses[$c]\" type=\"checkbox\" value=\"$offense\" checked> $offense</td>";
        }
        } 
    else
        {
              if(
$c == 0)
        {
                  echo 
"<tr><td><input name=\"offenses[$c]\" type=\"checkbox\" value=\"$offense\"> $offense</td>";
        }
        else
        {
            echo 
"<td><input name=\"offenses[$c]\" type=\"checkbox\" value=\"$offense\"> $offense</td>";
        }
        }
              } 
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01219 seconds
  • Memory Usage 1,795KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete