Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何正确获取数据_Php_Loops - Fatal编程技术网

Php 如何正确获取数据

Php 如何正确获取数据,php,loops,Php,Loops,您好,我将从中获取阵列数据。我有一个代码,但效果不好 在前面的代码中,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(

您好,我将从中获取阵列数据。我有一个代码,但效果不好 在前面的代码中,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++;

} 
 }
之后

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

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

如何更正它?

如果需要键类型结果(关联数组),请使用

反而

mysql_fetch_array();

好的,然后尝试类似的方法,这将得到插入数组中的结果

<?php

for($i = 0; $i < count($duration); ++$i) {
    echo $duration[$i];
?> 

您的代码中有一个简单的类型错误:

$duration=array();
应该是

$duration_c=array();
否则,这将是一个范围问题,因为
$duration\u c
循环时不会在
之外被知道。

$duration\u c=array()//应该在循环外声明
$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++;
   } 
 }

对于($k=0;$kYou最有可能希望在数组中循环,并在每次循环中有新结果时回显。是的,我希望每个对应的cs获得2个数据,但现在我只能获得其中一个bt此代码我已经测试了它,但结果相同。唯一的区别是我使用mysql_fetch_array();它打印第一个数据,向下接受投票如果需要键类型结果(assoc数组),请使用mysql_fetch_assoc();它只打印第二个数据我需要在for循环外部回显$duration。在内部是正常的,但在外部它只打印最后一个数据。您好,谢谢您的回答,但我仍然无法解决。我只在for循环外部打印最后一个数据。在内部它打印ok。@Batnasanganpurev使用var_dump($duration_c)外部for循环检查值它应该得到值你能给我完整的代码吗你好我发现了错误谢谢你的外部声明对我很有帮助thanks@Batnasanganpurev是的,你是在for循环中声明的,所以每次它被重写时,在外部声明它将使它成为全球性的。干杯,如果有e重复位置如何选择其中一个位置以及如何知道有多少重复位置
$duration=array();
$duration_c=array();
$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++;
   } 
 }