2017-05-24 4 views
-1

最初のテーブルからデータを取得していますが、これは問題なく出力されています。このテーブルでは、カラム名 'std_list'のデータは1,2,3,4,5のように格納されます。出力すると1,2,3,4,5の出力が得られますが、これを使用すると変数を使用して別のテーブルからデータを取得すると、他のテーブルからデータを取得するために1つしか使用されません。データをフェッチする方法は、1つの列に格納され、データベースからコンマで格納されますか?

<span><?php echo $user['std_list'];?></span></p>   

<?php 
    //$query="SELECT * FROM events Where std_list != '0' "; 
$query="SELECT * FROM events where id='$eid'"; 
$showdata=mysql_query($query) or die(mysql_error()); 
$user=mysql_fetch_array($showdata); 
?> 

最初のテーブル出力に基づいて、別のテーブルからデータをフェッチしようとしています。

  <?php 
       $sid=$user['std_list']; 
       //$query="SELECT * FROM events Where std_list != '0' "; 
       $query="SELECT * FROM student_info where id='$sid'"; 
       $showstudent=mysql_query($query) or die(mysql_error()); 
       while($students=mysql_fetch_array($showstudent)) 
       { 
      ?> 

これは「std_list」列に格納されたデータは1,2,3,4,5,6のようなものです私のコードです.....そして私はseprately各数値を取得したいが、私のコードに応じて他のテーブルからの最初の数値のみを取得しています。

+0

mysql_ *は推奨されていません。mysqi_ *を使用してみてください* – JYoThI

+1

私は何をしようとしていませんでした – JYoThI

+0

あなたの質問を理解するために、2-3のダミーデータと予想される出力であなたのテーブルスキーマを示してください。 – Nidhi

答えて

0

だけWHERE id IN()

1使用)Mysql_ *がmysqli_ *

2)使用PDOを使用しようとか、プリペアドステートメントを推奨されていません

$sid ='1,2,3,4,5,6'; 

$query="SELECT * FROM student_info where id IN (".$sid.")"; 

アップデート1:

<?php 

//db connection 

$servername = "localhost"; //host name 

$username = "username"; //username 

$password = "password"; //password 

$mysql_database = "dbname"; //database name 

//mysqli prepared statement 

$conn = mysqli_connect($servername, $username, $password) or die("Connection failed: " . mysqli_connect_error()); 

mysqli_select_db($conn,$mysql_database) or die("Opps some thing went wrong"); 

    $sid ='1,2,3,4,5,6'; 
    $sid = explode(',',$sid); 
    $total_items = count($sid); 
    $question_marks = array_fill(0, $total_items, '?'); 

$stmt = $conn->prepare("SELECT * FROM student_info where id IN (".$question_marks.")"); 
      $stmt->execute($sid); 
      $get_result =$stmt->get_result(); 
      $row_count= $get_result->num_rows; 

      if($row_count>0){ 

       while($row=$get_result->fetch_assoc()) 
       { 
         print_r($row); 
        } 
      } 

?> 
+0

@Nidhi – yogesh

+0

感謝を確認してくださいたくさんそれはあなたが@yogesh助けて – yogesh

+0

が喜んで働く@jyothi私の質問を編集し@yogesh – JYoThI

関連する問題