Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 08-13-2002, 11:39 PM
php-resource.de's Avatar
php-resource.de php-resource.de is offline
 
Join Date: Jun 2002
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default How can change all the Domainname to the New Domainname with only one SQL-Query?

how can i change LINKs in my POSTs table?

I just moved to new domain and some links on the board are linked to the wrong Domainname.

How can change all the Domainname to the New Domainname with only one SQL-Query?

Thanks 4 you help
Berni
Reply With Quote
  #2  
Old 08-14-2002, 06:56 PM
tHE DSS's Avatar
tHE DSS tHE DSS is offline
 
Join Date: Jun 2002
Location: UK
Posts: 113
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Not with a single SQL query, I don't think that possible... but, bring some PHP into the equation, and it's perfectly possible, without pretty much lifting a finger.

I will be wanting to do somthing very similar soon myself, so I thought now about right to try to right a script for the job.

I haven't actually tested this script on a database yet, but i've tested the script out pretty much... just not with a connection to a database.

Try it out, but have a database backup before... you MUST backup your database FIRST.

Anyway, this is the general idea :

PHP Code:
<?php

require('./global.php');

$oldDomainName "www.old_domain.com";
$newDomainName "www.new_domain.com";

$getPosts $DB_site->query("SELECT postid,pagetext FROM post ORDER BY postid ASC");
$num_rows $DB_site->num_rows($getPosts);
echo 
"$num_rows Posts Retrieved...";
$rows_updated 0;
if (!
$num_rows <=0) {
    while (
$row $DB_site->fetch_array($getPostsMYSQL_ASSOC)) {
        if (
preg_match ("/$oldDomainName/i"$row[pagetext])) {
            
$newPageText preg_replace ("'$oldDomainName'i"$newDomainName$row[pagetext]);
            
$DB_site->query("UPDATE post SET pagetext='" addslashes($newPageText) . "' WHERE postid=$row[postid]");
            
$rows_updated++;
        }
    }
    echo 
"$rows_updated Posts Updated";
} else {
    echo 
"No Posts Found In Table";
}
$DB_site->free_result($getPosts);

?>
... substitute the $oldDomainName with your old domain name, and the same with $newDomainName, with your new domain name.

Exectute the script from within your FORUMS root, and just wait for it to end, and the changes should have happend.

I would recommend trying this on a "non-live" server first... like, if you have a copy of your forums on your computer (intranet).

Let me know.
Reply With Quote
  #3  
Old 08-14-2002, 07:04 PM
php-resource.de's Avatar
php-resource.de php-resource.de is offline
 
Join Date: Jun 2002
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks for your Help.
but i'm looking for a SQl-Query. I know that it is possible with only one query, i just don't know the right expression.

Update table set feld = reg(blalblbl) ....

Thanks agin
Berni
Reply With Quote
  #4  
Old 08-15-2002, 08:51 PM
tHE DSS's Avatar
tHE DSS tHE DSS is offline
 
Join Date: Jun 2002
Location: UK
Posts: 113
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've been speaking with an SQL guru... and he's not sure it's possible with usual SQL.
Reply With Quote
  #5  
Old 08-15-2002, 08:53 PM
php-resource.de's Avatar
php-resource.de php-resource.de is offline
 
Join Date: Jun 2002
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

i know it is.
I saw it on www.vbulletin.com or in this forum.
But i just can't remember me where it was

thanks
berni
Reply With Quote
  #6  
Old 08-15-2002, 09:45 PM
tHE DSS's Avatar
tHE DSS tHE DSS is offline
 
Join Date: Jun 2002
Location: UK
Posts: 113
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'll take your word for it.

Hope somone gives up the link... i'd like a single query to do this.
Reply With Quote
  #7  
Old 08-15-2002, 09:48 PM
php-resource.de's Avatar
php-resource.de php-resource.de is offline
 
Join Date: Jun 2002
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

if i find the solution i will drop you an Email.

cu
berni
Reply With Quote
  #8  
Old 08-16-2002, 08:39 AM
Lesane's Avatar
Lesane Lesane is offline
 
Join Date: Oct 2001
Location: The Netherlands
Posts: 1,149
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Wich field do you want to update in the post table? Title Or Pagetext?

If pagetext then you could use something like this:

PHP Code:
UPDATE post SET pagetext REPLACE(pagetext'http://www.oldurl.com''http://www.newurl.com'); 
This replaces all 'http://www.oldurl.com' to 'http://www.newurl.com' in the field 'pagetext' of the table 'post'.
Reply With Quote
  #9  
Old 08-16-2002, 08:41 AM
php-resource.de's Avatar
php-resource.de php-resource.de is offline
 
Join Date: Jun 2002
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks!!!!
100% the solution i was looking for

thanks again
Berni
Reply With Quote
  #10  
Old 08-16-2002, 04:03 PM
tHE DSS's Avatar
tHE DSS tHE DSS is offline
 
Join Date: Jun 2002
Location: UK
Posts: 113
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Excellent!!
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:37 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.07550 seconds
  • Memory Usage 2,256KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete