首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过下拉菜单从mysql获取所选信息

通过下拉菜单从mysql获取所选信息
EN

Stack Overflow用户
提问于 2014-09-22 06:42:58
回答 1查看 123关注 0票数 0

我有一个简单的下拉菜单。

代码语言:javascript
复制
<form method="post" action="index.php">
    <select name="mountname">
        <option value="white">white</option>
        <option value="black">black</option>
        <option value="yellow">yellow</option>
        <option value="green">green</option>
    </select>

    <input type="submit" value="Submit Pick" />

若要保存所选内容,请使用。

代码语言:javascript
复制
if (!empty($_POST['color'])){

    $id = $_SESSION['user_id'];
    $color = $_POST['color'];

    mysqli_query($mysqli,"UPDATE users SET home_color='".$color."' WHERE id='".$id."'")or die("error  == ----> ".mysqli_error());

    mysqli_close($mysqli);
    header('Location: index.php');
    }

将颜色保存到mysql是没有问题的。//update//用户表是这样设置的。ID,用户名,密码,first_name,last_name,电子邮件,home_color

当用户选择他的主页颜色,然后提交它,它将保存到数据库。

ie 1, Bob, MD5pass, Bob,Smith,Bob@bob.com, Black

2, Joe, MD5pass, Joe,Doe,joe@Doe.com, Green

现在我有了另一张桌子叫挂载。它里面有颜色信息。此表保存颜色名称和信息。

代码语言:javascript
复制
ID, color_name, color_info

ID是一个带有A_I的INT。

Bob登录并选择他的主页颜色,将其保存到他的配置文件中。因此,现在,当一个人去鲍勃配置文件,将看到颜色信息。如何使它读取配置文件信息并从另一个表中显示信息。

就像下面的代码。我知道密码是错的,但我只能解释一下。

代码语言:javascript
复制
   if (black){
          mysqli_query($mysqli,"SELECT * FROM mount;
         }else{  
             (green)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-22 06:56:32

正如您所说,颜色保存在用户的表中。问题是如何从mount中获取颜色数据以及用户的数据。在配置文件页上,您可以通过.获取用户的颜色细节。

代码语言:javascript
复制
$id = $_SESSION['user_id'];
$res = mysqli_query($mysqli,"SELECT * FROM users u, mount c WHERE u.home_color=c.color_name AND u.id='".$id."'")or die("error  == ----> ".mysqli_error());
$result = mysqli_fetch_array($res);
    mysqli_close($mysqli);

现在,您可以操作$result,因为它包含用户详细信息以及颜色细节!我们通过相同的键从表usersmount获得数据,比较用户的home_color和挂载的color

如果您将颜色保存在mount中,如“黑色”,我建议您在<select>下拉列表中保留相同的关键字,因为“黑色”不等于“黑色”。

另一件事,我想建议你是,改变你的选择下拉到动态。从表mount中获取颜色数据,并使用它类似..。

代码语言:javascript
复制
<select name="mountname">
<?php
$res_colors = mysqli_query($mysqli, "SELECT * FROM mount");
$colors = mysqli_fetch_array($res_colors);
foreach($colors as $color){
?>
<option value="<?php echo $color['color']; ?>"><?php echo $color['color']; ?></option>
<?php } ?>
</select>

使用主键作为外键的最佳方法,所以使用mount的ID而不是颜色进行下拉,并将其保存到用户的表中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25968029

复制
相关文章

相似问题

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