Thread: PHP/Mysql Help
View Single Post
  #2  
Old 03-15-2003, 09:09 PM
sparky2 sparky2 is offline
 
Join Date: Jul 2002
Posts: 31
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You want to export data from ALL the rows in a db table into ONE file, right?
Quote:
<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>
If that's the case, and you are comfortable executing queries from the MySQL commandline (or you have mysqladmin installed) you can just run a query to achieve the export -- you won't even need to wrap it in a PHP script.

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'
I marked up verbatim what you posted.
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 will just echo 2 rows worth of output to your commandline ---------^

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';
...and the trim() isn't helping.
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.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01174 seconds
  • Memory Usage 1,768KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_code
  • (1)bbcode_quote
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete