如何从PHP中获取特定数组数据并将其存储起来

问题描述:

我有这个PHP代码可以从数据库表中选择studentid,并在Project1列中输出值为1的学生。如何从PHP中获取特定数组数据并将其存储起来

 <?PHP 
     include_once("connectionToProjectChoice.php"); 
     /* Check column 1 (Project1) in tbl_studentchoice*/ 
     $check = "SELECT * FROM tbl_studentchoice WHERE Project1 = '1'"; 
     $result = mysqli_query($conn, $check); 

     if ($result->num_rows > 0){ //check 
      $student = array(); 
      while($row = mysqli_fetch_assoc($result)) { 
       $array[$row['studentid']]=$row['Project1']; 
      } 
     } 
     print_r($array); 
     ?> 

结果我到那里是Result

所以我的问题是,是,我可以存储studentname(c125582333)和(c12558242)的方式分开,所以我可以做一个if语句,因为我要对它们进行比较在代码的下一部分。

+1

您的问题不够清楚。你能解释更多吗? – Mojtaba

+0

我想要的是从Project1列中的值为1的数据库表中获取学生的studentid。所以我想要有$ student1 = c12558233和$ student2 = c12558242 –

+0

我回答了你想要的。 – Mojtaba

if ($result->num_rows > 0){ //check 
     $student = array(); 
     while($row = mysqli_fetch_assoc($result)) { 
      $array[] = [ 
        'studentid' => $row['studentid']], 
        'Project1' => $row['Project1'] 
      ]; 
     } 
    } 
    print_r($array); 

它可能更容易建立你的数组不同?

+0

谢谢!你给了我一个主意。所以当我把'echo $ array [0] ['studentid']。“
”;'我得到了第一个学号 –

<?PHP 
     include_once("connectionToProjectChoice.php"); 
     /* Check column 1 (Project1) in tbl_studentchoice*/ 
     $check = "SELECT * FROM tbl_studentchoice WHERE Project1 = '1'"; 
     $result = mysqli_query($conn, $check); 

     if ($result->num_rows > 0){ //check 
      $i = 1; 
      $students = array(); 
      while($row = mysqli_fetch_assoc($result)) { 
       $students['student'.$i++]=$row['studentid']; 
      } 
     } 
     print_r($students); 
     extract($students); //gives you $student1, $student2, ... 
     ?> 
+0

谢谢!发现我需要做什么,但这种方式也很好 –

+0

我不喜欢敲任何人的答案,但我可以看到两个大问题,这将导致未来的并发症。 1)$ students ['student'。$ i ++]这里没有“学生”字符串的原因,只会导致您需要稍后将其移除以用于显示目的或其他任何内容。 2)不要依赖提取物..一个非常好的方便的快捷方式,但防止ide知道“$ student1”来自何处,并且在某些情况下也被证明是安全风险。 – John

+0

@John,我刚刚在问题的评论中与安东尼的请求做了兼容的代码。我从来没有这样编码;) – Mojtaba