The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
![]()
I am stumped and none of my reference manuals are providing much help. I have a script were the default value is used to define how many of an item a user gets when they register on vBulletin.
Previously, I have set this value to a value of "3" with instructions for people that if they wish to change this they can do so by going into phpmyAdmin and updating the default value. Well, I need to fix this and I have the php code written to UPDATE the default value BUT I can not figure out how to query the field to get the default value in PHP so that I can show this value to the Site Admin so that they can make an informed decision about making an update. Specifically, my field is in the vBulletin user table and the field is defined as follows when I add the field: PHP Code:
I also need this to work on MYSQL 4 or newer as I can not predict what version MYSQL my users may have. Thanks for any help or advise even if it is a reference to a page or book with general advise. ---------------------------------------- Edit - I am pretty confident the solution has to do with the MYSQL DEFAULT() function, but I am still struggling to figure out how to make it work inside of a PHP Script using the unique vBulletin code to access the database. http://dev.mysql.com/doc/refman/5.0/...nction_default |
#2
|
|||
|
|||
![]()
Set the column default of something like -1. Then when you fetch the data if the data == -1 then you set the admin default e.g. 3.
|
#3
|
|||
|
|||
![]()
Sorry, you lost me
![]() My issue is that I want to create an AdminCP area that shows somethng like this: Current Default Credits = 3 Update Default Credits to ____ [Submit] The problem is, I am struggling to get the "3" I am pretty sure my solution will be on this page: http://www.php.net/manual/en/functio...etch-field.php Here is what I am fighting with at this moment: PHP Code:
Quote:
Quote:
I changed my code to use the sample from the PHP.net site so it looks like this: PHP Code:
Quote:
Oh yea, I confirmed I have the correct table and it sees the database and field as I edited the null value and refreshed my test script that the non tull value changed from 0 to 1. I tried changing my default value and it still shows as NULL? Some notes as I try to figure this out: $max_length is the length of the longest value for that field in the returned dataset, NOT the maximum length of data that column is designed to hold. |
#4
|
||||
|
||||
![]()
Use "DESCRIBE TABLE " . TABLE_PREFIX . "user" to get information about the table and its columns from that you can see what the default value for your column is.
|
#5
|
|||
|
|||
![]()
I am going to share this as it may help someone else. I never did figure out why the default didn't work per the second reference but I went back to the first one and finally worked out the code to do this.
The following code works! PHP Code:
![]() Edit: sockwater - I cross posted with you as I started to post my fix and was testing before I hit reply so I had the fix before you posted. I am not sure if there is an easier way to get this but this certainly works. I do appreciate the advise and help just the same as this had me stumped for quite a few hours today! |
#6
|
||||
|
||||
![]()
Glad you got it working.
![]() |
#7
|
|||
|
|||
![]()
The default value for a column as set in MySQL will probably not work in many PHP scripts as these tend to provide a value for each column inserted, even if it is just a blank string (ie. ''), so the default is never used as a value was submitted.
But why not just create a vB Setting to let the admin define the default and use this when inserting the rows? |
#8
|
|||
|
|||
![]() Quote:
Well, I don't have a hook off "Add Member" to give credits so the way I have been giving users credits is through the default MYSQL value for the credits field. It works fine like that but some sites want to change the default value and some people don't have access or skill to use myPHPAdmin to update the default value. This may well be a limited use sniped of code, but I tested it on a couple of my sites on different servers and it seems to be working so I am going to try this route for now. This should be a value that is only changed say once at most. I use PHP to update the field attributes and that works fine, the issue was getting what the current setting was and the code above gives me that. |
![]() |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|