Connecting Rev stack to On-Rev mySQL DB?
John Patten
johnpatten at mac.com
Fri Mar 26 13:58:17 EDT 2010
Thanks Sarah and Andre!
I figured out the % wildcard for SQL but I like Sarah's irev strategy
too. I'm attempting to modify what Sarah describes to include a
search field on card and a WHERE in the SQL. Having a hard time
getting my head around sending the POST to the irev script so that I
can search by field in SQL and then returning the data to the stack.
Here's where I'm at:
--On the card-
on mouseUp
put cd fld "SearchName" into tTeacher
libUrlFormData("name", tTeacher)
post it to url "http://jpatten.on-rev.com/readDB.irev"
put "http://jpatten.on-rev.com/readDB.irev" into tData
put tData into fld "tempdata"
...
--in the irev file
put $_POST["name"] into tTeacher
( and then everything that Sarah describes below)
My confusion comes from trying to submit two actions to the irev file,
a POST of the card field text and the Open&Query of the database. What
is the proper way to get the text (POST) included as a WHERE in the
irev SQL action?
Hope that made sense.
Thank you!
John Patten
-----------------snip---------------------
Message: 17
Date: Fri, 26 Mar 2010 09:56:57 +1000
From: Sarah Reichelt <sarah.reichelt at gmail.com>
Subject: Re: Connecting Rev stack to On-Rev mySQL DB?
To: How to use Revolution <use-revolution at lists.runrev.com>
Message-ID:
<f99b52861003251656m7537ea7fvf9ffca2a35a2b08e at mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
John, it looks like you are trying to access the database from outside
the server.
By default this is not permitted. There is a way to set up access from
outside, but I don;t remember what it is. Search the list archives as
I think it was discussed a few weeks ago.
The more regular way of connecting is via an irev script file on your
on-rev server.
Here is how I do it:
put this script into an irev file, replace all the *******'s with your
own variables, and upload it to your on-rev site.
<?rev
put "*********" into tDBname
put "*********" into tDBuser
put "*********" into tDBpass
put revOpenDatabase("mysql", "localhost", tDBname, tDBuser, tDBpass)
into tDBconnection
if tDBconnection is not a number then put "Error: could not connect
to database!"
if tDBconnection is a number then
-- query the database, then close it
put "********" into tTableName
put "SELECT * FROM " & tTableName into tSQL
put revDataFromQuery(tab, cr, tDBconnection, tSQL) into tData
revCloseDatabase tDBconnection
put tData
end if
?>
In your Rev stack, use this script (assuming the irev script file is
called "readDB.irev"):
on mouseUp
put "http://myusername.on-rev.com/readDB.irev" into tDBdata
-- now display it
end mouseUp
For further refinements, edit the irev script to take a GET or POST
parameter and apply that in the SELECT statement.
Cheers,
Sarah
More information about the use-livecode
mailing list