首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法根据从php中的列表框获取的值来获取mysql记录。

问无法根据从php中的列表框获取的值来获取mysql记录。
EN

Stack Overflow用户
提问于 2014-12-22 15:52:27
回答 1查看 129关注 0票数 0

我一直在尝试通过表单在mysql中添加一条记录。我能够做到这一点。添加记录后,获取所有记录的主键以填充列表框。在列表框的单击事件中,我想获取所选记录的完整详细信息。我已经尝试过以下代码。我可以添加记录并填充列表框,但不能根据从列表框中选择的值获取记录。有没有人能给我一些建议。提前谢谢。我的代码如下:

代码语言:javascript
复制
<!--
    File Name - insert_and_drop_down_list.php
    This file performs following actions - 
    (1) Insert record into the database table
    (2) Fetch records from the same table, Populate listbox
    (3) At the click event of the listbox, display the data
-->

<html>
    <head>
        <title>Insert And Drop Down List</title>
        <SCRIPT language=JavaScript>
            function reload(form)
            {
                var e = document.getElementById("lstName");
                var val = e.options[e.selectedIndex].value;
                //var val=form.lstName.options[form.lstName.options.selectedIndex].value;
                self.location='insert_and_drop_down_list.php?param_name=' + val ;
                //window.alert(val);
                document.write(val);
            }
        </script>

    </head>

    <body>
        <form action="insert_and_drop_down_list.php">
            Name : &nbsp;&nbsp;<input type="text" name="txtName"/></br>
            Age : &nbsp;&nbsp;<input type="text" name="txtAge"></br>
            Gender : &nbsp;&nbsp;<input type="text" name="txtGender"/></br>
            Occupation : &nbsp;&nbsp;<input type="text" name="txtOccupation"/><br>
            <input type="submit" name="btnSubmit" value="Sign Up"/><br/>
        </form>
    </body>
</html>


<?php
    $name=isset($_REQUEST['txtName'])?$_REQUEST['txtName']:"";
    $age=isset($_REQUEST['txtAge'])?$_REQUEST['txtAge']:"";
    $gender=isset($_REQUEST['txtGender'])?$_REQUEST['txtGender']:"";
    $occupation=isset($_REQUEST['txtOccupation'])?$_REQUEST['txtOccupation']:"";

    $con = @mysql_connect("localhost","root","");
    $db = mysql_select_db("db_insert_and_drop_down_list");

    if(isset ($_REQUEST['btnSubmit']))
    {
        $sql = "INSERT INTO tbl_employee(col_name,col_age,col_gender,col_occupation)values('$name','$age','$gender','$occupation')";
        $status=mysql_query($sql);

        $sql2 = "SELECT * FROM tbl_employee ORDER BY col_name ASC";
        $rs = mysql_query($sql2);





        echo "<select name='lstName' onchange=\"reload(this.form)\">
        <option value=''>Select one</option>";

        while($row = mysql_fetch_array($rs))
        {
            echo "<option value='$row[col_name]'>$row[col_name]</option>"."<BR>";
        }
        echo "</select>";

        //echo "<input type='submit' name='btnDisplayRecord' value='Display Record'>";
    }   




    //and strlen($param_name) > 0
    $param_name=isset($_REQUEST['param_name'])?$_REQUEST['param_name']:"";
    echo $param_name;
    if(isset($param_name))
    {
        $sql3 = "SELECT * FROM tbl_employee WHERE col_name='$param_name'";
        $rs_emp = mysql_query($sql3);

        echo "pppppppppppppppppppppppppp";

        echo "$param_name";

        echo "nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn";


        while($row_emp = mysql_fetch_array($rs_emp))
        {
            echo "aaaaaaa";

            echo $row_emp['col_name'];

            //echo "<input type='text' name='txtName' value=".$row_emp['col_emp']."/></br>";
        }
    }
    mysql_close();
?>

和SQL

代码语言:javascript
复制
  CREATE TABLE IF NOT EXISTS `tbl_employee` (
  `col_name` varchar(25) NOT NULL,
  `col_age` int(5) NOT NULL,
  `col_gender` varchar(10) NOT NULL,
  `col_occupation` varchar(25) NOT NULL,
  PRIMARY KEY (`col_name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `tbl_employee`
--

INSERT INTO `tbl_employee` (`col_name`, `col_age`, `col_gender`, `col_occupation`) VALUES
('aa', 11, 'aa', 'aa'),
('aaa', 11, 'aaaaa', 'aaa');

请看一看,给我指路。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-12-22 19:52:12

  • 这是目前正在遵循的命名约定,我很高兴我不需要使用这种命名结构。tbl_,col_...如果你是上面所有代码的所有者,请切换到pdo或mysqli。
  • 在一遍又一遍地看代码之后,我发现原来的页面并没有重定向,那就是

self.location='insert_and_drop_down_list.php?param_name=‘+ val ;

此行无法重定向到自身并传递参数。由于参数没有传递,所以整个脚本都会失败。我甚至尝试按如下方式传递参数

代码语言:javascript
复制
<?php echo Header('Location:insert_and_ddl.php?param_name=' + val)?>

但是页面仍然没有重定向,也没有传递参数。有什么建议吗?

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

https://stackoverflow.com/questions/27598620

复制
相关文章

相似问题

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