0

以下の例では、ID の配列を取得して、それを while に変換してから、配列に戻して、ページのカンマで展開しています。確かにこれを行う簡単な方法があるはずです。

私は $row['ID'] の配列を求めています

function get_other_elector_phone($telephone,$current,$criteria){
    $the_others = mysql_query("SELECT * FROM electors WHERE telephone = '$telephone' $criteria"); $results = '';
    while($row = mysql_fetch_array($the_others))  { 
    $results .= $row['ID'].','; } return $results;
}


$others = get_other_elector_phone(g('electors',$elector,'telephone'),$elector,$criteria); 
                    if($others){ $others = explode(',',$others);
4

2 に答える 2

0

@daverandomが言ったように、配列を再構築するだけです。これは構文です:

function get_other_elector_phone($telephone,$current,$criteria){
  $the_others=mysql_query("SELECT * FROM electors WHERE telephone = '$telephone' $criteria"); 
  $results = array();
  $i=0;
  while($row = mysql_fetch_array($the_others))  { 
    $results [$i]= $row['ID'];
    $i++; 
  } 
  //results returned outside loop
  return $results;
}

$others = get_other_elector_phone(g('electors',$elector,'telephone'),$elector,$criteria); 

$others は配列を返します。

于 2012-06-25T10:51:03.307 に答える
-1

それ以外の

function get_other_elector_phone($telephone,$current,$criteria){
  $the_others = mysql_query("SELECT * FROM electors WHERE telephone = '$telephone' $criteria"); $results = '';
  while($row = mysql_fetch_array($the_others))  { 
    $results .= $row['ID'].','; } return $results;
  }
}

の結果を返すだけですmysql_fetch_array()

function get_other_elector_phone($telephone,$current,$criteria){
  $the_others = mysql_query("SELECT * FROM electors WHERE telephone = '$telephone' $criteria"); $results = '';
  return mysql_fetch_array($the_others);
} 

その場合、関数の出力を分解する必要はありません。

于 2012-06-25T10:41:23.700 に答える