php - 如何通过输入从DB中获取某一行的id?

标签 php html mysql

我使用 php 显示与表中的值一样多的输入。

<?php foreach($videos as $videos_item): ?>
    <div class="row video-input">
        <input type="text" name="videos_inputs[]" 
           value="<?php echo 'http://www.youtube.com/watch?v=' . $videos_item['video_url']; ?>" 
           placeholder="Ссылка на видео" class="form__input">
        <a href="<?php echo BASE_URL;?>/admin/delete_video.php?id=<?php echo $videos['id']; ?>" 
           class="form_video__delete">Удалить</a>
    </div>
<?php endforeach;?>

但我还需要获取每一行的 ID。

foreach ($videos_inputs as $val) {
    $value = $val;

    $add_videos = $db->prepare(
        'UPDATE videos SET 
            video_url = :video_url 
            WHERE id = :id'
    );

    $add_videos->execute([
        'video_url' => $value,
        'id' => $video_id
    ]);
}

我该怎么做?

最佳答案

将您的表单更改为:

<?php foreach($videos as $videos_item): ?>
    <div class="row video-input">
        <input type="text" name="videos_inputs[<?php echo $videos['id'];?>]" 
           value="<?php echo 'http://www.youtube.com/watch?v=' . $videos_item['video_url']; ?>" 
           placeholder="Ссылка на видео" class="form__input">
        <a href="<?php echo BASE_URL;?>/admin/delete_video.php?id=<?php echo $videos['id']; ?>" 
           class="form_video__delete">Удалить</a>
    </div>
<?php endforeach;?>

你的 php 代码用于更新:

foreach ($videos_inputs as $video_id => $val) {
    $value = $val;

    $add_videos = $db->prepare(
        'UPDATE videos SET 
            video_url = :video_url 
            WHERE id = :id'
    );

    $add_videos->execute([
        'video_url' => $value,
        'id' => $video_id
    ]);
}

关于php - 如何通过输入从DB中获取某一行的id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35938438/

相关文章:

php - 制作链接以更改 iframe 上的 src

javascript - 在JQ中打印obj数组

html - 如何对齐容器内的图像和导航栏?

php - MYSQL查询显示: the first order for each customer

php - 计算某一列的总和 php

php - 从数据库中检索数据并在得到分隔符时分隔数据?

php - 检查二十一点的赢家

html - 控制一段高度

mysql - 具有多个条件的 SUM IF

java - 如何在 PHP 中使用 BIRT 图表