То, что у меня есть, это веб-сайт на основе HTML и со строками из базы данных
Что я хочу:
Я хочу, чтобы он обновил поля с помощью 1 кнопки. У меня сейчас проблема в том, что он не будет обновлять правую строку. Первым обновится база данных.
Я хочу, чтобы он обновлял только те вещи, которые были отредактированы (например, 1 или 2 из 10), а остальные остались прежними.
Как выглядит моя страница
Как выглядит база данных
$PAGES = $app->get_pages();
foreach($PAGES as $Pages){
echo "
<tr>
<td>".$Pages['id']."</td>
<form action='' method='post'>
<td><input type='text' class='form-control profiel' name='PageName' value='".$Pages['naam']."'</td>
<td><input type='text' class='form-control profiel' name='PageUrl' value='".$Pages['url']."'</td>
<td><input type='text' class='form-control profiel' name='PageStatus' value='".$Pages['status']."'</td>
<td><input type='text' class='form-control profiel' name='PagePos' value='".$Pages['positie']."'</td>
<input type='hidden' name='pageID' value='".$Pages['id']."'>
<td><button type='submit' name='deletePage'><i class='fa fa-trash'></i></button></td>
</tr>
";
}
echo "
</tbody></table>
<button type='submit' class='btn btn-danger' name='updatePage'>Bewerk</button>
</form>
if(isset($_POST['updatePage'])){
unset($updateVAL);
$updateVAL['naam'] = $app->check_string($_POST['PageName']);
$updateVAL['url'] = $app->check_string($_POST['PageUrl']);
$updateVAL['status'] = $app->check_string($_POST['PageStatus']);
$updateVAL['positie'] = $app->check_string($_POST['PagePos']);
$app->update_tabel('pages', $updateVAL);
}
Функция для обновления:
public function update_tabel($tabel, $updateVAL){
$q = '';
foreach ($updateVAL as $key => $value) {
$value = str_replace("'","'",$value);
$q .= "`".$key."` = '".$value."',";
}
if(isset($q) && ($q !='')) {
$q = substr($q,0,-1);
$this->database->query("UPDATE ".$tabel." SET ".$q." LIMIT 1");
$this->database->execute();
}
}
* * Пример тысячи двадцать-одина * +1022 *
например, если я отредактирую 'Support' и сделаю из него 'Supporttt', он отредактирует его в базе данных НО установит для 'Home' значение 'Suporttt' и не изменит 'Support' «Suporttt», поэтому он обновляет не нужные записи