PHP - Как установить счетчик теста 'for' l oop на запуск в зависимости от количества записей - PullRequest
0 голосов
/ 06 мая 2020

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

 for ($ind = 0; $ind <6; $ind++ ) 

Как мне сделать это oop через все и затем остановиться?

В настоящее время я получаю значения с другой страницы с помощью $ _POST и затем отправляю их в базу данных на этой странице. Как показано ниже:


for ($ind = 0; $ind <6; $ind++ ) {
        $SID = $_POST['SID' . $ind];

        $week1 = $_POST ['week1' . $ind];
        $week2 = $_POST ['week2' . $ind];
        $week3 = $_POST ['week3' . $ind];
        $week4 = $_POST ['week4' . $ind];
        $week5 = $_POST ['week5' . $ind];
        $week6 = $_POST ['week6' . $ind];
        $week7 = $_POST ['week7' . $ind];
        $week8 = $_POST ['week8' . $ind];
        $week9 = $_POST ['week9' . $ind];
        $week10 = $_POST ['week10' . $ind];


        $sqlQuery = "Update weekbyweek SET  Week_1=".$week1.", Week_2=".$week2.", Week_3=".$week3.",  Week_4=".$week4.", Week_5=".$week5.", Week_6=".$week6.", Week_7=".$week7.", Week_8=".$week8.", Week_9=".$week9.", Week_10=".$week10." WHERE SID='".$SID."'";
        $statement = $db->prepare($sqlQuery);


        $statement->execute(['$Week_1' => $week1, '$Week_2' => $week2,'$Week_3' => $week3, '$Week_4' => $week4,'$Week_5' => $week5, '$Week_6' => $week6,'$Week_7' => $week7, '$Week_8' => $week8,'$Week_9' => $week9, '$Week_10' => $week10]);

    }

Ответы [ 3 ]

1 голос
/ 06 мая 2020

Используйте foreach l oop вместо для . Foreach l oop в основном используется для перебора значений массива.

<?php
foreach (array as $value) { 
    // Code to be executed;
} 
0 голосов
/ 06 мая 2020

Используйте это:

$items = [1,2,3,4,5,6,7];
if( !empty( $items ) ){
    for ( $i=0; $i < count( $items ) ; $i++ ) {
      //code here
    }
}

или

foreach( $items as $item ){
//code here
}
0 голосов
/ 06 мая 2020

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

В приведенном ниже случае данные представляют собой массив. Если вы работаете с базой данных, вам нужно будет запросить базу данных для настройки количества X, которое вам понадобится, сохранить результат в переменной и установить счетчик на это значение переменной.

$data = [0,1,2,3,4,5,6,7];

for ($i=0; $i <= count($data) ; $i++) {
  // code...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...