Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

  • staff table
    enter image description here

  • code

    <?php
     //db configuration
     $q = "select * from staff";
     $r = mysqli_query($dbc, $q);
     $num_rows = mysqli_num_rows($r);
    
     $staffID = array();
     while($row = mysqli_fetch_array($r, MYSQLI_ASSOC))
     {
         $staffID[] = $row['staffID'];
     }
    
     for($i = 0; $i < $num_rows; $i++)
     {
         if($staffID[$i] == $staffID[$i+1])
         {
             $remark = "Not OK. Multiple staff ID selected.";
             $i++;
         }
         else
         {  
             $remark = "OK.";
         }
         $data[$i] = $staffID[$i].','.$remark.'<br />';
    }
    
    $list = array($data);
    print_r($list);
    ?>
    
  • From above code, I want to check whether the staffID got duplicate.

  • Expected output
    0001, OK.
    0002, Not OK. Multiple staffID.
    0003, OK.
    0004, OK.

  • However, I get another error as below:
    Undefined offset: 5 in play.php on line X.
    How do I solve it?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
288 views
Welcome To Ask or Share your Answers For Others

1 Answer

By performing the correct query in the first place.

SELECT staffID
  FROM staff
  GROUP BY staffID
  HAVING COUNT(staffID) > 1

Or if you need to know about all staff IDs:

SELECT staffID, COUNT(staffID) as qty
  FROM staff
  GROUP BY staffID

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...