Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.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_Html - Fatal编程技术网

使用php从数据库中获取作为选项值的值

使用php从数据库中获取作为选项值的值,php,html,Php,Html,所以我在做我们的论文,我需要将一些值从我的sql数据库传输到我的数据库 以下是示例代码: <tr> <td id="t" align="center">Subject: <select name="subj"> <?php $con = mysql_connect("localhost","root"); if (!$con) { die('Coul

所以我在做我们的论文,我需要将一些值从我的sql数据库传输到我的数据库

以下是示例代码:

    <tr>
        <td id="t" align="center">Subject: <select name="subj">
        <?php 
        $con = mysql_connect("localhost","root");
        if (!$con)
        {
        die('Could not connect: ' . mysql_error());
        }

        $db_selected = mysql_select_db("sps_ccp",$con);
        $college=$_SESSION['college1'];
        $sql="SELECT * FROM subject_db WHERE crs='$college'";
        $result=mysql_query($sql,$con);
        $count=mysql_num_rows($result);
        //echo $count;
        for($ctr=0;$ctr<$count;$ctr++)
        {
        $sql1="SELECT subject FROM subject_db WHERE crs='$college'";
        $subj=mysql_query($sql1,$con);
        $subj1=mysql_result($subj,$ctr);
        echo "<option value=".$subj1.">".$subj1."</option>";
        }
        ?>
</select>
</td>
<tr>
    <td id="t">Building: <select name="build">
    <option value="hr">HR Building</option>
    <option value="pr">PR Building</option>
    <option value="gv">GV Building</option>
    </select>
    </td>
    <td id="t">Room: <select name="room">
    <?php
    if(isset($_POST['build'])){

        if($_POST['build']=='hr')
        {
            $hr = mysql_query("SELECT * FROM hrbuilding");
            $h1 = mysql_num_rows($hr);
            while(mysql_fetch_array($hr)){
            if(h1>0)
            {   
                echo "<option value=".$hr.">".$hr."</option>";

            }
            }
        }
    }
    ?>
    </td>

主题:
两个都不起作用。它在选项框上没有值。我确实检查了我的数据库,我认为它没有任何问题。我问过某人如何处理这个问题,但他建议使用javascript,我真的不明白它是如何工作的。
希望你能帮助我:)谢谢

由于缺少
会话_start(),第一个代码体可能无法工作这是使用时必需的。由于它必须位于顶部,您可能会收到一个错误,指出
标题已发送…
,因此您需要将HTML与PHP分开,将PHP置于顶部,或者将
ob_start()置于顶部
会话_start()的顶部

您的第二个代码体很可能会失败,因为该
if(h1>0)
应该读为
if($h1>0)
您遗漏了
$
符号

另外,在您的第一段代码中,您缺少以下密码参数:(如果不是输入错误)

应改为:

$con = mysql_connect("localhost","root","password");



<强> N.B: 请考虑切换到<代码> MySqLI**<代码>函数。code>mysql.*

函数已弃用,将从以后的版本中删除。

我认为您在这里有一个错误: 您从查询中获得结果,但再次调用相同的查询,但实际上没有得到字段(仅是查询的资源)。
value
属性中还缺少一个引号

要修复:

    $db_selected = mysql_select_db("sps_ccp",$con);
    $college=$_SESSION['college1'];
    $sql="SELECT * FROM subject_db WHERE crs='$college'";
    $result=mysql_query($sql,$con);
    $count=mysql_num_rows($result);
    //echo $count;
    while($row=mysql_fetch_assoc($result)) {
       echo '<option value="'.$row["subject"].'">'.$row["subject"].'</option>';
    }
希望这能对你有所帮助

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <select name="sample_s">
        <?php
            mysql_connect("localhost","root","your_password");
            mysql_select_db("db_name");
            if(mysql_errno())
            die("Database Server is Offline");
            $q=mysql_query("SELECT `id`, `opt` FROM `sample`");
            if(mysql_num_rows($q)){
                while($m=mysql_fetch_assoc($q))
                {
                    echo '<option value="'.$m["opt"].'">'.$m["opt"].'</option>';
                }        
            }    
        ?>
    </select>
</body>
</html>


您得到了什么结果?您正在打印错误消息吗?@General\u Twyckenham我只是在获取一个选项框的值。我应该照张相吗?我真的不擅长解释事情。我不是在打印错误消息,只是试图从数据库中获取条件语句的值。至少描述一下什么不起作用。你得到了错误的值吗?没有值?步骤1:在php文件顶部写入
错误报告(1)
。第二步:在每一步(每一个if语句)进行检查,看看你是否真的达到了目的。例如:在if(isset($\u post['build'])之后,生成一行
echo“Variable build is set”。这将让你看到你的程序正在达到什么阶段。旁注:第一个阶段可能没有工作,因为缺少
会话_start()这是使用会话时必需的。谢谢,我尝试了它,但选项框仍然没有值。不客气。您还需要有
标记,我在您的代码中没有看到这些标记。你在用它们吗@Jessica也在这行
echo“$hr”应该看起来像
echo“$hr”
回显“$hr”@Jessicajoy谢谢我试过了,但选项框还是没有值。我现在在猜测,但是这次会议产生的
$college
的价值是什么?你能把它打印出来吗?该值是否为有效(存在)
crs
字段?您是否可以硬编码一个值,以查看它是否工作,而不是会话?你能使用我编辑答案的功能吗?谢谢,我试过了,但选项框仍然没有值。
    $db_selected = mysql_select_db("sps_ccp",$con);
    $college=$_SESSION['college1'];
    $sql="SELECT * FROM subject_db WHERE crs='$college'";
    $result=mysql_query($sql,$con);
    $count=mysql_num_rows($result);
    //echo $count;
    while($row=mysql_fetch_assoc($result)) {
       echo '<option value="'.$row["subject"].'">'.$row["subject"].'</option>';
    }
// very top of file
ini_set("display_errors",1);
error_reporting(E_ALL);

// now, just call your PHP code but in between 2 calls
ob_start();

...call your PHP code here

$buffer = ob_get_clean();
echo $buffer;    // what is here? place it so you can see on screen what it says
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <select name="sample_s">
        <?php
            mysql_connect("localhost","root","your_password");
            mysql_select_db("db_name");
            if(mysql_errno())
            die("Database Server is Offline");
            $q=mysql_query("SELECT `id`, `opt` FROM `sample`");
            if(mysql_num_rows($q)){
                while($m=mysql_fetch_assoc($q))
                {
                    echo '<option value="'.$m["opt"].'">'.$m["opt"].'</option>';
                }        
            }    
        ?>
    </select>
</body>
</html>