Как перебрать оператор Update-SQL, где несколько полей имеют один и тот же внешний ключ

Я создал форму для пользователей, чтобы заполнить ее, а затем я создаю внутреннюю систему управления контентом, чтобы пользователь мог редактировать некоторые поля, которые он заполнил, на случай, если они допустили какие-либо ошибки или нуждаются в обновлении. Итак, на данный момент у меня есть несколько полей в базе данных, которые используют один и тот же внешний ключ, поэтому я хочу иметь возможность зациклить обновление, чтобы оно обновляло каждую из строк в отдельности.

Попытка сделать это статически не с помощью цикла, а потому, что в форме они могут заполняться от 1 до 30 в зависимости от поля, и некоторые поля имеют 2 столбца, которые необходимо обновить, а другие только один, поэтому я немного озадачен тем, как скомпилировать код так что это работает. Я пробовал цикл для каждого. но это приводит только к одному коду обновления.

$ vaccolates — это столбец в базе данных, который будет обновляться как «награды», которые можно увидеть в примере с базой данных, например ниже. inf_id=1, $vaccolates="first place sprint", $ vid — это поле внешнего идентификатора, которое связывает большую таблицу со всей остальной информацией.

if ($vaccolates != '') {
foreach ($vaccolates as $valuesawards) {
$sql_update_awards = sprintf("UPDATE inf_awards SET awards = %s WHERE inf_id = $vid", escapestring($connection, $valuesawards,'text'));

}
} else {
$vaccolates = '';
}
$sql_update_awards = rtrim($sql_update_awards, ',');
$countRowAges = count($_POST['awardact']);
$results_update_award = mysqli_query($vconncvnl, $sql_update_awards);

Таким образом, в базе данных это выглядит примерно так и говорит, что пользователь с inf_id = 2 хочет обновить из-за орфографических ошибок. Мне нужен код для обновления каждого поля, которое он обновил индивидуально, исходя из их inf_id, в данный момент я получаю только одно обновление, так это только первый.

awards (table)
awardsID(pk)   inf_id(fk)       awards
1              1                first place sprint
2              2                first palace marathon
3              2                fourth space spriny
4              2                third place hurdles
5              3               second place hurdles

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

racehistory (table)
raceID(pk)  inf_id(fk)   startdate      enddate
1           1            30th jan       4 feb
2           1            6th nov        8 dec
3           1            2 june         2 july
4           2            30 jan         8 feb

Основная таблица, в которой есть inf_id, который содержит другую информацию из формы, которую заполнил пользователь, и две таблицы выше относятся к этой таблице (я поместил их в их собственную таблицу, потому что они могли бы заполнить несколько результатов для гонок)

influencer (table)
inf_id(pk)  name    email              age      status
1           john    [email protected]         15       active
2           lucy    [email protected]         17       elite
3           david   [email protected]        13       recruit

-1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]