Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
282 views
in Technique[技术] by (71.8m points)

PHP duplicate staffID

  • 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

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

1 Reply

0 votes
by (71.8m points)

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...