The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
||||
|
||||
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:
|
#2
|
|||
|
|||
Quote:
And what happens when that's the case? |
#3
|
||||
|
||||
Hi, thanks for your response.
I dont follow what you mean. Heres an example. Row 'offenses' for ID 4; Team Killing, Spamming, ROE Violations Out of all the checkbox possibilities as displayed with array $a_offenses, only the first value "Team Killing" is checked and not the other 2 in the example using the code posted. Hope that answers your query? Matt |
#4
|
|||
|
|||
Oh, I get it now. I thought you meant some problem was happening if you checked only one box.
Anyway, I think your problem is that explode(',', array) splits by comma but doesn't take away the extra spaces. Try this: PHP Code:
|
#5
|
||||
|
||||
Genius, works like a charm. Thank you, something so simple but so simply overlooked.
Matt |
#6
|
|||
|
|||
Yeah, sometimes it just takes a fresh pair of eyes.
|
#7
|
||||
|
||||
Hi Kh99,
I know its been a while since I had this issue, but I have since been trying using another method. Instead of using the old method: Code:
// 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"); Example: $a_offenses = $db_offenses['list']; Value stored in MYSQL column 'list' is the array eg. "Team Killing, Team Tazing, Team Nading" etc. Now the problem is back again. I removed your first solution to simply: Code:
$offenses = explode(',',$row['offenses']); Eg. Offenses listed in DB; Team Killing, Team Tazing, Rambo Gameplay Checkboxes ticked: Team Killing, Rambo Gameplay So some are missed from the stored values. I looked at how both arrays are stored in the DB and cant see any extra spaces. Can you help? --------------- Added [DATE]1343584787[/DATE] at [TIME]1343584787[/TIME] --------------- Dont worry, forgot to pass both variables through array_map. Thanks once again! |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|