为了账号安全,请及时绑定邮箱和手机立即绑定

将多个 php 搜索结果输出到不同的页面?

将多个 php 搜索结果输出到不同的页面?

PHP
扬帆大鱼 2022-07-16 18:24:32
我正在尝试使用输入和提交按钮在不同的 php 页面中输出搜索结果。它确实有效,但一次只显示一个结果,因为所有结果只有一个占位符,有没有办法输出多个相关结果并为每个结果提供自己的占位符?例如,我在数据库中有三个名称,如下所示,搜索win10应该会产生两个结果,但它只输出第一个。win7-haystackwin10-icelandwin10-road继承人搜索php:<?php$arr = [];$searchq = "%{$_POST['search-input']}%";$stmt = $pdo->prepare("SELECT wallname FROM walldb WHERE wallname LIKE ?");$stmt->execute([$searchq]);while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {  $arr[] = $row;}foreach($arr as $value){    $val = implode('', $value);    //echo ($val);    //echo("<br><br>");  }$stmt = $pdo->prepare('SELECT * FROM walldb WHERE wallname = :val');$stmt->bindParam(':val', $val);$stmt->execute();while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {    $mlink = $row['mainlink'];    $tlink = $row['thumbnail'];    $dlink = $row['download'];    $info = $row['info'];  }  /*echo ($mlink);  echo("<br>");  echo ($tlink);  echo("<br>");  echo ($dlink);  echo("<br>");  echo ($info);  */  $final = ("<li><a href="."$mlink"."data-lightbox='wallpaper1'><img class='searchicon' src="."$tlink"."></a><span>"."$val"."</span><img class='searchbutton1 s1'  src='/images/info.png'><a id='wall1.download' href="."$dlink"."><img class='searchbutton2' src='/images/download.png'></a><ul class='searchmenu menu1'>  <p>"."$info"."</p></ul></li>");?>继承人的结果php:    <form action= "" method= "post">      <a href="#"><img id="glass" src="/images/search.png" type= "submit"     name="submit-search"></a><input id="search" name="search-input"     type="search" placeholder="Search By Name" autocomplete="off"><a     href="#"><img id="cancle" src="/images/cancle.png"></a>   </form>     <section id="result"><?php echo $final; ?></section>
查看完整描述

1 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

您将经历两次应该是相同的查询结果集,并且两次都丢弃了除上次迭代中的值之外的所有内容。尝试这样的事情:


$arr = [];

$searchq = "%{$_POST['search-input']}%";

$stmt = $pdo->prepare('SELECT * FROM walldb WHERE wallname LIKE ?');

$stmt->execute([$searchq]);

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

    $mlink = $row['mainlink'];

    $tlink = $row['thumbnail'];

    $dlink = $row['download'];

    $info = $row['info'];


    // Generate the desired per-row output, saving it in an array for later use.

    // Not clear what that should be, so this is a guess. Modify as needed.

    $arr[] = '<li>' . $mlink . '<br>' . $tlink . '<br>' . $dlink . '<br>' . $info . '</li>';

}


$final = '<ul>' . implode('', $arr) . '</ul>';


查看完整回答
反对 回复 2022-07-16
  • 1 回答
  • 0 关注
  • 169 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号