如何在html页面上允许用户更新数据数据库SQL

时间:2014-10-01 08:18:18

标签: php html mysql sql forms

我有一个mySQL数据库,它存储用户通过下一个表单输入的信息:

<form action="demo.php" method="POST"/>
<p><label>title:</label> <input type="text" name="titre" required/></p>
<p><label>disp: </label>
    Oui&nbsp;<input type="radio" name="disponible" value="1" required/>&nbsp;&nbsp;
    Non&nbsp;<input type="radio" name="disponible" value="0" required/>
</p>
<p><label>Corrected: </label>
    Oui&nbsp;<input type="radio" name="corrige" value="1" required/>&nbsp;&nbsp;
    Non&nbsp;<input type="radio" name="corrige" value="0"required/></p>
<p><label>Notes A:</label> <input type="text" name="notes" /></p>
<p><label>Notes B </label> <input type="text" name="notes2" /></p>
<p><label>N pages </label> <input type="text" name="pages" /></p>
<p><label>Mont: </label>
    Oui&nbsp;<input type="radio" name="monte" value="1" required/>&nbsp;&nbsp;
    Non&nbsp;<input type="radio" name="monte" value="0" required/></p></p>
<p><label>File:</label> <input type="text" name="image" /></p>

$value = $_POST['titre'] ;
$value2 = $_POST['disponible'] ;
$value3 = $_POST['corrige'] ;
$value4 = $_POST['notes'] ;
$value5 = $_POST['notes2'] ;
$value6 = $_POST['pages'] ;
$value7 = $_POST['monte'] ;
$image = $_POST['image'] ;


$sql = "INSERT INTO mode (Titre, Disponible, Corrige, NotesCorr, NotesRed, NPages, Monte, image) VALUES ('$value', '$value2', '$value3', '$value4', '$value5', '$value6', '$value7', '$image')";

if (!mysql_query($sql)) {
    die('Error: ' . mysql_error());
} else {
    header('Location: index.php');
    echo "done";
}

信息存储并显示在表格中。 (如果需要代码,我会在这里发布)

我不知道该怎么做才能让用户编辑已存储在表格中的数据。

例如,用户选择ID并编辑他想要的任何内容。

知道我该怎么办?

最好的问候。

2 个答案:

答案 0 :(得分:1)

注意:

  • 应该使用 MySQLi ,而不是弃用 MySQL
  • 为什么在文件中使用input type="text"?我们将向您展示如何使用input type="file"

替换你的:

<p><label>File:</label> <input type="text" name="image" /></p>

使用:

<p><label>File:</label> <input type="file" name="image" accept=".jpg, .png, .jpeg"/></p>

并将enctype='multipart/form-data'添加到您的<form>

<form action="demo.php" method="POST" enctype="multipart/form-data"/>

PHP代码

$allowedExts=array("jpg","jpeg","png");
$temp=explode(".",$_FILES["image"]["name"]);
$extension=end($temp);

    /* START OF FILE UPLOAD */

    if(($_FILES["image"]["size"]<8388608) && in_array($extension,$allowedExts)){

        $image=$_FILES['image']['name']; /* STORE THE FILE NAME TO $image VARIABLE */
        $fullpath="ImageDirectory/".$image; /* CHANGE THE NECESSARY FILE DIRECTORY */
        move_uploaded_file ($_FILES['image']['tmp_name'], $fullpath); /* MOVE FILE TO THE GIVEN DIRECTORY */

    }

$value = $_POST['titre'] ;
$value2 = $_POST['disponible'] ;
$value3 = $_POST['corrige'] ;
$value4 = $_POST['notes'] ;
$value5 = $_POST['notes2'] ;
$value6 = $_POST['pages'] ;
$value7 = $_POST['monte'] ;

$stmt = $mysqli->prepare("INSERT INTO mode (Titre, Disponible, Corrige, Notescorr, NotesRed, Npages, Monte, image) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
$stmt->bind_param('ssssssss', $value, $value2, $value3, $value4, $value5, $value6, $value7, $image);

更多注意:

  • 要进行编辑,您需要提供有关数据库和表格的更多信息。
  • 我们需要知道mode表格的结构。
  • 您的表格需要唯一ID 才能轻松更新表格。

我们会在您提供所需信息后立即更新我的答案。

答案 1 :(得分:1)

试试这可能会帮到你

在表格中再创建一个列,其中数据显示在网页名称中&#34;编辑&#34;

<tr>Edit</tr>

在编辑栏中<td>值使用循环赞

while($result = mysql_fetch_array($sql))

此处$sql是从您的表中获取所有数据

现在将<a>链接重定向到您需要查看数据并进行更新的更新页面。

<td><a href = "update.php?id=<?php echo $result[0]?>">Edit</td>

此处$result[0]表示表格的主键列,该键会将键重定向到下一页,现在您已经primary key更新了表格中的数据。