我需要获得一个字段的值;我想我是在正确的路线,但不太确定这是正确的代码。 “删除电影”按钮是我试图获取该行的值的地方:
value="'.$row['id'].'"
你能帮忙吗?
<?php
//connect to database
mysql_connect($mysql_hostname,$mysql_user,$mysql_password);
@mysql_select_db($mysql_database) or die("<b>Unable to connect to specified database</b>");
//query databae
$query = "select * from movielist";
$result=mysql_query($query) or die('Error, insert query failed');
$row=0;
$numrows=mysql_num_rows($result);
echo "<table border=1>";
echo "<tr>
<td>ID</td>
<td>Type</td>
<td>Title</td>
<td>Description</td>
<td>Imdb URL</td>
<td>Year</td>
<td>Genre</td>
<td>Actions</td>
</tr>";
while($row<$numrows)
{
$id=mysql_result($result,$row,"id");
$type=mysql_result($result,$row,"type");
$title=mysql_result($result,$row,"title");
$description=mysql_result($result,$row,"description");
$imdburl=mysql_result($result,$row,"imdburl");
$year=mysql_result($result,$row,"year");
$genre=mysql_result($result,$row,"genre"); ?>
<tr>
<td><?php echo $id; ?></td>
<td><?php echo $type; ?></td>
<td><?php echo $title; ?></td>
<td><?php echo $description; ?></td>
<td><?php echo $imdburl; ?></td>
<td><?php echo $year; ?></td>
<td><?php echo $genre; ?></td>
<td>
<!-- Delete Movie Button -->
<form style="display: inline;" action="delete/" method="post" onsubmit="return movie_delete()">
<input type="hidden" name="moviedeleteid" value="'.$row['id'].'">
<button type="submit" class="tooltip table-button ui-state-default ui-corner-all" title="Delete trunk"><span class="ui-icon ui-icon-trash"></span></button>
</form>
</td>
</tr>
<?php
$row++;
}
echo "</table>";
?>
答案 0 :(得分:1)
您正在使用它
<input type="hidden" name="moviedeleteid" value="'.$row['id'].'">
但问题是:PHP如何知道您指的是变量而不是纯HTML? PHP为您提供了一个非常方便的工具,使您明确表示要在HTML中执行PHP代码(实际上纯PHP 代码不存在,因为任何.php
文件也可以包含HTML) :<?php
和?>
代码。
我很确定你知道我在说什么,因为你已经正确地使用了它们。因此,只需更改以上行:
<input type="hidden" name="moviedeleteid" value="<?php echo $row['id']; ?>">
// ^^^^^ ^^^^ ^ ^^
您使用的是字符串连接,其工作方式与(.
连接字符串完全相同)但在您的情况下放在HTML上下文中。
答案 1 :(得分:0)
尝试使用内联回显标记:
<?=$id;?>
默认情况下,此速记样式已关闭,因此如果不起作用,请改用:
<?php echo $id; ?>
答案 2 :(得分:0)
您已经提取了$ id,只需直接使用它即可。
<input type="hidden" name="moviedeleteid" value="<?php echo $id>">
如果没有首先使用标记指定新的PHP代码的开头,则不能在HTML标记之间使用PHP代码。
$ row只是一个整数,但你试图像数组一样使用它。您没有将一行的内容分配给$ row,而只是当前的行号。
可选地
while ($row = mysql_fetch_assoc($result)
{
echo $row['id'];
}
答案 3 :(得分:0)
<?php
//connect to database
mysql_connect($mysql_hostname,$mysql_user,$mysql_password);
@mysql_select_db($mysql_database) or die("<b>Unable to connect to specified database</b>");
//query databae
$query = "select * from movielist";
$result = mysql_query($query) or die('Error, insert query failed');
$row=0; // ???
$numrows=mysql_num_rows($result);
echo "<table border=1>";
echo "<tr>
<td>ID</td>
<td>Type</td>
<td>Title</td>
<td>Description</td>
<td>Imdb URL</td>
<td>Year</td>
<td>Genre</td>
<td>Actions</td>
</tr>";
while($row = mysql_fetch_assoc($result))
{
$id = $row["id"];
//... and so on ?>
<tr>
<td><?= $id; ?></td>
<!-- and so on -->
<td>
<!-- Delete Movie Button -->
<form style="display: inline;" action="delete/" method="post" onsubmit="return movie_delete()">
<input type="hidden" name="moviedeleteid" value="<?= $id ?>">
<button type="submit" class="tooltip table-button ui-state-default ui-corner-all" title="Delete trunk"><span class="ui-icon ui-icon-trash"></span></button>
</form>
</td>
</tr>
<?php
$row++;
}
echo "</table>";
?>
我改变了:
while()