Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to put each php foreach value into each jquery ajax

foreach($data['data'] as $data){
    $count = $data['number'];
}

// $data['number']; will return some number like:

159809
359107
249178
... //10+ numbers

Then, how to put each php foreach value into each jquery ajax? (put every number via a jquery ajax, there will be 10+ ajax calls, and return all the data in one div). Thanks.

<script type="text/javascript">
jQuery(document).ready(function(){
    $.ajax({
        url: "process.php", 
        dataType: "html",
        type: 'POST', 
        data: "items=<?php echo $count; ?>", //each $count value in each ajax
        success: function(data){
            $("#result").html(data);
        }
    });
});
</script>
<div id="result"></div>
like image 483
cj333 Avatar asked Jan 27 '26 22:01

cj333


2 Answers

put the 10 values from php array to javascript array, make a javascript loop for 10 times and call ajax function with data from javascript array.

like image 172
MLS Avatar answered Jan 30 '26 11:01

MLS


If you really want a unique ajax call for each $count value, with the data returning in the #result div:

<script type="text/javascript">
    $(document).ready(function(){

<?php
foreach($data['data'] as $data){
    $count = $data['number'];
    ?>
      $.ajax({
        url: "process.php", 
        dataType: "html",
        type: 'POST', 
        data: "items=<?php echo $count; ?>",
        success: function(data){
            $("#result").append(data);
        }
      });
    <?php
}
?>

    });
</script>
<div id="result"></div>

However, I would highly recommend passing the values as an array and having only one ajax call:

$count = array();
foreach($data['data'] as $data){
    $count[] = $data['number'];
}
$datacount = implode('-',$count);
?>

<script type="text/javascript">
    $(document).ready(function(){
      $.ajax({
        url: "process.php", 
        dataType: "html",
        type: 'POST', 
        data: "items=<?php echo $datacount; ?>",
        success: function(data){
            $("#result").append(data);
        }
      });
    });
</script>
<div id="result"></div>

On the server side in process.php, you can explode('-',$_POST['items']) and then foreach through them.

This is just one other way to accomplish it... It could be json_encoded or many other ways.

like image 21
Fosco Avatar answered Jan 30 '26 13:01

Fosco



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!