samedi 7 novembre 2015

How to avoid if / elseif repetition?

I'm creating little statistics, but got problem.. I have fish , rig , bait and line info from database.

And I want to check every possible variations with this information. My code looks like this:

if ((isset($_SESSION['fish_id'])) && (isset($_SESSION['rig_id'])) && (isset($_SESSION['bait_id'])) && (isset($_SESSION['line_id']))) {

   echo '<img class="img-responsive" src="../assets/img/choose_fish.png">';
   echo '<div class="list-notes"> <ul> <li class="name">';
   echo 'FISH , RIG , BAIT , LINE';
   echo '</li></ul></div>';

} elseif ((isset($_SESSION['fish_id'])) && (isset($_SESSION['rig_id'])) && (isset($_SESSION['bait_id'])) && (!isset($_SESSION['line_id']))) {

   echo '<img class="img-responsive" src="../assets/img/choose_fish.png">';
   echo '<div class="list-notes"> <ul> <li class="name">';
   echo 'FISH , RIG , BAIT , *LINE*';
   echo '</li></ul></div>';

} elseif ((isset($_SESSION['fish_id'])) && (isset($_SESSION['rig_id'])) && (!isset($_SESSION['bait_id'])) && (isset($_SESSION['line_id']))) {

   echo '<img class="img-responsive" src="../assets/img/choose_fish.png">';
   echo '<div class="list-notes"> <ul> <li class="name">';
   echo 'FISH , RIG , *BAIT* , LINE';
   echo '</li></ul></div>';

} elseif ((isset($_SESSION['fish_id'])) && (!isset($_SESSION['rig_id'])) && (isset($_SESSION['bait_id'])) && (isset($_SESSION['line_id']))) {

   echo '<img class="img-responsive" src="../assets/img/choose_fish.png">';
   echo '<div class="list-notes"> <ul> <li class="name">';
    echo 'FISH , *RIG* , BAIT , LINE';
   echo '</li></ul></div>';

} ((!isset($_SESSION['fish_id'])) && (isset($_SESSION['rig_id'])) && (isset($_SESSION['bait_id'])) && (isset($_SESSION['line_id']))) {

   echo '<img class="img-responsive" src="../assets/img/choose_fish.png">';
   echo '<div class="list-notes"> <ul> <li class="name">';
   echo '*FISH* , RIG , BAIT , LINE';
   echo '</li></ul></div>';

}

After that I need to check if fish is not set and rig is not set.. and so on..

How can I avoid this repetition?

Aucun commentaire:

Enregistrer un commentaire