Page 1 of 1
Allow unlimited amount with php
Posted: Sat Aug 06, 2011 2:37 pm
by nite4000
Here is a problem I currently have and would like to find a solution
I have a script and when they create a package they can enter amin amount and max amount now what I wanna do is fine a way to allow an umlimited max amount. but have it read off the db field at the same time.
if anyone has any solutions please let me know
Re: Allow unlimited amount with php
Posted: Sat Aug 06, 2011 3:04 pm
by genix2011
Hi,
not possible, you can just use the biggest numeric datatype in MySQl, the BIGINT, which allows numbers from -9223372036854775808 to 9223372036854775807.
Even if there was a way to get more than that (LONGBLOB, LONGTEXT), unlimited is just impossible, because you have only limited space.
LONGTEXT can save 0-4294967295 chars
LONGBLOB can save 0-4294967295 bytes
So you'll have to set a limit somewhere.
Greets.
Re: Allow unlimited amount with php
Posted: Sat Aug 06, 2011 3:45 pm
by nite4000
strange becuz i know on goldcoders script they have unlimited option but i am not sure how they do the database i guess its worth checking into to see if i can mimic thanks for the reply
Re: Allow unlimited amount with php
Posted: Sat Aug 06, 2011 7:23 pm
by twinedev
Well, depends on how you are wanting to read from the database, are you reading in the packages and then comparing data to the package, or do you have a package, and you trying to find data in the database that fits within the package?
Basically what I would would be set it so a maximum of -1 = unlimited (assuming you do not need negative values).
Then, if you are comparing something entered to the package, use:
Code: Select all
$aryPlan = mysql_fetch_assoc($rsPlans); // Or whatever to you use to get plans from DB
if ($intUserValue >= $aryPlan['MinValue'] && ($aryPlan['MaxValue'] == -1 || $intUserValue <= $aryPlan['MaxValue'])) {
echo "You are withing parameters, sir!\n";
}
else {
echo "You are out of scope... Try again!\n";
}
But if you have a values for the min/max of a plan, and are wanting to search for matching records that fit within that plan:
Code: Select all
$intPlanMin = 50; // Set to the plan's minimum
$intPlanMax = 500; // Set to plan's maximum, which would be -1 if there is no maximum
$SQL = 'SELECT * FROM tblAccounts WHERE (PlanValue >= ' . $intPlanMin;
if ($intPlanMax > -1) {
$SQL .= ' AND PlanValue <= ' . $intPlanMax;
}
$SQL .= ') AND OtherConditions = "go here" ORDER BY PlanID ';
$rsAccounts = mysql_query($SQL);
if ($rsAccounts && mysql_num_rows($rsAccounts) > 0) {
while ($aryAccount = mysql_fetch_assoc($rsAccounts)) {
// Do something with this row which is in $aryAccount
}
mysql_free_result($rsAccounts);
}
unset ($rsAccounts);
And lastly, if you have a users value, and you are wanting to find plans that this value fits within:
Code: Select all
$intUserValue = 45; // Actual user value, 0 - whatever
$SQL = 'SELECT * FROM tblPlans WHERE MinValue <= ' . $intUserValue . ' AND (MaxValue = -1 OR MaxValue >= '.$intUserValue .')';
$rsPlans = mysql_query($SQL);
if ($rsPlans && mysql_num_rows($rsPlans)>0) {
while ($aryPlan = mysql_fetch_assoc($rsPlans)) {
// Do something with this row which is in $aryPlan
}
mysql_free_result($rsPlans);
}
unset ($rsPlans);