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