The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
PHP/Mysql Help
HI Guys,
Due to the Amount of help i got with the first stage of this script, i would like some assistance with the second/final stage. What i have is a DB with over 268,000 entries into it, each one containing a word and it's definition. (AKA the whole English dictionary) What i am doing is going to create the AIML (Artificial intelligence Mark-up language) so that i can "teach" this knowledge to my artificially intelligent chat bot. I have written the AIML and need a sort of Mail Merge script that will replace each existence of {word} and {definition} with the appropriate information in the DB. Here is the AIML i have written, i have given a simple version for the moment; Code:
<category> <pattern>what does {word} mean?<pattern> <template>{word} means {definition}</template> </category> <category> <pattern>What is the meaning of {word}<pattern> <template>{word} means {definition}</template> </category> Once each record has been done and exported it should set a sort of "flag" next to that record in the DB so the same thing isnt exported twice. I appreciate that this probably isnt a small project so i will see what i can offer you in exchange for your expertise Thanks. Matthew |
#2
|
|||
|
|||
You want to export data from ALL the rows in a db table into ONE file, right?
Quote:
You'll use a MySQL query like this: SELECT... INTO OUTFILE '/path/from/root/filename.ext' Code:
SELECT '<category>\n<pattern>What is the meaning of ', field1, '<pattern>\n<template>', field1,' means ',field2,'</template>\n</category>\n\n' INTO OUTFILE '/path/from/root/filename.AIML' Does a "forward slash" belong in the second <pattern> tag ??? Since it's just a query & doesn't have to echo anything to a browser, it'll run extremely fast. No need to chop it into multiple passes; the query will probably only take about 30-40 seconds to complete 286,000 rows. At that point, you'll just go retrieve the output file from whatever directory you told MySQL to write it to. Prior to running the "full version" you might want to test the output & verify that the data will be in the "desired format". Here's an example query to use in order to check: Code:
SELECT '<category>\n<pattern>What is the meaning of ', field1, '<pattern>\n<template>', field1,' means ',field2,'</template>\n</category>\n\n' LIMIT 2; This assumes you're on a unix server. If you're running on a Windows server, you'll need to use \r\n for the linebreak character. Hmm... I just checked the "formatting" using this query against our vbb.thread table: Code:
select '<hello>',trim(threadid),'</hello>\r',trim(title),' </JUSTanENDtag>\r\r' from post limit 5 INTO outfile '/backup/helo.txt'; So, your output file may need to be tweaked in a text editor using search/replace before you use it as an AIML file. You might want to search/replace multiple spaces with a single space, and search/replace to remove the tailend space between the "word" and the closing "pattern" tag. |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|