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

Reply
 
Thread Tools Display Modes
  #1  
Old 02-22-2005, 06:00 AM
Benumbed Benumbed is offline
 
Join Date: Oct 2004
Posts: 52
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default makechoosercode (dropdown) - wanting to take dupes out

I am doing a modified version of makechoosercode, where it gets the entry's in table "dkp_items".

PHP Code:
// ###################### Start makechoosercode #######################
function print_chooser_row3($title$name$tablename$selvalue = -1$extra ''$size 0$wherecondition '')
{
// returns a combo box containing a list of titles in the $tablename table.
// allows specification of selected value in $selvalue
// checks for existence of $iusergroupcache / $iforumcache etc first...
    
global $DB_site;

    
$tableid 'item_id';
    
$cachename 'i' $tablename 'cache_' .  md5($wherecondition);

    if (!
is_array($GLOBALS["$cachename"]))
    {
        
$GLOBALS["$cachename"] = array();
        
$result $DB_site->query("SELECT item_name, $tableid FROM " TABLE_PREFIX "$tablename $wherecondition ORDER BY item_name");
        while (
$currow $DB_site->fetch_array($result))
        {
            
$GLOBALS["$cachename"]["$currow[$tableid]"] = $currow['item_name'];
        }
        unset(
$currow);
        
$DB_site->free_result($result);
    }

    
$selectoptions = array();
    if (
$extra)
    {
        
$selectoptions['-1'] = $extra;
    }

    foreach (
$GLOBALS["$cachename"] AS $nowitemid => $itemtitle)
    {
        
$selectoptions["$nowitemid"] = $itemtitle;
    }

    
print_select_row($title$name$selectoptions$selvalue0$size);

There will be some items that are in there more than once, will have different item_id's of course. How would I go about modifying that code to where it does not display an itemname more than once.

What happens is this:
When someone adds an item into the database, it adds who bought it, item name, date it was bought etc. So, in other words...someone could have bought the item twice or more than one person could have bought the same item.

When I am adding this in thru a file, I have a drop down of all items bought (this is where the dupes are), and a field to add a new item.
Reply With Quote
  #2  
Old 02-23-2005, 04:32 PM
Benumbed Benumbed is offline
 
Join Date: Oct 2004
Posts: 52
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

No one?
Reply With Quote
  #3  
Old 02-24-2005, 05:28 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You could try with a "SELECT DISTINCT......"
Reply With Quote
  #4  
Old 02-24-2005, 03:40 PM
Benumbed Benumbed is offline
 
Join Date: Oct 2004
Posts: 52
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Doesnt work because item buyers, values could/will be different. =\
Reply With Quote
  #5  
Old 02-24-2005, 03:56 PM
Revan's Avatar
Revan Revan is offline
 
Join Date: Jan 2004
Location: Norway
Posts: 1,671
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You could try looping through the dropdown array and weed out dupes like that,
something like
PHP Code:
$selopts = array();

foreach (
$selectoptions as $key => $val)
{
    if (!
array_key_exists($key$selopts)
    {
         
$selopts[] = $val;
    }

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:13 PM.


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.04489 seconds
  • Memory Usage 2,216KB
  • 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
  • (2)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