有一个数组Array ( [catid] => 2 [page] => 1 [posttime] => 3 [is_zj] => 1 [mode] => 1 ) 
有一个表info_$id
$id的值为Array ( [0] => 25 [1] => 26 [2] => 27 [3] => 28 [4] => 29 [5] => 30 ) 自定义了一个函数table_field(table,field)用来判断一个字段是否存在于表table中,存在返回true,不存在返回false
需求是这样的:这三个catid, page,posttime不是表info_$id 的字段,另外两个is_zj, mode存在于表info_$id中
,有可能同时存在,也可能只存在一个
如何通过循环来找出在表info_$id中同时存在is_zj和mode字段的表,返回$id

解决方案 »

  1.   

    不知道什么意思。
    info_$id应该是6个表吧.你说的一个表是什么意思.
    表中存在的字段名 是 is_zj ,mode. 还是它们在数组中对应的值 1 啊
    function table_field( $table,$field ){
         $link = mysql_connect( 'host','user','passwd' );
         //取得一行数据
         $row = mysql_query( "select * from $table limit 1;" );
         //把数据转化为数组
         $array = mysql_fetch_row( $row );
         //判断数组中是否有$field键名。
         if ( array_key_exists( $field,$array ) )
              return true;
         else 
              return false;
      }
      

  2.   

    $id=array( 25,26,27,28,29,30 );
    foreach( $id as $value ){
         if( table_filed( "info_$id",'is_zj' ) && table_field( "info_$id",'mode' ))
              echo $id;
    }
      

  3.   

    上面的错了.$id=array( 25,26,27,28,29,30 );
    foreach( $id as $value ){
         if( table_filed( "info_$value",'is_zj' ) && table_field( "info_$value",'mode' ))
              echo $value;
    }