Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何创建包含数据库中类别的下拉列表?_Php_Mysql - Fatal编程技术网

Php 如何创建包含数据库中类别的下拉列表?

Php 如何创建包含数据库中类别的下拉列表?,php,mysql,Php,Mysql,我创建了一个文件来添加类别,并创建了一个文件来添加子类别。在这个文件中,我想创建一个下拉列表,其中包括(数据库中的类别),我已经创建了一个名为“存储”的数据库-包含:类别的类别表包含两个字段,一个用于标识符,另一个用于类别名称,子类别的表“subcat”包含三个字段。。。ID字段,子类别的subcat\u nm字段,类ID的parent\u ID字段,即>>cat\u ID=parent\u ID `CREATE TABLE `category` ( `cat_id` int(4) NOT

我创建了一个文件来添加类别,并创建了一个文件来添加子类别。在这个文件中,我想创建一个下拉列表,其中包括(数据库中的类别),我已经创建了一个名为“存储”的数据库-包含:类别的类别表包含两个字段,一个用于标识符,另一个用于类别名称,子类别的表“subcat”包含三个字段。。。ID字段,子类别的subcat\u nm字段,类ID的parent\u ID字段,即>>cat\u ID=parent\u ID

`CREATE TABLE `category` (
  `cat_id` int(4) NOT NULL AUTO_INCREMENT,
  `cat_nm` varchar(30) NOT NULL,
  PRIMARY KEY (`cat_id`)
);


CREATE TABLE `subcat` (
  `subcat_id` int(4) NOT NULL AUTO_INCREMENT,
  `parent_id` int(4) NOT NULL,
  `subcat_nm` varchar(35) NOT NULL,
  PRIMARY KEY (`subcat_id`)
);`
config.php

<?php
error_reporting( E_ALL & ~E_DEPRECATED & ~E_NOTICE );
ob_start();
session_start();

define('DB_DRIVER', 'mysql');
define('DB_SERVER', 'localhost');
define('DB_SERVER_USERNAME', 'root');
define('DB_SERVER_PASSWORD', '');
define('DB_DATABASE', 'store');


define('PROJECT_NAME', 'test');
$dboptions = array(
              PDO::ATTR_PERSISTENT => FALSE, 
              PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, 
              PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
              PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
            );

try {
  $DB = new PDO(DB_DRIVER.':host='.DB_SERVER.';dbname='.DB_DATABASE, DB_SERVER_USERNAME, DB_SERVER_PASSWORD , $dboptions);  
} catch (Exception $ex) {
  echo $ex->getMessage();
  die;
}

//get error/success messages
if ($_SESSION["errorType"] != "" && $_SESSION["errorMsg"] != "" ) {
    $ERROR_TYPE = $_SESSION["errorType"];
    $ERROR_MSG = $_SESSION["errorMsg"];
    $_SESSION["errorType"] = "";
    $_SESSION["errorMsg"] = "";
}
?>

这些是用于添加子类别的代码 文件addsubcategory.php

<? php
require_once './config.php';
?>
  <div class = "row">
    <div class = "panel panel-primary">
      <div class = "panel-body">
        <form class = "form-horizontal" name = "contact_form" id = "contact_form" enctype = "multipart / form-data" method = "post" action = "process_subcategory.php">
          <input type = "hidden" name = "mode" value = "<? php echo ($ _GET [" m "] ==" update ")?" update_old ":" add_new ";?>">>
          <input type = "hidden" name = "subcat_id" value = "<? php echo intval ($ results [0] [" subcat_id "]);?>">
          <fieldset>
<div class = "form-group">
<label class = "col-lg-4 control-label" for = "subcat_nm"> Choose category </label>
              <div class = "col-lg-5">
<? php
        // Here I want to create a dropdown list containing the categories from the database
           ?>
              </div>
            </div>
<br> <p>
            <div class = "form-group">
              <label class = "col-lg-4 control-label" for = "subcat_nm"> Add subcategory </label>
              <div class = "col-lg-5">
                <input type = "text" value = "<? php echo $ results [0] [" subcat_nm "]?>" placeholder = "" id = "subcat_nm" class = "form-control" name = "subcat_nm" required = "required">
              </div>
            </div>
            <div class = "form-group">
              <div class = "col-lg-5 col-lg-offset-4">
                <button class = "btn btn-primary" type = "submit"> Submit </button>
              </div>
            </div>
          </fieldset>
        </form>
      </div>
    </div>
  </div>


请帮助PPPP

请发布最少的代码,以便我们可以轻松调试。就像你的错误是什么一样,期望的输出。所有的空间填充都是不必要的,出乎意料的,并且很可能导致打字错误,以及其他开发人员误解你的代码。请查看PSR标准,并使您的脚本编写实践与世界其他地方保持一致。带有
$results[0][“subcat_id”]
的字段将无法访问结果集第一行
subcat_id
列中的值,因为存在空格填充。您没有名为
[whitespace]subcat\u nm
的前导空白列,因此插入将失败并生成错误。检查错误日志。我投票以打字错误结束。这个
:parent\u id
永远不会起作用。删除空格。在代码中尝试在何处创建下拉列表?
<? php
require './config.php';
$ mode = $ _REQUEST ["mode"];
if ($ mode == "add_new") {
  $ parent_id = trim ($ _ POST ['parent_id']);
  $ subcat_nm = trim ($ _ POST ['subcat_nm']);
  $ error = FALSE;
  if (! $ error) {
    $ sql = "INSERT INTO` subcat` (`parent_id`,` subcat_nm`) VALUES ". "(: parent_id,: subcat_nm)";
    try {
      $ stmt = $ DB-> prepare ($ sql);
      // bind the values
$ stmt-> bindValue (": parent_id", $ parent_id);
      $ stmt-> bindValue (": subcat_nm", $ subcat_nm);
      // execute Query
      $ stmt-> execute ();
      $ result = $ stmt-> rowCount ();
      if ($ result> 0) {
        $ _SESSION ["errorType"] = "success";
        $ _SESSION ["errorMsg"] = "Added successful.";
      } else {
        $ _SESSION ["errorType"] = "danger";
        $ _SESSION ["errorMsg"] = "The addition failed.";
      }
    } catch (Exception $ ex) {
      $ _SESSION ["errorType"] = "danger";
      $ _SESSION ["errorMsg"] = $ ex-> getMessage ();
    }  }
  header ("location: addsubcategory.php");
}
?>