2015-09-22 23 views
0

在下面的代码中,我在customer表中存储了一个数组。现在我需要来自代理表的数据,但是与数组值有关的数据。我如何从其他数据库表中获取值与数组值相关联的值?

<?php 
    $query = "SELECT * FROM customer"; 
    $no1=1; 
    $result = mysql_query($query); 

    while($values = mysql_fetch_array($result)) 
    { 
     $values= unserialize($values['part_no']); 


     foreach($values as $value) 
     { 

      echo $value."<br>"; 
      $query2 = "SELECT * FROM agent WHERE number=$value"; 
      $result2 = mysql_query($query2); 

      while($values2 = mysql_fetch_array($result2)) 
      { 

       echo '' . $row['name'] . ''; // get value from agent table. 
       $no1++; 
       // echo $no1."<br>"; 
      } 
     } 

    } 
?> 
+0

所以,你得到了什么错误?什么不起作用? –

回答

0

试试这个

<?php 
$query = "SELECT * FROM customer"; 
$no1=1; 
$result = mysql_query($query); 

while($values = mysql_fetch_array($result)) 
{ 
    $values= unserialize($values['part_no']); 


    foreach($values as $value) 
    { 
     $search_value = "'".implode("','", $value)."'"; 
     echo $value."<br>"; 
     $query2 = "SELECT * FROM agent WHERE number IN ($search_value)"; 
     $result2 = mysql_query($query2); 

     while($values2 = mysql_fetch_array($result2)) 
     { 

      echo '' . $values2['name'] . ''; // get value from agent table. 
      $no1++; 
      // echo $no1."<br>"; 
     } 
    } 

} 
?> 
+0

Thanx的答复,但它不工作:(。 – cipher

+0

什么是$值的格式? –

+0

简单的字母数字组合代码LIKE“xyz123” – cipher

0

更好的是你应该使用implode

while($values = mysql_fetch_array($result)) 
    { 
     $val= unserialize($values['part_no']); 


     $query2 = "SELECT * FROM agent WHERE number IN (".implode(',',$val).")"; 
      $result2 = mysql_query($query2); 

      while($values2 = mysql_fetch_array($result2)) 
      { 

       echo '' . $row['name'] . ''; // get value from agent table. 
       $no1++; 
       // echo $no1."<br>"; 
      } 
    } 
+0

Thanx答复,但它不工作:(。 – cipher

相关问题