首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在PHP中通过下拉菜单将数字输入到数据库中?

如何在PHP中通过下拉菜单将数字输入到数据库中?
EN

Stack Overflow用户
提问于 2018-07-29 00:08:59
回答 1查看 39关注 0票数 -1

我希望输入一个数字到一个数据库的基础上下拉菜单组成的数据从另一个表。

链接表:

类别表:

因此,基本上我的下拉列表将包含category.cat写入的信息。但是当我提交表单时,它会在数据库的links.catID列中输入category.id。

到目前为止,我拥有的代码是:

代码语言:javascript
复制
<?php
// since this form is used multiple times in this file, I have made it a 
function that is easily reusable
function renderForm($links, $url, $catID, $type, $error){
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

<title>New Record</title>

</head>

<body>

<?php

// if there are any errors, display them

if ($error != ''){

    echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';

}

?>



<form action="" method="post">
<div>
    <strong>Link Title: *<br></strong> <input type="text" name="links" size="40" value="<?php echo $links; ?>" /><br><br/>
    <strong>URL: *<br></strong> <input type="text" name="url" size="40" value="<?php echo $url; ?>" /><br><br/>
<?php
require 'db/connect.php';
echo" <strong>Category: *<br></strong>";
echo "<select name='catID' id='catID'>";
$sql = "SELECT * FROM links";
$results = $db->query($sql);
    if($results->num_rows){
        while($row = $results->fetch_object()){
            echo "<option>";
            echo "{$row->catID}";
            echo "</option>";
        }
} echo "</select><br>";
?>
<br>
<strong>Type: *<br></strong> <input type="text" name="type" size="40" value="<?php echo $type; ?>" /><br><br/>

<p>* Required</p><br>

<input type="submit" name="submit" value="Submit">

</div>

</form>

</body>

</html>

<?php

}

// connect to the database
include('connect-db.php');

// check if the form has been submitted. If it has, start to process the form and save it to the database

if (isset($_POST['submit'])){
    // get form data, making sure it is valid
    $links = mysql_real_escape_string(htmlspecialchars($_POST['links']));
    $url = mysql_real_escape_string(htmlspecialchars($_POST['url']));
    $catID = mysql_real_escape_string(htmlspecialchars($_POST['catID']));
    $type = mysql_real_escape_string(htmlspecialchars($_POST['type']));

// check to make sure all fields are entered
if ($links == '' || $url == '' || $catID == '' || $type == ''){

    // generate error message
    $error = 'ERROR: Please fill in all required fields!';

    // if either field is blank, display the form again
    renderForm($links, $url, $catID, $type, $error);
} else {
    // save the data to the database
    mysql_query("INSERT links SET links='$links', url='$url', catID='$catID', type='$type'")
    or die(mysql_error());

    // once saved, redirect back to the view page
    header("Location: view.php");
    }
} else {

// if the form hasn't been submitted, display the form
renderForm('','','','','');

}

?>

这给我提供了以下内容:

EN

回答 1

Stack Overflow用户

发布于 2018-07-29 01:48:10

可以试试这个吗?(考虑到links.links列和category.cat列是常见的)

将dropdown的值存储在一个变量中,比如$dropdown_selected_option

使用sql从category表中获取id:

代码语言:javascript
复制
$sql = "Select id from category where cat = '$dropdown_selected_option'";
$result = mysqli_query($conn, $sql);

稍后再次运行查询以更新第二个表中的给定字段;

更新链接集

代码语言:javascript
复制
if (mysqli_num_rows($result) > 0) {
    // output data of each row
    while($row = mysqli_fetch_assoc($result))
   {
   // Run update query here where $row['id'] has the ID from the category table required.
   }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51573066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档