-1

こんにちは私はから配列データを取得するつもりです。私はコードを持っていますが、前のコードではうまく機能しませんcs = 2

for($k=0;$k<$cs;$k++)
{ 


$SQL = "SELECT duration FROM core_network WHERE location=('".$location_c[$k]."')";
$result = mysql_query($SQL);


$cks="0";
$duration=array();
while ($db_field = mysql_fetch_array($result)) {
$duration_c[$cks]= $db_field['duration']; //*here must save to data
 $cks++;

} 
 }

このコードをsearch_l.phpに保存しました

 <?php include("lib/search_l.php"); ?>



  <?php
if($cs!=0){
for($i=0;$i<$cs;$i++)
{ 

?>



 <div id="alarmdisplay">
   <table class width="634" border="0" cellspacing="3" cellpadding="3">
  <tr class="search">
    <td width="256"><?php echo $location_c[$i] ?></td>
    <td width="154" class="247"><?php  echo $duration_c[$i]
?></td>
    <td width="194">&nbsp;</td>
  </tr>
 </table>

ここでは、2つの期間を印刷する必要があります。しかし、それは他の1つだけを印刷しますエラーがあります注意:未定義のオフセット:1を正しく印刷する方法は?

正しいことを確認するためにテストすると、次のことに気づきました。

$result)) {
$duration_c[$cks]= $db_field['duration'];
 $cks++;

} echo $duration_c[$cks]   //*it prints correct i meant prints 2 test data
}

その後

$result)) {
$duration_c[$cks]= $db_field['duration'];
 $cks++;

}  
}
echo $duration_c[$cks]  //*it prints not correct i meant prints only first test data

それを修正する方法は?

4

4 に答える 4

0

キータイプの結果(連想配列)が必要な場合は、

mysql_fetch_assoc();

代わりは

mysql_fetch_array();
于 2012-11-13T08:32:52.297 に答える
0

了解しました。次に、このようなものを試してください。これにより、配列に挿入した結果が得られます。

<?php

for($i = 0; $i < count($duration); ++$i) {
    echo $duration[$i];
?> 
于 2012-11-13T08:37:43.540 に答える
0

コードに単純な型エラーがあります:

$duration=array();

する必要があります

$duration_c=array();

そうしないと 、ループ$duration_cの外側がわからないため、スコープの問題になります。while

于 2012-11-13T08:42:58.367 に答える
0
$duration_c=array();//Should be declared outside loop

for($k=0;$k<$cs;$k++)
 { 
  $SQL = "SELECT duration FROM core_network WHERE location=('".$location_c[$k]."')";
  $result = mysql_query($SQL);
  $cks = 0;//String variable
  while ($db_field = mysql_fetch_array($result,MYSQL_ASSOC)) {
                                                    //^---------returns associative array
      $duration_c[$cks]= $db_field['duration'];
      $cks++;
   } 
 }
于 2012-11-13T08:43:22.023 に答える