HTML<;选择>;在PHP内部使用mysql数据

HTML<;选择>;在PHP内部使用mysql数据,php,html,mysql,Php,Html,Mysql,我不熟悉HTML和PHP,所以很抱歉有一个小问题。我试图在php中创建一个select语句,从mysql数据库中获取选项的值。我设法做到了,但在我的选择选项中,由于某种原因,每个条目后面都有一个空行。下面是一些具有空行的示例代码。你知道是什么原因导致这些空行出现吗?谢谢 $rs = mysql_query("SELECT title, year FROM Movie GROUP BY title;" , $db_connection) or die(mysql_error());

我不熟悉HTML和PHP,所以很抱歉有一个小问题。我试图在php中创建一个select语句,从mysql数据库中获取选项的值。我设法做到了,但在我的选择选项中,由于某种原因,每个条目后面都有一个空行。下面是一些具有空行的示例代码。你知道是什么原因导致这些空行出现吗?谢谢

$rs = mysql_query("SELECT title, year FROM Movie GROUP BY title;" , $db_connection)
    or die(mysql_error());


    for($i = 0; $row = mysql_fetch_row($rs); $i++)
    {

        $count = count($row);

        for($j = 0; $j < $count; $j++)
        {
            $temp_row1 = current($row);
            next($row);
            $temp_row2 = current($row);

            print " <option value=\"$temp_row1 $temp_row2\">$temp_row1 $temp_row2</option> ";
            next($row);
        }
    }


    echo  "</select>";
$rs=mysql\u查询(“按标题从电影组中选择标题、年份;”,$db\u连接)
或者死(mysql_error());
对于($i=0;$row=mysql\u fetch\u row($rs);$i++)
{
$count=计数($row);
对于($j=0;$j<$count;$j++)
{
$temp_row1=当前($row);
下一个($行);
$temp_row2=当前($row);
打印“$temp_row1$temp_row2”;
下一个($行);
}
}
回声“;
编辑:

好的,所以我最终做了这个,这对我来说是一个更干净的代码,但我还有一个问题。由于某些原因,我无法在按下“选择”菜单上的“提交”按钮后获得该值

<?php


    echo "<form action=\"./addCommentsToMovies.php\" method=\"GET\">";
    echo "<select name=\"rating\">";


    $db_connection = mysql_connect("localhost", "cs143", "")
    OR die("could not connect to database !!!");

    mysql_select_db("CS143", $db_connection);




    $rs = mysql_query("SELECT * FROM Movie GROUP BY title;" , $db_connection)
    or die(mysql_error());



    while ($row = mysql_fetch_assoc($rs))
    {
        $tmp_movieName = $row[title];
        $tmp_movieYear = $row[year];

        print " <option value=\"$tmp_movieName $tmp_movieYear\">$tmp_movieName $tmp_movieYear</option> ";
    }


    echo  "</select>";
    echo "<input type=\"submit\" name=\"submit\" value=\"GO\"/>";
    echo "</form>";


    $rating = $_GET[rating];

    echo "Print This: " . $rating;


    mysql_close($db_connection);


?>

换句话说,echo“打印此文件:”$评级 仅打印“打印此:”并且$rating变量为空。

尝试此操作
try this

<?php 
    $rs = mysql_query("SELECT title, year FROM Movie GROUP BY title;" , $db_connection)
    or die(mysql_error());


    for($i = 0; $row = mysql_fetch_row($rs); $i++)
    {

        $count = count($row);

        for($j = 0; $j < $count; $j++)
        {
            $temp_row1 = current($row);
            next($row);
            $temp_row2 = current($row);
?>
            <option value="<?php echo $temp_row1.$temp_row2 ?>"><?php echo $temp_row1.$temp_row2 ?></option>;
   <?php          next($row);
        }
    }
?>
试试这个

使用
mysqli\u fetch\u array
创建一个包含所有数据的数组,并使用while循环从
$row
数据数组打印数据

$rs = mysql_query("SELECT title, year FROM Movie GROUP BY title;" , $db_connection) or die(mysql_error());

    echo  '<select name="title">';
    while($row = mysqli_fetch_array($rs))
    {

        echo'<option value="'.$row['title'].'" >'.$row['title'].'</option>';
    }
    echo  "</select>";
?>  
$rs=mysql\u query(“按标题从电影组中选择标题,年份;”,$db\u connection)或die(mysql\u error());
回声';
while($row=mysqli\u fetch\u数组($rs))
{
回显“.$row['title']”;
}
回声“;
?>  

使用
mysqli_fetch_array
创建一个包含所有数据的数组,并使用while循环从
$row
数据数组打印数据

$rs = mysql_query("SELECT title, year FROM Movie GROUP BY title;" , $db_connection) or die(mysql_error());

    echo  '<select name="title">';
    while($row = mysqli_fetch_array($rs))
    {

        echo'<option value="'.$row['title'].'" >'.$row['title'].'</option>';
    }
    echo  "</select>";
?>  
$rs=mysql\u query(“按标题从电影组中选择标题,年份;”,$db\u connection)或die(mysql\u error());
回声';
while($row=mysqli\u fetch\u数组($rs))
{
回显“.$row['title']”;
}
回声“;
?>  

注意:mysql已被弃用,请使用mysqli或PDO

首先,您不需要使用
current
next
函数来显示选择框,也不需要太多for循环

<?php
  $db_connection = mysql_connect("localhost", "cs143", "")
OR die("could not connect to database !!!");

mysql_select_db("CS143", $db_connection);
if(isset($_POST['submit'])){
 echo $_POST['rating'];
}
?>

<form action="" method="post">
<select name="rating"  required>
<option value="">Select</option>
<?php
/*Selects all the available shows*/
$sql="SELECT title, year FROM Movie GROUP BY title";
$result_show=mysql_query($sql_show);
while($row_show=mysql_fetch_array($result_show))
{ 
    $value=$row_show['title'].$row_show['year'];   
    $display=$row_show['title'].$row_show['year'];  
   //I can use single variable to this but you need to understand 
    echo '<option value='.$value.'>'.$display.'</option>';
}
?>
</select>
<input type="submit" name="submit" value="GO"/>
</form>

挑选

注意:mysql已被弃用,请使用mysqli或PDO

首先,您不需要使用
current
next
函数来显示选择框,也不需要太多for循环

<?php
  $db_connection = mysql_connect("localhost", "cs143", "")
OR die("could not connect to database !!!");

mysql_select_db("CS143", $db_connection);
if(isset($_POST['submit'])){
 echo $_POST['rating'];
}
?>

<form action="" method="post">
<select name="rating"  required>
<option value="">Select</option>
<?php
/*Selects all the available shows*/
$sql="SELECT title, year FROM Movie GROUP BY title";
$result_show=mysql_query($sql_show);
while($row_show=mysql_fetch_array($result_show))
{ 
    $value=$row_show['title'].$row_show['year'];   
    $display=$row_show['title'].$row_show['year'];  
   //I can use single variable to this but you need to understand 
    echo '<option value='.$value.'>'.$display.'</option>';
}
?>
</select>
<input type="submit" name="submit" value="GO"/>
</form>

挑选


对于
的第一个
应该是
,而
,你不需要两个循环有什么区别?使用POST方法而不是GETManjeet,我正在学习PHP、HTML和MYSQL,因为我的一门课程需要知识,而且出于某种原因,它们迫使我们使用GET。因此,我需要知道如何使用GET完成这些基本工作,以便我可以在以后的课程中完成我的项目。警告:如果您只是在学习PHP,请不要使用该接口。它是如此可怕和危险,在PHP7中被删除。替换类和指南类解释了最佳实践。
的第一个
应该是
,而
,你不需要两个循环有什么区别?使用POST方法而不是GETManjeet,我正在学习PHP、HTML和MYSQL,因为我的一门课程需要知识,而且出于某种原因,它们迫使我们使用GET。因此,我需要知道如何使用GET完成这些基本工作,以便我可以在以后的课程中完成我的项目。警告:如果您只是在学习PHP,请不要使用该接口。它是如此可怕和危险,在PHP7中被删除。一个替代品和一个指南解释了最佳实践。他为什么要尝试,eplainI只是想解决op的问题,没有别的。亲爱的@Dagon,没关系。。我明白,但你可以给我一个警告,让我解释一下,而不是投反对票……:(@LegatusGat,在你的表格中使用post方法,这可以打印评级
if(isset($\u post['rating']){echo$\u post['rating'];}
他为什么要尝试它,eplainI只是想解决op的问题,没有别的。亲爱的@Dagon,没关系……我明白,但你可以给我一个警告,让我解释一下,而不是投反对票……:(@LegatusGat,在表单中使用post方法,并使用此方法打印分级
if(isset($\u post['rating']){echo$\u post['rating'];}
注意龙:)他马上就要投票否决你了。Sanooj我每隔几行仍然会收到一些空选项。有什么线索可能导致这种情况吗?你在数据库中运行过那个查询吗?很完美吗?是的,我在数据库中运行过它。实际上我只是注意到一些奇怪的事情。我只是从其中一行空行中提取了值,并进行了回显,得到了类似这样的内容供检查ple 13th Warrior>所有的空行都有电影名称,然后在名称后面有>,这些空行在选项中显示为空。我刚刚检查了我的数据库,这些电影名称没有问题。你的电影名称有
这个符号?小心龙:)他马上就要投票否决你了。Sanooj我每隔几行仍然会收到一些空选项。有什么线索可能导致这种情况吗?你在数据库中运行过那个查询吗?很完美吗?是的,我在数据库中运行过它。实际上我只是注意到一些奇怪的事情。我只是从其中一行空行中提取了值,并进行了回显,得到了类似这样的内容供检查ple 13th Warrior>所有的空行都有电影名称,然后在名称后面有>,这些在选项中显示为空。我刚刚检查了我的数据库,这些电影名称没有问题。你的电影名称有
这个符号吗?兄弟,这是常识问题,呃,可以比较代码和理解的差异,我认为没有必要解释兄弟,这是常识性的问题,嗯,可以比较代码和理解的区别,我认为没有必要解释