vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   makechoosercode (dropdown) - wanting to take dupes out (https://vborg.vbsupport.ru/showthread.php?t=76822)

Benumbed 02-22-2005 06:00 AM

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.

Benumbed 02-23-2005 04:32 PM

No one? :(

Marco van Herwaarden 02-24-2005 05:28 AM

You could try with a "SELECT DISTINCT......"

Benumbed 02-24-2005 03:40 PM

Doesnt work because item buyers, values could/will be different. =\

Revan 02-24-2005 03:56 PM

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;
    }




All times are GMT. The time now is 07:20 AM.

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.01094 seconds
  • Memory Usage 1,733KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (5)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete