php - 如何在单个数据库字段中输入多个下拉选项?

标签 php html mysql

<select name"nom[]" id="nom" multiple >
    <option value="BlackTrap">Blacktrap</option>
    <option value="Murrum">Murrum</option>
    <option value="Odinary Clay">Ordinary Clay </option>
    <option value="Lignite">Lignite</option>
    <option value="Odinary Send">Ordinary Send</option>
    <option value="Limestone">Limestone</option>
    <option value="Earth Bricks">Earth Bricks</option>
    <option value="Greval">Greval</option>
    <option value="Silica Sand">Silica Sand</option>
    <option value="Hard moroum">Hard moroum</option>
    <option value="Dolo Might">Dolo Might</option>
    <option value="None">None</option>
</select>

下面的代码是php的。

class PDF extends FPDF
  {
  // Page header
  function Header()
  {

    //$ID = $_POST['ID'];

      // Logo
      $this->Image('logo.jpg',25,10,175);
      // Arial bold 12
      $this->SetFont('Arial','B',12);

      $this->Cell(100,80,'No/GS/'.$_POST["Reg"].'/'.$_POST["no"].'/'.$GLOBALS['last_id'],0,0,'C');  $this->Cell(150,80,'Dt.'. date("d/m/Y"),0,0,'C');

      $this->Ln(5);
      $this->Cell(200,100,'Registration for Grant of registrantion',0,0,'C');

      // Line break
      $this->Ln(60);
  }

  // Page footer
  function Footer()
  {
      // Position at 1.5 cm from bottom
      $this->SetY(-12);
      // Arial italic 8
      $this->SetFont('Arial','B',12);
      // Page number
      $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
  }
  }

  // Instanciation of inherited class
  $pdf = new PDF();

  $pdf->AliasNbPages();
  $pdf->AddPage();
  $pdf->SetFont('Times','B',14);
  $pdf->SetX(30);
  //$pdf->Cell(25,12,'Registration: '.$_POST["Reg"],0,1);
  //$pdf->Cell(25,12,'Nomber: '.$_POST["no"],0,1);

    $pdf->Cell(25,12,'Name Of Applicant: '.$_POST["name"],0,1);
      $pdf->SetX(30);
    $pdf->Cell(25,12,'Address: '.$_POST["add"],0,1);
      $pdf->SetX(30);
    $pdf->Cell(25,12,'Name of Mineral/ore: '.$_POST["nom"],0,1);
      $pdf->SetX(30);
    $pdf->Cell(25,12,'Place of Storage: '.$_POST["Storage"],0,1);
      $pdf->SetX(30);
    $pdf->Cell(25,12,'Date of Registration From : '.$_POST["Date1"],0,1);
      $pdf->SetX(30);
    $pdf->Cell(25,12,'Date of Registration To: '.$_POST["Date2"],0,1);
      $pdf->SetX(30);
    $pdf->Cell(25,12,'Profession of the registrant : '.$_POST["Profession"],0,1);
      $pdf->SetX(30);
    $pdf->Cell(50,12,'Remark: '.$_POST["remark"],0,1);
    $pdf->Output();

}
}
}

我在执行代码时遇到这个错误

Notice: Undefined index: nom in /Applications/XAMPP/xamppfiles/htdocs/MinesMineral_v3/final/connection.php on line 558

Notice: Undefined index: nom in /Applications/XAMPP/xamppfiles/htdocs/MinesMineral_v3/final/connection.php on line 616 FPDF error: Some data has already been output, can't send PDF file

最佳答案

首先,name属性必须是

name="nom[]" // not name"nom[]"

这就是您收到 undefined index 警告的原因。

其次,由于$_POST["nom"] 是数组,要获取它的字符串表示形式,您应该使用例如implode:

$pdf->Cell(25,12,'Name of Mineral/ore: '.implode(', ', $_POST["nom"]),0,1);

在这种情况下,您将得到除以 , 的项目列表。

或者您可以遍历 $_POST["nom"] 并在每个 Cell 调用中输出每个项目:

foreach ($_POST["nom"] as $ore) {
    $pdf->Cell(25,12,'Name of Mineral/ore: ' . $ore,0,1);
}

关于php - 如何在单个数据库字段中输入多个下拉选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49304096/

相关文章:

php - 对象与数组、{ } 与 [ ]、echo 与 print_r

php - 如何提高 MySQL 数据库的性能

php - 将行和/或列合并到 GROUP BY 中的一个字段中

php - 数据库查询: Select row where and where

Php, MySql - 将数据作为键值对插入到两个表中

java - hibernate 标准过滤一组枚举值

php - php中两个时间戳变量之间的区别

php - 通过 php 检查复选框时隐藏 html

android - CSS 边框半径不适用于 Android webview

html - 垂直居中的文本一直在图标下方