带有 LIKE 数组的 PHP 和 MYSQLI:无法正确回显所有内容
Posted
技术标签:
【中文标题】带有 LIKE 数组的 PHP 和 MYSQLI:无法正确回显所有内容【英文标题】:PHP and MYSQLI with LIKE array: does not echo all content correctly 【发布时间】:2015-06-13 10:25:11 【问题描述】:我已经走了这么远,似乎被这个琐碎的输出问题困住了,提前道歉。
$getexhibitions 是一个数组,仅在运行此方面的代码时才有效。然后,我基于 LIKE 关键字链接添加了 $results,该链接旨在成为数组中的一个数组。
我的问题是输出应该显示 $getexhibitions->title 以及下面每个 $results->sponsor 的列表。 Java 然后创建一个包含特定赞助商信息的下拉列表。这将在之前的 8 年中如此重复。
如您所见,代码卡住了,我觉得这可能是 div 或 问题,或者可能更多的是数组代码。提前致谢。
http://tenmoregirls.com/tenmoregirls/sponsors.php
<?php
$current_url = base64_encode($url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
$query_getexhibitions = $mysqli->query("SELECT * FROM exhibitions ORDER BY year DESC");
if ($query_getexhibitions)
while($getexhibitions = $query_getexhibitions->fetch_object())
echo "<a>$getexhibitions->year | $getexhibitions->title</a>", "<br />";
$sponsorlink = $getexhibitions->year;
$result = $mysqli->query("SELECT * FROM sponsors WHERE (`year` LIKE '%".$sponsorlink."%')");
if ($result)
while($results = $result->fetch_object())
echo "<a href = \"javascript:void(0)\" class=\"subheading\" onclick = \"document.getElementById($results->id).style.display='block'\" >$results->sponsor</a>", "<br />";
echo "<div id=\"$results->id\" style=\"display: none;\">
<a href = \"javascript:void(0)\" onclick = \"document.getElementById($results->id).style.display='none'\"><img src=\"exhibitstyles/links/close.png\" alt=\"close\" width=\"20\"/></a><br />";
echo '<img src="sponsorimages/'.$results->logo.'">';
echo $results->summary, "<br />";
echo "<a href=\"http://$results->website\" target=\"_blank\">$results->website</a>", "<br /><br /><br />";
"</div>"; "</div>";
exit(); ?>
【问题讨论】:
在 PHP 中回显 html 又是 坏 的想法 :( 我意识到,否则我的代码又短又简单!有什么帮助吗? 请告诉 div 哪里有问题?代码太多了。 阅读LIKE
日期列:***.com/questions/12216033/…
无论你想把html放在哪里,只要像这样?> <html code> <?php
【参考方案1】:
这可能不是 PHP 和 MYSQLI 的问题,而只是一个错误的结束 div 标签,它在循环之外。还有一个额外的结束标签似乎没有提到任何东西。尝试在循环内移动</div>
标签并删除另一个。
编辑:
在"</div>";
标记之前,您还缺少echo
命令,因为您在上一行的末尾使用了;
。 你也不能在多个回显参数之间使用 而,
。 .
是 php 中字符串的连接运算符。.
是字符串的连接运算符,回显构造还允许在参数之间使用 ,
。我的错。
试试这个:
while($getexhibitions = $query_getexhibitions->fetch_object())
echo "<a>$getexhibitions->year | $getexhibitions->title</a><br />";
$sponsorlink = $getexhibitions->year;
$result = $mysqli->query("SELECT * FROM sponsors WHERE (`year` LIKE '%".$sponsorlink."%')");
if ($result)
while($results = $result->fetch_object())
echo "<a href = \"javascript:void(0)\" class=\"subheading\" onclick = \"document.getElementById($results->id).style.display='block'\" >$results->sponsor</a><br />";
echo "<div id=\"$results->id\" style=\"display: none;\">
<a href = \"javascript:void(0)\" onclick = \"document.getElementById($results->id).style.display='none'\"><img src=\"exhibitstyles/links/close.png\" alt=\"close\" width=\"20\"/></a><br />";
echo '<img src="sponsorimages/'.$results->logo.'">';
echo $results->summary . "<br />";
echo "<a href=\"http://$results->website\" target=\"_blank\">$results->website</a><br /><br /><br />";
echo "</div>";
【讨论】:
我开始这种方式无济于事,并尝试了多种变体,因为它在循环内,第二个 div 被删除,没有任何区别......奇怪...... 那么你的javascript代码可能有错误。 那是一个我还没有使用过的地方,所有的数组都是独立工作的 老实说,我不认为这是一个 javascript 问题,而是错误的 php 语法。我建议 js 错误,因为我虽然有一个带有 js 逻辑的外部代码,但后来我意识到它只是在这里。但是,如果您使用数字作为 id,也可能会出现 javascript 错误。 我认为我们同时提出了解决方案!我没有意识到“,”问题,所以会改变无处不在,而不是呼应 div 已经造成了这么长时间的问题,现在我知道为什么了!我刚刚在修复 div 后发现了 id java 问题....感谢您的耐心和思考,非常感谢。以上是关于带有 LIKE 数组的 PHP 和 MYSQLI:无法正确回显所有内容的主要内容,如果未能解决你的问题,请参考以下文章