2017-06-17 108 views
0

我正在從列中提取數據,並希望將其存儲在一個數組中,並且希望從另一個數組中減去該值,但它只是減去數組的第一個值。這裏是我的代碼如何獲取行數據並使用逗號將其轉換爲數組?

   <?php 
      include 'include/header.php'; 
      include 'include/connect.php'; 
         // fetch student which are already in database of event 


      $district = ($_GET['dis']); 
      @$admdistrict = $_SESSION['district']; 
      //echo $district; 
      $ret_ = array(); 
      $qeryy="SELECT * FROM student_info where district = '".$admdistrict."' AND user_status = 'approved' ; 
      $rsultt=mysql_query($qeryy) or die(mysql_error()); 
      $resultt=mysql_query($qeryy) or die(mysql_error()); 
      if (mysql_num_rows($result) > 0) { 
       // output data of each row 
       while($row = mysql_fetch_array($result)) { 
        echo $row['id']; 
        $ret_[] = implode(',',$row['id']); 
       } 
      } 
      print_r($ret_);    

只有這個變量$ ret_是給其他明智的所有變量和函數以下正常工作第一個值。我的student_info表就像

id ! name  ! District 
4 ! Rahul  ! Karnal 
5 ! Sonu  ! Panipat 
6 ! Rohit  ! Jind 

這個$ ret變量只給出4作爲OUTPUT。但我想(4,5,6)必須是逗號,這樣我可以從std_fulllist_array變量減去它下面

  $query="SELECT * FROM events where id='$district'"; 
           $showdata=mysql_query($query) or die(mysql_error()); 
           $user=mysql_fetch_array($showdata); 

      if(isset($_POST['submit'])) 
       //print_r ($_POST); 
      { 
        @$std_list=implode(',',$_POST['std_list']); 
       $std_fulllist_array = explode(',', $user['std_list']); 
      $std_new_array = explode(',', @$std_list); 

      $std_delete_array = explode(',', $delete['id']); 

       $values = array_diff($std_fulllist_array, $ret_); 
      $values = array_merge($values, $std_new_array); 

      // Only keep unique values 
      $values = array_unique($values); 

      // Sort (maybe?) 
      sort($values); 

      // Convert to string 
      $values = implode(',', $values); 
      echo $values; 
      // string(15) "1,2,3,4,5,7,8,9" 
      var_dump($values); 


        if(empty($std_list)) 
        { 
         $error = 1; 
         $get_value = "Please select you event students."; 
        } 

        else 
        { 

        //$query = mysql_query("INSERT INTO events (std_list) VALUES('".$std_list."')") or die(mysql_error()); 
        $query = mysql_query("UPDATE events SET std_list= '$values' WHERE id='".$district."' ") or die(mysql_error()); 
        //echo "$msg"; 
        echo "Students list submitted successfully"; 
        } 
      } 

      ?> 
+0

請...清理你的代碼,以便至少是可讀...... –

+0

如何做到這一點? – rahul

回答

0

我懷疑你想要group_concat()。您的代碼是有點難以遵循,但我的猜測是:

SELECT GROUP_CONCAT(id) 
FROM student_info 
WHERE district = '".$admdistrict."' AND user_status = 'approved' ; 
相關問題