Shawn, 
 
Just wanted to let you know your help was appreciated.  I'm close to getting it 
straight.  Away from my console for the day so I won't know till later.  However, 
while I did figure out the correct variable and query name, there is about 20 other 
lines of code that needed adjusting to make it work :).
The generated code can be daunting, especially when it's not commented or documented.  
Lots of activity! 
Anyway, I'm now reading up on PHP, and while I'll continue using code generators where 
it makes sense, at least I'll have a better approach when necessary for manual editing.
In regards to the other thread about checking the input, the code seems to be written 
well with lots of checks and guards for added security.
 
Stuart

[EMAIL PROTECTED] wrote:
Don't do an "@usrDays", just stick the number in there so that the 
statement you create looks exactly like the one you tested with.

If you get a "number" from a user from a form, just put that value into 
the string. For instance if the user enters 43 into a field on the first 
page, put 43 into the query. 

Let's imagine that you get the value 43 into a variable (off of the 
request) called $daterange...
and let's imagine that you build your query into a variable called $query

I think this is how you would build the correct query (my PHP is rusty):

$query = "SELECT DateEntry from Entry_table WHERE DateEntry >= 
DATE_SUB(CURDATE(), INTERVAL ". $daterange." day)";

See? Pretend you are a typist and BUILD the string as you want it 
executed. Then do it.

Shawn Green
Database Administrator
Unimin Corporation - Spruce Pine

Stuart Felenstein wrote on 09/13/2004 03:35:35 PM:

> Shawn - You answered the right question. Since a SQL
> statement is closer to my grasp right now , today,
> trying that approach. 
> 
> I think this is something close to correct, though I'm
> stuck on what to assign to @usrDays:= 
> 
> SELECT DateEntry from Entry_Table,
> WHERE DateEntry >= DATE_SUB(CurDate(), Interval
> @usrDays:= day ) 
> 
> I'll continue to bang away , eventually I should get
> it. 
> 
> Stuart
> --- [EMAIL PROTECTED] wrote:
> 
> > Stuart, 
> > 
> > I feel you pains. I think I can speak for most of us
> > to say "we've been 
> > there, too"
> > 
> > First, You want to try to keep your column values
> > on the LEFT side of any 
> > inequality. MySQL just goes faster that way.
> > 
> > SELECT ....
> > WHERE EntryDate >= DATESUB(CurDate(),
> > Interval 2 day )
> > 
> > About using a variable for your date value, you have
> > two options. First, 
> > you could just modify your PHP code to stick a
> > number into the correct 
> > place of your SQL statement:
> > 
> > $querystring = "SELECT .... WHERE EntryDate >=
> > DATESUB(CurDate(), Interval 
> > ". $daysdiff ." day )"
> > 
> > Or you can create SQL statement that sets a MySQL
> > variable that contains 
> > the # of days you want to subtract then use that
> > variable in your WHERE 
> > clause. Either way you are combining the value you
> > get from the user-entry 
> > field and using it to create a valid SQL statement. 
> > Personally, I would 
> > do the first. (my logic: I don't need the variable
> > except to use it in the 
> > very next statement and if I have to merge values
> > and text once, anyway, 
> > why not just put the correct value into my original
> > query)
> > 
> > Please let me know if I answered the wrong question,
> > OK?
> > 
> > Shawn Green
> > Database Administrator
> > Unimin Corporation - Spruce Pine
> > 
> > 
> > 
> > Stuart Felenstein wrote on
> > 09/13/2004 11:54:02 AM:
> > 
> > > Shawn, partially discourage but mostly confused
> > about
> > > what I really need to do.
> > > 
> > > Bear in mind for a moment, that I'm working in a
> > > somewhat untradional manner. Meaning a) very new
> > to
> > > database and SQL b) (and i realize this list is
> > not
> > > for programming languages) using a RAD that allows
> > me
> > > to point, click and insert , where it's magically
> > > transformed into code.
> > > 
> > > So back to what I'm trying to accomplish. I want
> > a
> > > way for the user to be allowed to choose from what
> > > point in the timeline records will be returned in
> > a
> > > search. i.e. from 30 days or less, 15 days or
> > less, 2
> > > days or less, etc.
> > > 
> > > Now, if I run this query against the
> > > entry_table.entry_date_column
> > > 
> > > select EntryDate from EntryTable
> > > where Date_Sub(Curdate(), interval 2 day) <=
> > EntryDate
> > > 
> > > life is good. I get the records returned just the
> > way
> > > I want. They key though is the 2 (after interval)
> > as
> > > I want that number to be a variable. 
> > > 
> > > That is why I created the table that has values of
> > 1,
> > > 2 , 15, 30, etc). I thought if I could use those
> > > values, in either a case statement (probably not
> > with
> > > 4.0.20) or an "if statement" , well magic would
> > happen
> > > ;)
> > > 
> > > I hope I explained it better this time.
> > > Apologies for the confusion.
> > > Stuart
> > > --- [EMAIL PROTECTED] wrote:
> > > 
> > > > Were you able to solve you problem another way
> > or
> > > > just discouraged by my 
> > > > response? I wasn't trying to make you feel bad,
> > you
> > > > just covered so much 
> > > > ground in your original post that I really
> > couldn't
> > > > understand your issue. 
> > > > Please, post again but with a little more 
> > > > background. 
> > > > 
> > > > We all want to help but we aren't there looking
> > over
> > > > your shoulder so we 
> > > > can't see everything you see. We just need a
> > little
> > > > help to visualize your 
> > > > problem, OK?
> > > > 
> > > > Respectfully,
> > > > 
> > > > Shawn Green
> > > > Database Administrator
> > > > Unimin Corporation - Spruce Pine
> > > > 
> > > > Stuart Felenstein wrote on
> > > > 09/13/2004 11:09:59 AM:
> > > > 
> > > > > Ok, never mind . I guess a conditional loop
> > is
> > > > not
> > > > > needed.
> > > > > 
> > > > > 
> > > > > Stuart
> > > > 
> > > 
> > 
> 

Reply via email to