gpt4 book ai didi

javascript - Foreach 未获取所有数据

转载 作者:行者123 更新时间:2023-11-29 18:58:37 25 4
gpt4 key购买 nike

我正在使用 foreach 语句来获取所有数据并在表中打印,还使用 ​​ajax 来获取该区域的所有区域和驱动程序,每一行根据其来源都有不同的驱动程序,但问题是当我加载页面时,它显示了所有内容用户的数据仅在表中,但区域和驱动程序仅向我显示一行其他行未向我显示下面的驱动程序是我的代码请告诉我哪里错了

                    <tbody>
<?php
$counter = 0;
foreach($result as $user){?>

<form action="<?php echo SURL?>dashboard/set_driver" method="POST">
<tr>
<td><?php get_username($user['client_id']); ?></td>
<td><?php echo $user['pickfrom']; ?></td>
<td><?php echo $user['dropat']; ?></td>
<td><?php echo $user['pickdate'].' '.$user['picktime']; ?></td>
<td><?php echo $user['distance']; ?></td>
<input type="hidden" id="txtSource" value="<?php echo trim($user['pickfrom']); ?>">
<td>
<div class="form-group">
<select class="form-control" name="driver_id" id="drivers_<?php echo $counter;?>"><option>Select Driver</option>
</select>
</div></td><input type="hidden" id="latitude" name="latitude" value="<?php echo $user['latitude'];?>">
<input type="hidden" id="longitude" name="longtitude" value="<?php echo $user['longtitude'];?>">
<input type="hidden" name="request_id" value="<?php echo $user['id'];?>">

<td>
<button class="btn btn-default" name="submit">Set Driver</button>
</td>
</tr>
</form>
<?php echo $div_id = '#drivers_'.$counter;?>


<script>
var map;
var coord1 = new google.maps.LatLng(<?php echo $user['latitude'];?>, <?php echo $user['longtitude'];?>);

function initialize() {
var map = new google.maps.Map(
document.getElementById("map_canvas"), {
center: new google.maps.LatLng(33.714760, 73.083160),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
<?php
$counter=0;
if(!empty($zone)){
foreach($zone as $findzone)
{
$exploded_data=explode('),',$findzone['zone_latlog']);
$count=count($exploded_data);
$zone_id = $findzone['id'];
?>
var bermudaTriangle = new google.maps.Polygon({
map: map,
paths: [
<?php
for($i=0;$i<$count;$i++){
echo "new google.maps.LatLng".$exploded_data[$i]."),";
}
?>
]
});
var bounds = new google.maps.LatLngBounds();
for (var i=0; i<bermudaTriangle.getPath().getLength(); i++) {
bounds.extend(bermudaTriangle.getPath().getAt(i));
}
bounds.extend(coord1);
var marker1 = new google.maps.Marker({
map: map,
position: coord1
});
map.setCenter(bounds.getCenter());
map.setZoom(11);
var result = checkInPolygon(marker1, bermudaTriangle);
if(result)
{

var zone_id = <?php echo $zone_id;?>;
alert(zone_id);
var lati = $('#latitude').val();
var longi = $('#longitude').val();
$.ajax({
url: '<?php echo SURL;?>dashboard/check_driver/<?php echo $zone_id;?>/'+longi+'/'+lati,
data: 'zone_id='+ zone_id+'&lati='+lati+'&longi='+longi,
type: "POST",
dataType: 'json',
cache: false,
success: function(response) {
// alert(response);
for(var i = 0; i < response.length; i++) {
alert(response[i].driver_name);
$('<?php echo $div_id?>').append($('<option>', {
value: response[i].driver_id,
text: response[i].driver_name
}));
}
}
});

}
<?php
}}?>
}

function checkInPolygon(marker, polygon) {
var infowindow = new google.maps.InfoWindow();
var html = "";
if (google.maps.geometry.poly.containsLocation(marker.getPosition(), polygon)) {
return true;
} else {
return false;
}
infowindow.setContent(html);
infowindow.open(map, marker);

}


</script>

<?php
$counter++;
}
?>
</tbody>

如果我在 foreach 外部编写脚本,我会显示驱动程序的单个数据,如果我在内部编写结果是相同的。

最佳答案

更改你的 foreach 循环,使其动态化,首先计算结果,然后将其传递给数组 block ,然后将你得到的数字进行 for 循环,并在其中一个 foreach

关于javascript - Foreach 未获取所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44015790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com