PHP从数据库获取值并将其显示在HTML内部

时间:2018-10-13 04:58:29

标签: php html

我的系统出现问题,我在youtube视频中遵循以下代码。但更改一些文字。这是我的代码

<label>Department</label>
    <select>
        <?php
        include 'php/connect.php';

        $sql = "SELECT member_type_id FROM member_type";
        $result = mysqli_query($conn, $sql);
        echo "Select a Department";
        while ($row =mysql_fetch_array($result)) {
        echo "<option value='" . $row['member_type_id'] ."'>" . $row['member_type_id'] ."</option>";
        }
        ?>
</select>

问题是,它没有向我显示该表中的值,这是我的数据库表

enter image description here

该html文件还可以,但是当我单击subit时,我总是会导致成员注册失败,请有人纠正我的代码

<?php

include 'php/connect.php';

 $Lname = $_POST['Lname'];
 $Fname = $_POST['Fname'];
 $Mname = $_POST['Mname'];
 $Bdate = $_POST['Bdate'];
 $Address = $_POST['Address'];
 $Contact = $_POST['Contact'];
 $member_type_id = $_POST['Dept'];
 $Gender = $_POST['Gender'];



 if($Lname == '' OR $Fname == '' OR  $Mname =='' OR  $Bdate == '' OR $Address =='' OR $Contact =='' OR $Gender  =='' OR $member_type_id =='')
{       
            echo "Fill in all the forms";
}


else {



$sql = "INSERT INTO members (Lname, Fname, Mname, Bdate, Dept, Address, Contact, Gender)

VALUES ('$Lname', '$Fname', '$Mname', '$Bdate', 
'$member_type_id', '$Address', '$Contact', '$Gender')";
if ($conn->query($sql) === TRUE) 
    { 
            echo "A Member has been added successfully";</script>";

    } 
else 
{

回显“成员注册失败”;     }

    }

$ conn-> close();

?>

4 个答案:

答案 0 :(得分:1)

启动HTML无效,具体是:

even = []
for number in items:
    if not number % 2:
        even.append(number)
if even:
    print(even[0])
else:
    print(-1)

这将导致HTML出现这种情况

  echo "Select a Department";

实际上,应将第一件事作为回声

 <select>
     Select a Department
     <option value="1">Faculty</option>
       ...
 </select>

因此您的HTML将是正确的

就查询而言,谁知道。不知道您是否设置了 echo '<option value="" >Select a Department</option>' 并建立了正确的连接。

$conn

除此之外

  $result = mysqli_query($conn, $sql);

只给您数字(没人想选择1、2或3)他们怎么​​知道1 =教师?

  $sql = "SELECT member_type_id FROM member_type";

将为您提供一切,就像在PHPmyAdmin中一样。然后:

 $sql = "SELECT * FROM member_type";

假设您的 echo "<option value='" . $row['member_type_id'] ."'>" . $row['member_type'] ."</option>"; 变量是适当的连接资源,将为您提供文字。

最后,这种引用的东西很难看。而是这样做(我无法在HTML中用单引号引起来)

$conn

也就是说,如果必须使用单引号,至少要以明智的方式使用变量插值。

 echo '<option value="'.$row['member_type_id'].'">'.$row['member_type'].'</option>';

另一件事(那件事)

 echo "<option value='{$row['member_type_id']}'>{$row['member_type']}</option>";

从PHP7开始, mysql_fetch_array 函数集已失效,mysql_*mysql_之间存在巨大差异。但除此之外,您还希望mysqli_如下:

mysqli_fetch_assoc()

更新

最重要的可能是打开显示错误和错误报告。让PHP告诉您什么地方出了问题,为什么要为此苦苦挣扎。

 while ($row =mysqli_fetch_assoc($result)) {

<?php error_reporting(-1); ini_set('display_errors','1'); 或在注释中张贴大量代码并没有帮助。编程很难。就像数学一样,您必须精确地做自己想做的事情,否则就做不到期望的事情。有成百上千种可能出错的东西,通常只有少数几样会起作用。

谢谢!

答案 1 :(得分:0)

更新您的连接字符串

<label>Department</label> 
<select name='memberName'> 
    <option>Select</option> 
    <?php 
        // Create connection
        $conn = mysqli_connect("localhost", "root", "", "library_system");
        // Check connection
        if (!$conn) {
            die("Connection failed: " . mysqli_connect_error());
        }
        $sql = "SELECT member_type_id FROM member_type";
        $result = mysqli_query($conn, $sql);

        echo "<select member_type_id='sub1'>"; 
        while($row = mysqli_fetch_assoc($result)) {
            echo "<option value='" . $row['member_type_id'] ."'>" . $row['member_type_id'] ."</option>"; 
        } 
    ?> 
</select>

答案 2 :(得分:0)

使用下面的代码,您将获得所需的结果-

<label>Department</label>
<select>
        <option value="">Select a Department</option>
        <?php
        include 'php/connect.php';

        $sql = "SELECT member_type_id, member_type FROM member_type";
        $result = mysqli_query($conn, $sql);
        while ($row =mysqli_fetch_array($result)) {
        echo "<option value='" . $row['member_type_id'] ."'>" . $row['member_type'] ."</option>";
        }
        ?>
</select>

答案 3 :(得分:0)

尝试一下。

<?php
include 'php/connect.php';

 $sql = "SELECT member_type_id FROM member_type";
$option = '';
 while($row = mysql_fetch_assoc($sql))
{
  $option .= '<option value = "'.$row['member_type_id'].'">'.$row['member_type_id'].'</option>';
}
?>
<html>
<body>
<form>
 <select> 
<?php echo $option; ?>
</select>
</form>
</body>
</html>