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-30-2004, 06:23 PM
Tekton Tekton is offline
 
Join Date: Jun 2004
Location: Wisconsin
Posts: 362
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Help with mysql php update

Hiya. Basically what I'm trying to do now is grab a

$upstck = $DB_site->query("SELECT stock FROM user");

What is being grabbed is a string and I need to split it, grab the first two chars, change the next two to 00, and then grab the rest, combine it and put it back :P

So for '12345678', I'd need to grab '12' as the first, '34' and change it to '00' and then grab whatever is left over and throw it all back together and get '12005678'

I'm totally lost or baffled by what I'm trying to do atm. This is for like 40,000 things, not just one btw. :P :ermm:
Reply With Quote
  #2  
Old 08-30-2004, 06:35 PM
Colin F's Avatar
Colin F Colin F is offline
 
Join Date: Jul 2004
Location: Switzerland
Posts: 1,551
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK, so you'll have to run through all those 40'000 things with a while() clause:

while($stock = $DB_site->fetch_array($upstck))
{


Then, parse the string:
fetch the first two chars:

$firstpart = substr($stock[stock],0,2);

fetch the last part

$lastpart = substr($stock[stock],4);

and put it all together:

$wholething = $firstpart . "00" . $lastpart;

all together that makes this:

PHP Code:
$upstck $DB_site->query("SELECT stock FROM user");
while(
$stock $DB_site->fetch_array($upstck))
{
$firstpart substr($stock[stock],0,2);
$lastpart substr($stock[stock],4);
$wholething $firstpart "00" $lastpart;
//here's the place


now I don't know what you want to do with the data, but do whatever you want where I placed the comment.
Reply With Quote
  #3  
Old 08-31-2004, 12:14 AM
Tekton Tekton is offline
 
Join Date: Jun 2004
Location: Wisconsin
Posts: 362
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Then would something like this put them all back in their right spots?

$DB_site->query("UPDATE user SET stock = '$wholething'");

That'd get them all back where they are supposed to be? =/

or perhaps I'd need to take another field like userid to make sure they all match back up?
Reply With Quote
  #4  
Old 08-31-2004, 03:41 AM
Tekton Tekton is offline
 
Join Date: Jun 2004
Location: Wisconsin
Posts: 362
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, I'm pretty sure what I just said is bad. So how do I set it correctly? :P
Reply With Quote
  #5  
Old 08-31-2004, 03:44 AM
Colin F's Avatar
Colin F Colin F is offline
 
Join Date: Jul 2004
Location: Switzerland
Posts: 1,551
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

exactly, you need another field (like userid) to only update the one you changed (and not all of them).

$DB_site->query("UPDATE user SET stock = '$wholething' WHERE userid = $stock[userid]");

you'll also have to fetch the userid first, making it all together:

PHP Code:
$upstck $DB_site->query("SELECT userid,stock FROM user"); 
while(
$stock $DB_site->fetch_array($upstck)) 

$firstpart substr($stock[stock],0,2); 
$lastpart substr($stock[stock],4); 
$wholething $firstpart "00" $lastpart
$DB_site->query("UPDATE user SET stock = '$wholething' WHERE userid = $stock[userid]");

Reply With Quote
  #6  
Old 08-31-2004, 04:46 AM
Tekton Tekton is offline
 
Join Date: Jun 2004
Location: Wisconsin
Posts: 362
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ah, worked. You're my php/mysql hero Colin! :P
Reply With Quote
  #7  
Old 08-31-2004, 05:09 AM
Colin F's Avatar
Colin F Colin F is offline
 
Join Date: Jul 2004
Location: Switzerland
Posts: 1,551
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Glad to have helped
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 02:03 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04295 seconds
  • Memory Usage 2,223KB
  • 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
  • (7)post_thanks_box
  • (7)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (7)post_thanks_postbit_info
  • (7)postbit
  • (7)postbit_onlinestatus
  • (7)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