HTML<;选择>;在PHP内部使用mysql数据
我不熟悉HTML和PHP,所以很抱歉有一个小问题。我试图在php中创建一个select语句,从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());
$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>所有的空行都有电影名称,然后在名称后面有>,这些在选项中显示为空。我刚刚检查了我的数据库,这些电影名称没有问题。你的电影名称有
这个符号吗?兄弟,这是常识问题,呃,可以比较代码和理解的差异,我认为没有必要解释兄弟,这是常识性的问题,嗯,可以比较代码和理解的区别,我认为没有必要解释