gpt4 book ai didi

php - 在 div 不回显 php 之后

转载 作者:行者123 更新时间:2023-11-28 13:19:00 27 4
gpt4 key购买 nike

我在 div 弹出窗口后回显甚至检索值时遇到问题 任何人都可以帮助解决问题是 $r 在 div 弹出窗口后没有显示。或者更确切地说,提取不会迭代,它只显示第一条记录..提前致谢

<?php
$con = mysql_connect('****', 'root','****') or die('Error connecting to MySQL server.');
mysql_select_db("dreschema", $con) or die("cannot select DB");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link href="styles2.css" rel="stylesheet" type="text/css" />
<link href="styles.css" rel="stylesheet" type="text/css" />
<link href="styleshref.css" rel="stylesheet" type="text/css" />
<script>


</script>
</head>
<body>
<div id="container1">


<div align="center"></div>
<div id="mainContent1">




<?php
$text = $_GET["searchtext"];
echo "Results displayed for ". $text;
echo '</br>';


$query4 = "SELECT * from products WHERE ProductName LIKE '%$text%'";
$data = mysql_query($query4, $con);
if (!mysql_query($query4, $con)){
print mysql_error();
exit;
}
while ($row = mysql_fetch_array($data)) {
echo $row['ProductName'];

if($row['Stock']== 0 OR $row['Stock']== "")
{
echo "(SOLDOUT)";
echo '<input type="hidden" name="prod" value="' . $row['Image'] . ' " " id = "prod">';
echo '<a href="preorder.php?image=' . $row['Image'] . '"><img id = "imageid" src="' . $row['Image'] . '" alt="' . $row['Image'] . '" width="80" height="80" style="margin-left:1.5em;margin-top:1.5em;"/></a>';
echo $row['Price'] . "PhP";
?>

<div id="blanket" style="display:none;"></div>
<div id="popUpDiv" style="display:none;">
<a href="#" onclick="popup('popUpDiv')"><font size =" 20">x</font></a><br>


<a href="#" onclick="popup('popUpDiv')" ><?php echo '<iframe src="orders2.php?image=' . $row['Image'] . '"style= position:absolute;width:500px;height:500px;"></iframe>';?> </a>

</div>
<a href="#" onclick="popup('popUpDiv')">Click to Open CSS Pop Up</a><br>

<?php
}
else
{
echo '<input type="hidden" name="prod" value="' . $row['Image'] . ' " " id = "prod">';
echo '<a href="orders2.php?image=' . $row['Image'] . '">';
echo '<img id = "imageid" src="' . $row['Image'] . '" alt="' . $row['Image'] . '" width="80" height="80" style="margin-left:1.5em;margin-top:1.5em;"/></a>';
echo $row['Price'] . "PhP";
$r = $row['Image'];
echo '<br>';

?>


<div id="blanket" style="display:none;"></div>
<div id="popUpDiv" style="display:none;">
<?php
echo $r;
?>
<a href="#" onclick="popup('popUpDiv')"><font size =" 20">x</font></a><br>

<a href="#" onclick="popup('popUpDiv')" ><?php echo '<iframe src="orders2.php?image=' . $row['Image'] . '"style= position:absolute;width:500px;height:500px;"></iframe>';?> </a>

</div>
<a href="#" onclick="popup('popUpDiv')">Click to Open CSS Pop Up</a><br>



<?php
}


}
?>

<!-- end #mainContent --></div>
<!-- end #container --></div>
</body>
</html>

最佳答案

这可能是也可能不是答案,但它不适合放在评论部分,所以我想在这里扩展它。查看代码,很难判断问题是否出在(a)MySQL 只返回一行; (b) PHP 循环遇到问题;或 (c) 一切正常,但您的 HTML 标记非常困惑,以至于浏览器根本无法按照您认为应该的方式呈现它。

要消除第一个问题,请在查询后立即添加:

$num_rows = mysql_num_rows($data);
if (!$num_rows){die('no rows');}
echo "<p>$num_rows rows returned</p>";

这样您就可以看到返回了多少行。另外,不要这样做:if (!mysql_query($query4, $con)){ .这样做 if(!$data){ .

----- 旁白 ----

Better yet switch to PDO or mysqli, as your current setup WILL be hacked and your data will get messed up). *On the MySQL front, at the very least, you should set $text =
mysql_real_escape_string($_GET["searchtext"]);
to avoid the simplest SQL injection attack, and for g*d's sake don't use the root user for your site. Set up MySQL users with limited permissions and use them... also, to avoid an XSS injection you should also strip_tags($_GET["searchtext"]) when echoing the text to the screen.*

-----/旁白----

如果问题不是查询返回单个响应,请查看源代码。您确定没有看到多个循环值(value)的代码吗?您有很多标记问题。我强调了一些:

  1. echo '<input type="hidden" name="prod" value="' . $row['Image'] . ' " " id = "prod">'; - 那些“在那里做什么?有一个 float 的”只是坐在那里,这可能会扰乱浏览器解释标签的方式。此外,您通常在属性值中有前导或尾随空格......摆脱那些,特别是在 value 中。属性。
  2. 同一行(以及其他行):您静态编码了一个元素 ID ( prod )。 ID 应该是唯一的,所以如果代码成功循环,你最终会得到很多具有相同 ID 的元素(这不应该导致你面临的问题,但包含的 javascript 你不是向我们展示,以便 JS 可以删除重复的 ID)。
  3. <iframe src="orders2.php?image=' . $row['Image'] . '"style= position:absolute;width:500px;height:500px;"></iframe> - style属性合并到 src属性。此处需要一个空格,否则浏览器可能不知道如何处理这两个属性。
  4. 同一行,style属性没有开头的“但它有结尾的”——更多的是相同的。
  5. <a href="orders2.php?image=' . $row['Image'] . '"> - 你没有开头 "但你有结尾 "......你可以完全省略引号,但你不能两者都做。

还有更多问题,以及一些您应该清理的通用编码标准,但您应该查看生成的代码并确保它通过集合。

最后,确保图像应该显示。在第一if声明图像从未被告知显示(大概它在 iframe 中)并且在 else 中声明图像是echo编辑成divstyle="display:none" ,所以我们不希望看到它。如果问题只是没有显示图像,请确保 iframe src 是正确的(并且当您将图像 URI 作为 urlencode 变量传递时,您可能希望 _GET 图像 URI。)

如果您发布生成的 HTML 代码(并确认它不仅仅是 MySQL 返回一行),我们可能会提供进一步的帮助。

关于php - 在 div 不回显 php 之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14804871/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com