@chernousovkgb

Как создать условие при котором будет обновляться запись в бд?

Помогитеее!!
Или я тупой или лыжи не едут.

Никак не хочет обновляться запись в бд.

код с комментариями

// распарсиваем УРЛ.
$ur=explode('/',$_SERVER['REQUEST_URI']); 
 foreach($ur as $element) {
                if(!empty($element)){
                    $urll[] = $element;
                }
            }

// вывожу список записей, по нажатию на edit открывается форма для редактирования
$page = mysqli_query($db, "SELECT * FROM pages");
while($list_page = mysqli_fetch_assoc($page)) {
    $ops=$list_page[id];
    $url="/adm/$list_page[url]"; ?>
            <tr>  
            <td><?php echo "<a href=\"$url\"> $list_page[title] </a>"; ?></td>
            <td><?php $new_del=""; echo "<a href=\"https://medcentr-yadrinskiy.ru/adm/red/$list_page[id]/\"> Edit </a>"; ?></td>
            </tr>
<?php }?>

// если выполняется условие когда в урле есть red значит надо открыть форму с конкретной записбю по id
if ( isset($urll[1]) &&  $urll[1]=='red') {
    
    
    
     $result = mysqli_query($db, "SELECT * FROM pages WHERE id=$urll[2];");
     while ($formar = mysqli_fetch_assoc($result)) { 
        var_dump ($formar);
     echo $formar['title'];


Вот форма
<div id="results">
     <form name="red" id="red" action="obr.php"  method="POST">
ID: <br><input name="id" type="text" value="<?php echo $formar[id]?>"><br>
Заголовок:<br><input name="title" type="text" value="<?php echo $formar[title]?>"><br>

Описание: <br><input name="description" type="text" value="<?php echo $formar[description]?>"><br>

Ключевые слова: <br><input name="keywords" type="text" value="<?php echo $formar[keywords]?>"><br>


url: <br><input name="url" type="text" value="<?php echo $formar[url]?>"><br>

Запись: <br><textarea name="body" type="textarea"><?php echo $formar[body]?></textarea><br>

<input name="red" type="submit">
</div>


вот обработчик

if (isset ($_POST['red'])) {

  $red= mysqli_query($db,"UPDATE pages SET title='$title' description='$description' keywords='$keywords' url='$CHPU' body='$new'  WHERE id='$id' ")   or die(mysqli_error());
echo mysql_error($red);
if ($red) {
    echo "запись изменена";
}
}

просто ничего не происходит
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
@chernousovkgb Автор вопроса
Блин может есть какой то пример, гле есть форма и список

ред.

Всем кто попадет, была ошибка в урл который я строил для редактирования, теперь это выглядит вот так и все работает
<?php
$page = mysqli_query($db, "SELECT * FROM pages");
while($list_page = mysqli_fetch_assoc($page)) {
    $ops=$list_page[id];
    $url="https://питпаситпаситсмитсмиит/adm/$list_page[url]"; ?>
            <tr>  
            <td><?php echo "<a href=\"$url\"> $list_page[title] </a>"; ?></td>
            <td><?php $new_del=""; echo "<a href=\"https://medcentr-yadrinskiy.ru/adm/$list_page[id]\"> Edit </a>"; ?></td>
            </tr>
            
            
       
            
<?php 


}?>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
PavelMonro
@PavelMonro
Форма не может иметь name, вернее может но она ничего не отправит, отправляются только инпуты, добавьте в форму:
<input type="hidden" name="red" value="red"/>
Ответ написан
Kasperenysh
@Kasperenysh
Рецидив в особо острой форме))
Форма отправляет данные методом post, red'а не будет в адресе...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы