vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Display issue (https://vborg.vbsupport.ru/showthread.php?t=210420)

Excalibur82 04-06-2009 02:17 AM

Display issue
 
1 Attachment(s)
I'm having an issue with a mod I'm creating for my site. Right now I have it saving screenshots to the database along with files. When you view the page, it lists the first file in the db twice and since it has 2 screenshots, the first duplicate shows one screenshot, then the second duplicate shows 2 screenshots.

Here is the code:
PHP Code:

$query $db->query_read("SELECT * FROM " TABLE_PREFIX "download AS download 
                          LEFT JOIN " 
TABLE_PREFIX "download_screenshots AS screenshots ON (screenshots.file_id = download.id)");
    while (
$dl $db->fetch_array($query))
        {
            
$id $dl['id'];
            
$version $dl['version'];
            
$name $dl['name'];
            
$size $dl['size'];
            
$description $dl['description'];
            
$username $dl['username'];
            
$userid $dl['userid'];
            
$sid $dl['sid'];
            
$screenshot $dl['sdata'];

            eval(
'$display_shots .= "' fetch_template('bfc_download_screenshot_display') . '";');
            eval(
'$display_bit .= "' fetch_template('bfc_download_bit') . '";');

        }

$navbits = array();
$navbits[$parent] = 'Download :: Index';

$navbits construct_navbits($navbits);

eval(
'$display = "' fetch_template('bfc_download_main') . '";'); 

I have attached a screenshot for you to view.

As you can see from the screenshot, Your Linker.zip is the entry that shows up twice when I have checked the db and it is only in the db once.

Lynne 04-06-2009 02:36 AM

If you are only expecting one result, why aren't you using query_first ? Then you don't need to do your while loop.

Excalibur82 04-06-2009 02:54 AM

Its supposed to be all records from the database. There are screenshots in the database for each file record that need to be pulled and displayed with the file.

The screenshot only shows those 2 entries as thats where my problem is, there are a total of 3 files in the db. All 3 show though, but the first duplicates.

Lynne 04-06-2009 03:53 AM

Each time you go through the loop, you are adding to $display_shots. I assume $display_shots is then used in $display_bit? The first time you go through the loop, you will have one display shot, then the second time, two display shots, then the third time, three display shots, etc. Don't use ".=", use just "=" if you don't want that to happen.

Excalibur82 04-06-2009 04:01 AM

Ok, I tried it, did nothing but make it 1 screenshot per duplicate. So I still have duplicates, same issue with screenshots. Do you need to view any templates or anymore php code?

Dismounted 04-06-2009 04:09 AM

So what is the code you are using now?

Excalibur82 04-06-2009 04:11 AM

I'm using this, only changed what Lynne suggested above.

PHP Code:

$query $db->query_read("SELECT * FROM " TABLE_PREFIX "download AS download 
                          LEFT JOIN " 
TABLE_PREFIX "download_screenshots AS screenshots ON (screenshots.file_id = download.id)");
    while (
$dl $db->fetch_array($query))
        {
            
$id $dl['id'];
            
$version $dl['version'];
            
$name $dl['name'];
            
$size $dl['size'];
            
$description $dl['description'];
            
$username $dl['username'];
            
$userid $dl['userid'];
            
$sid $dl['sid'];
            
$screenshot $dl['sdata'];

            eval(
'$display_shots = "' fetch_template('bfc_download_screenshot_display') . '";');
            eval(
'$display_bit .= "' fetch_template('bfc_download_bit') . '";');

        }

$navbits = array();
$navbits[$parent] = 'Download :: Index';

$navbits construct_navbits($navbits);

eval(
'$display = "' fetch_template('bfc_download_main') . '";'); 


Dismounted 04-06-2009 04:22 AM

What is being displayed? (i.e. provide screenshot)

I'm not really understanding what is duplicating. :p

Excalibur82 04-06-2009 04:32 AM

1 Attachment(s)
Oh guess that would help. lol

I took it down to only 2 entries.

First screenshot is the duplicate entries showing.

Second screenshot is the bottom of the record list showing the last entry that has no screenshot attached to it yet.

Excalibur82 04-07-2009 06:14 PM

Lynne, Dismounted, did you both give up me already? LOL


All times are GMT. The time now is 10:13 PM.

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.01292 seconds
  • Memory Usage 1,753KB
  • 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)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete