【问题标题】:PHP doesn't take selected option value on postPHP 在帖子中不采用选定的选项值
【发布时间】:2018-11-15 17:40:15
【问题描述】:

好吧,我在更新表单时遇到了一个严重问题,它只在选择选项菜单中的用户操作中采用选定的值,但是当用户更新数据而不更改选择值时,它返回设置为的默认数据库值0

<select class="selectpicker" name="socio_demo_type" id="socio_demo_type">
<?php
$query_sd = "SELECT * FROM insertion WHERE id_insertion = ".$insertion["id"];
$result_sd = mysql_query($query_sd);
$type = mysql_fetch_array($result_sd);
$val = $type["ciblage_socio_demo_type"];
?>
    <option value="0"  <?php if($val == 0) echo 'selected' ?> >Pack affinitaire </option>  
    <option value="1"  <?php if($val == 1) echo 'selected' ?> >Achat ciblé (loggué)`enter code here`</option>
</select>

【问题讨论】:

  • 每次在新代码中使用the mysql_ 数据库扩展this happens 时,它都已被弃用,并且已经存在多年,并且在 PHP7 中永远消失了。如果您只是学习 PHP,请花精力学习 PDOmysqli 数据库扩展和预处理语句。 Start here
  • 那你必须在使用前验证它。如果错误,您必须将用户放回数据输入页面并给他们一条错误消息
  • 您是否尝试将调试信息输出到文件而不是屏幕上
  • 无论你想回显什么,你都可以使用 file_put_contents,比如file_put_contents('debug.txt', print_r($xxx,true), FILE_APPEND);
  • @RiggsFolly 好的,我会试试的,谢谢老兄:)

标签: php html select


【解决方案1】:

也传递连接字符串并使用我的 sqli 语句。

$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }    

<select class="selectpicker" name="socio_demo_type" id="socio_demo_type">

    <?php

    $query_sd = "SELECT * FROM insertion WHERE id_insertion = "$insertion["id"];

    $result_sd = mysqli_query($con , $query_sd);
    $type = mysqli_fetch_array($result_sd);
    $val = $type["ciblage_socio_demo_type"];

    ?>
    <option value="0"  <?php if($val == 0) echo 'selected' ?> > Option2 </option>  
    <option value="1"  <?php if($val == 1) echo 'selected' ?> > Option1 </option>
    </select>

【讨论】:

  • 欢迎来到 SO。你要带着这个去某个地方吗? 好的答案将始终解释所做的事情以及这样做的原因,不仅适用于 OP,而且适用于可能会发现此问题并正在阅读您的答案的 SO 的未来访问者。跨度>
  • 老兄,OP 正在使用旧的 mysql_ 数据库扩展,因为他正在维护一些旧代码 :) 在尝试回答之前检查 cmets 总是一个好主意
  • 您的代码包含语法错误 - 此外,您应该突出显示哪些更改很重要,以便其他人可以从您的代码中学习
  • 老兄,我正在页面顶部的单个文件上调用 mysql 连接
猜你喜欢
  • 2012-08-24
  • 1970-01-01
  • 2018-01-13
  • 1970-01-01
  • 2018-01-21
  • 2016-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多