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 01-22-2005, 06:56 PM
Jolten Jolten is offline
 
Join Date: Mar 2004
Posts: 749
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Stepping through auto-increments one at a time?

Hi all,

Need a little help please.

I've got a table which I insert data into (via a checkbox/submit):

Table:
id ( int(10) auto-increment PRIMARY)
field1
field2
field3 (curdate)
field4 (curdate + inrement)

Values are inserted via admin interaction and can be inserted at any time. Each row of data should only be available to a query once a certain condition is met.

So if I have a query which stated to only pull results if field 2 = (condition) it limits the results.

I'm query this data and displaying 1 record at a time based on the id field. I've got all this worked out.

This is where I need help.....

What I'd like to do is to add some condition to the query or PHP which states to increment the results by id value. Basically, today show the row with the id of 50 then tomorrow show the row with id 51, then the day after show row 52. Does this make any sense? I just want to step through the id fields using data as it's made available. Since the curdate field of the table will contain the date of whenever the information was inserted, I can't use the curdate field to control this.

Any ideas?

None of this is in a loop. It's a script which should always result in 1 result.

Thanks
Reply With Quote
  #2  
Old 01-22-2005, 07:10 PM
Dean C's Avatar
Dean C Dean C is offline
 
Join Date: Jan 2002
Location: England
Posts: 9,071
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hmm I kind of understand what you want but it'd help if you provided a better example
Reply With Quote
  #3  
Old 01-22-2005, 07:37 PM
Jolten Jolten is offline
 
Join Date: Mar 2004
Posts: 749
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Okay. I'm setting a featured image into a table.

This table gets queried and displays the image on the home page.

I want to be able to pick featured images at any time but I do not want the home page image updating immediately after I pick an image. I want to pick 5 images at once then have the query use each image for a day (24 hours).

Something like (and this is just complete guessing)

$dtm=date(Ymd);
$dt = "20050122"; //todays date
while ($results=mysql_fetch_object($query)){

if($dtm ==$dt){

display featured image

}

$dt++
}


BUT, I don't think I need a loop. I could be wrong.

Currently, without a loop, I've got the query working and displaying the last image added to the db table.

Here's what I've got:
Code:
$qrySQL="SELECT field0.*, field1.chrresult, field1.atoconid, field2.intcontid, field2.strimgname, field2.strusrid, field2.strimgtitle 
FROM field0, field1, field2 
WHERE field1.chrresult = 'y'  
AND field2.intcontid = field1.atoconid 
AND field2.strimgname = field0.strimgname 
ORDER BY field0.imgid DESC LIMIT 0,1";

$rs0=$DB_site->query($qrySQL);
$row0=mysql_fetch_object($rs0);
$strusrid=$row0->strusrid;
$strimgname =$row0->strimgname;
$fname="./path/$row0->strimgname";
$intcontid=$row0->intcontid;
$imgTitle=$row0->strimgtitle;
$imgID=$row0->atocontid;
field0.imgid is the auto-increment table I want to step through.

I may have had an epiphany. Could I set a small php loop to increment an integer every 24 hours, set a variable for this and then use that for the where clause in the query?

Not sure how I'd write the incrementing loop but that seems like it might work.
Reply With Quote
  #4  
Old 01-22-2005, 07:59 PM
Dean C's Avatar
Dean C Dean C is offline
 
Join Date: Jan 2002
Location: England
Posts: 9,071
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hmm make an intermediate table:

fimage:
- imageid
- datepicked

When you pick an image, insert it's id and dateline in there. Then on your homepage just have something like:

Code:
SELECT 
        imageid
FROM 
        fimage 
WHERE
        DATEDIFF(current_date, dateline) = 1
LIMIT 
       5
Untested ^^
Reply With Quote
  #5  
Old 01-22-2005, 08:43 PM
Jolten Jolten is offline
 
Join Date: Mar 2004
Posts: 749
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

can you auto-increment a date field in mysql?
Reply With Quote
  #6  
Old 01-22-2005, 09:20 PM
Dean C's Avatar
Dean C Dean C is offline
 
Join Date: Jan 2002
Location: England
Posts: 9,071
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Nope
Reply With Quote
  #7  
Old 01-22-2005, 10:01 PM
Jolten Jolten is offline
 
Join Date: Mar 2004
Posts: 749
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

didn't think so but I did get it sorted

I changed the imgid to auto-increment from 20050122 and then set a variable for the current date ($dt=date(Ymd) in php and simply compared $dt to imgid in the query. This effectively auto-increments the date even though it's not a real date field in mysql.
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 07:18 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.03904 seconds
  • Memory Usage 2,215KB
  • Queries Executed 11 (?)
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_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (7)post_thanks_box
  • (7)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (7)post_thanks_postbit_info
  • (7)postbit
  • (7)postbit_onlinestatus
  • (7)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_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