vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   SQL Query based on last 48 hours? (https://vborg.vbsupport.ru/showthread.php?t=178131)

Marco van Herwaarden 05-07-2008 08:21 AM

Quote:

Thanks for the help but that bit of code gives me the error
Please post the entire part of the code where this query is executed and the rows are read.

PhilMcKrackon 05-07-2008 09:48 AM

Quote:

Originally Posted by Eikinskjaldi (Post 1511242)
"timecolumn" is whatever field in your database contains the dateline data

its kicking an error because you dont actually have a field called "timecolumn"


It looks like your field is called dateline, so the sql is

[sql]
SELECT linkid,linkurl FROM adv_links
ORDER by linkid ASC
WHERE unix_timestamp() - dateline <= 3600*48
[/sql]

That was my fault, I posted the code before I had edited it. Here is the code that I used and I still get the invalid MYSQL result resource in the fetch_array.

PHP Code:

//$urls = mysql_query("SELECT linkid,linkurl FROM adv_links ORDER by linkid ASC");
$urls mysql_query("SELECT linkid,linkurl FROM adv_links ORDER by linkid ASC WHERE unix_timestamp() - dateline <= 3600*48");
while (
$urlrow mysql_fetch_array($urls)) {
fwrite($file," ");
fwrite($file$urlrow[1]);
fwrite($file" | "); 
fwrite($file," ");
fwrite($file$urlrow[0]);
fwrite($file," \n");
}
fclose($file); 
?> 

And the error
Quote:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/*****/public_html/pagevisD.php on line 13
I'm wondering if I have the edquotes in the wrong postion? The commented '//' out line is the original query line that works. I made sure that there was new data in the table during the last 48 hours so that the query should always yield a result. If I add 'dateline' to the query and add a fwrite for $urlrow[2] the date in the table is written to the file so dateline is the correct field.

Quote:

Please post the entire part of the code where this query is executed and the rows are read.
Marco, I used the same code above with the SQL query you supplied.

Thanks,

Marco van Herwaarden 05-07-2008 10:00 AM

PHP Code:

$urls mysql_query("SELECT linkid,linkurl FROM adv_links ORDER by linkid ASC WHERE dateline > " . (TIMENOW - (24 60 60))); 
while (
$urlrow mysql_fetch_array($urls)) { 
fwrite($file," "); 
fwrite($file$urlrow[1]); 
fwrite($file" | ");  
fwrite($file," "); 
fwrite($file$urlrow[0]); 
fwrite($file," \n"); 

fclose($file);  
?> 

Should work, providing that you have a valid MySQL database connection. (maybe post the entire script).

PhilMcKrackon 05-07-2008 10:18 AM

Thanks again but I still get the same error. I'm sure the DB connection is good as I can use the original query with no problems. I'm going to post the entire code also. Sorry to be of so much trouble.
Quote:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/*****/public_html/pagevisE.php on line 13
PHP Code:

<?php
#!/usr/lib/php
// Creates Text Input for PageVisualize
$host "localhost";
$mysql_user "*****";
$mysql_password "*****";
$sdatabase "******";
$slink mysql_connect("$host""$mysql_user""$mysql_password") or die('Database Connection Failed. Wait a moment.');
mysql_select_db ("$sdatabase"$slink);
$file fopen("TestPhpD.txt""w");
//$urls = mysql_query("SELECT linkid,linkurl FROM adv_links ORDER by linkid ASC");
$urls mysql_query("SELECT linkid,linkurl FROM adv_links ORDER by linkid ASC WHERE dateline > " . (TIMENOW - (24 60 60)));
while (
$urlrow mysql_fetch_array($urls)) {
fwrite($file," ");
fwrite($file$urlrow[1]);
fwrite($file" | ");
fwrite($file," ");
fwrite($file$urlrow[0]);
fwrite($file," \n");
}
fclose($file);
?>


Marco van Herwaarden 05-07-2008 10:48 AM

Lol, mistake (in all these examples!!) you get by editing code and not read good what the result is.

The following is valid:
PHP Code:

$urls mysql_query("SELECT linkid,linkurl FROM adv_links WHERE dateline > " . (time() - (24 60 60)) . " ORDER by linkid ASC"); 

- ORDER must be after the WHERE clause (can't believe everyone, including myself, made this same mistake)
- TIMENOW is only defined within a vBulletin environment, so replace by time()

PhilMcKrackon 05-07-2008 10:57 AM

Sucess! I was not aware that ORDER must always follow WHERE. I thank you ALL very much!

Regards,


All times are GMT. The time now is 05:44 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.01198 seconds
  • Memory Usage 1,754KB
  • 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
  • (4)bbcode_php_printable
  • (5)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)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