Jump to content

Variable not changing when it should - from NULL


simona6

Recommended Posts

if ($rowcats->followersrange == "2000-5000")
    {
    $lowrange2000 = "2000";
    $lowestrange = $lowrange2000;
    $numberpeople = $rowcats->numberpeople;
    }
    if ($rowcats->followersrange == "5000-10000")
    {
    $lowrange5000 = "5000";
    if ($lowrange5000 < $lowestrange) { 
    $lowestrange = $lowrange5000; 
    $numberpeople = $rowcats->numberpeople;}
    }

    if ($rowcats->followersrange == "10000-15000")
    {
    $lowrange10000 = "10000";
    if ($lowrange10000 < $lowestrange) { 
    $lowestrange = "$lowrange10000"; 
    $numberpeople = $rowcats->numberpeople;}
    if ($lowestrange == NULL) { echo "yes";}
    echo "$lowestrange";
    }
    if ($rowcats->followersrange == "15000-20000")
    {
    $lowrange15000 = "15000";
    if ($lowrange15000 < $lowestrange) { $lowestrange = $lowrange15000;$numberpeople = $rowcats->numberpeople;}
    }

We are trying to find the lowest range from the entries added to a database, so at the end, we can say the range is FROM... TO...

They might opt for 2-5k, or 5-10k etc.

If they opt for 10-15k, then the lowest range is 10,000.

We have a result of 10000 - 15000.  So the $lowrange10000 = "10000".

Therefore, this should be echoing the $lowestrange from 7th line up in this code, but it remains at NULL, based on:

$lowestrange = NULL;, set at the top of the code.

Why is that?

Link to comment
Share on other sites

$lowestrange = 50000;
$highestrange = 500;

if ($rowcats->followersrange == "2000-5000")
    {
    $lowrange2000 = "2000";
    $lowestrange = $lowrange2000;
    $numberpeople = $rowcats->numberpeople;
    }
    if ($rowcats->followersrange == "5000-10000")
    {
    $lowrange5000 = "5000";
    if ($lowrange5000 < $lowestrange) { 
    $lowestrange = $lowrange5000; 
    $numberpeople = $rowcats->numberpeople;}
    }

    if ($rowcats->followersrange == "10000-15000")
    {
    $lowrange10000 = "10000";
    if ($lowrange10000 < $lowestrange) { 
    $lowestrange = "$lowrange10000"; 
    $numberpeople = $rowcats->numberpeople;}
    }
    if ($rowcats->followersrange == "15000-20000")
    {
    $lowrange15000 = "15000";
    if ($lowrange15000 < $lowestrange) { $lowestrange = $lowrange15000;$numberpeople = $rowcats->numberpeople;}
    }
    if ($rowcats->followersrange == "15000-20000")
    {
    $lowrange15000 = "15000";
    if ($lowrange15000 < $lowestrange) { $lowestrange = $lowrange15000; $numberpeople = $rowcats->numberpeople;}
    }    

Though it was set to $lowestrange = NULL; before, at the top.

Link to comment
Share on other sites

if all you are doing is mapping input values to output values, don't write out conditional logic for every possible choice. if the input to output mapping doesn't contain any calculable relationship, define a data structure (array, database table) to map the input to the output. for the example values you have shown, wouldn't you just break apart the value at the '-' character and use the first part as the lowest range value?

  • Like 1
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.