AJAX сообщение не будет делать массив флажков с PHP цикл по каждому элементу - PullRequest
0 голосов
/ 22 февраля 2020

Так что я боролся с этим некоторое время и не могу понять это. У меня есть форма флажков, каждый с id = «athlete []» и class = «togglea». Вот пример нескольких моих флажков (у меня есть сотни)

<input type="checkbox" class="togglea" id="1" value="1" name="athlete[]" onchange="updateSum()">
<input type="checkbox" class="togglea" id="2" value="2" name="athlete[]" onchange="updateSum()">
<input type="checkbox" class="togglea" id="3" value="3" name="athlete[]" onchange="updateSum()">
<input type="checkbox" class="togglea" id="4" value="4" name="athlete[]" onchange="updateSum()">
<input type="checkbox" class="togglea" id="5" value="5" name="athlete[]" onchange="updateSum()">

У меня есть этот ajax скрипт для публикации массива флажков без обновления страницы:

$(document).ready(function(){
$('#submit').click(function(){
   var athlete = [];
   $('.togglea').each(function(){
        if($(this).is(":checked"))
        {
             athlete.push($(this).val());
        }
   });
   athlete = athlete.toString();
   $.ajax({
        url:"dataget.php",
        method:"POST",
        data:{athlete:athlete},
        success:function(data){
             $('#result').html(data);
        }
   });
});
});`

И тогда у меня есть сценарий PHP внутри набора данных. Файл php:

if(isset($_POST["athlete"]))
{
  // Counting number of checked checkboxes.
  $checked_count = $_POST['athlete'];
  echo "You have selected ".$checked_count."";
  foreach($checked_count as $selected) {
  $sql = "SELECT * FROM olympics WHERE athlete_id = '$selected'";
  $result = $conn->query($sql);
  if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
  echo $row["athlete_name"];
  }
  } else { echo "0 results"; }
  }

}

Кажется, я не могу понять, почему в моем ForEach php l oop в наборе данных. php не будет работать. Если я удаляю для каждого l oop и меняю, например, athlete_id = '1' , он действительно получает данные от спортсмена # 1, поэтому я знаю, что он подключается к базе данных.

Надеюсь, вы, ребята, поможете мне понять это, потому что я не могу понять, почему мой Foreach l oop не будет циклически проходить и извлекать все данные.

PS $ Check_count вытягивает все выбранные данные в массив, разделенный запятыми, поэтому я ЗНАЮ, что я правильно поставил флажки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...