Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从PDO关联数组中获取数据_Php_Html - Fatal编程技术网

Php 从PDO关联数组中获取数据

Php 从PDO关联数组中获取数据,php,html,Php,Html,我有一个搜索页面(search.php),它可以找到由某个作者创作的“笑话” <?php spl_autoload_register(function ($class) { include_once($class.'.php'); }); $obj=new oopCrud; if(isset($_REQUEST['search'])){ extract($_REQUEST); $obj->search($authorid,"

我有一个搜索页面(search.php),它可以找到由某个作者创作的“笑话”

    <?php

spl_autoload_register(function ($class) {
    include_once($class.'.php');
});
  $obj=new oopCrud;

      if(isset($_REQUEST['search'])){
      extract($_REQUEST);
      $obj->search($authorid,"joke");}

}
?>
    <body>
     <div class="wrapper">
        <h1 class="main_heading">Search Jokes</h1>
        <form action="searchform.html.php" method="post">
            <p>View jokes satisfying the following criteria:</p>
            <div>
                <label for="author">By author:</label>
                <select name="authorid" id="authorid">
            <?php foreach($obj->showData("author") as $value){
            extract($value);
            echo @<<<show
            <option value=$id>$name</option>
show;
    }
  ?>
        </select>
            </div>
                <input type="submit" name="search" value="search" class="btn">
            </div>
        </form>
        </div><!-- end of wrapper -->
}

我想将此数据发送到searchresults.php页面以显示结果。如何发送或检索searchresults.php页面上的数据集,然后显示它?我不想直接使用jQuery/AJAX等php/html


我使用PDO创建查询,并使用面向对象的编程方法。

在页面刷新(提交)时获取数据:

$results=$obj->search($authord,“笑话”)

加载数据

在你的html代码中

<select name="authorid" id="authorid">
<?php 
     if($results){ 
          foreach($results as $result){ 
               foreach($result as $key=>$val) { 
                   ?>
                       echo "<option value={$val['id']}>{$val['name']}</option>"
                   <?php
               }
          }
     }
?>

回显“{$val['name']}”
我不太确定您想用result和->showData函数做什么。如果这有帮助,试试看

===

多维数组到表。。。如果您不习惯每次关闭php标记,也可以使用
echo”“

<?php

$results = array(
            array('jokeid' => 13, 'joketext' =>'Why did the chicken cross the road? To avoid getting roasted.', 'jokedate' => '2017-04-15', 'authorid' => 1 ), 
            array('jokeid' => 16, 'joketext' => 'This is test joke2', 'jokedate' => '2017-04-16', 'authorid' => 1 )
        );

if($results)
{
    ?><table><?php
    foreach($results as $result)
    {
        ?><tr><?php
        foreach($result as $key=>$val)
        {
            ?><td> <?php echo $val; ?> </td> <?php
        }
        ?></tr><?php
    }
   ?> </table> <?php
}
exit;
?>


您可以创建一个oopCRUD实例,然后在search.php页面上搜索时使用它,只需将搜索词传递给该实例(您已经在这样做了)。。。然后,您只需要在一个变量中获取hat return搜索数据,并在search.php中使用它->有意义吗?您可以说“在一个变量中获取该返回搜索数据,并在search.php中使用它”。你的意思是在searchresults.php中使用它吗?你会怎么做?你能举个例子吗?谢谢你的建议,但这不起作用。如果我将函数改为使用fetchAll而不是fetch,那么我会得到一个部分解决方案,它是一个关联数组,使用print\r时看起来像这样:谢谢你的建议,但这不起作用。如果我将函数改为使用fetchAll而不是fetch,那么我会得到一个部分解决方案,即使用print\u r:array([0]=>array([jokeid]=>13[joketext]=>13[joketext]=>为什么鸡会过马路?为了避免烤鸡。[jokedate]=>2017-04-15[authorid]=>1][1]=>array([jokeid]=>16[joketext]=>这是test joke2[jokedate]=>2017-04-16[authorid]=>1])您将如何以表格格式显示此多维数组?非常感谢-在您的帮助下,此功能现在运行良好。最后一个问题——在我最初的问题中,我想将结果集显示在搜索页面的另一个页面上。因此,数据流从-使用search.php获取搜索条件-将其发送到类oopCRUD.php中的搜索函数,然后将其发送到searchresults.php进行显示。目前的工作方式是,结果数据显示在search.php上,即原始搜索页面。你知道一种将数据获取到searchresult.php的方法吗。。。我不知道为什么您希望search.php和searchresults.php有所不同。但是有两种方法-1。只保留一个search.php或searchresults.php。在searchresults.php中添加搜索逻辑,并在那里传递搜索词。。。所以,您的流程将是用户搜索某物->获取搜索词并在get param中传递searchresults.php,然后在加载页面之前使用oopCRUD获取上述结果。2.在searchresults.php中包含search.php,只需检查结果是否为空,然后加载它们。我正在尝试执行您给出的第二个选项,但每次我在search.php中包含searchresults.php时,它只是将searchresults.php添加到search.php页面。所以我在我的search.php页面上有这样一个问题:如何让searchresults1.php自己打开而不添加到search.php??
<?php

$results = array(
            array('jokeid' => 13, 'joketext' =>'Why did the chicken cross the road? To avoid getting roasted.', 'jokedate' => '2017-04-15', 'authorid' => 1 ), 
            array('jokeid' => 16, 'joketext' => 'This is test joke2', 'jokedate' => '2017-04-16', 'authorid' => 1 )
        );

if($results)
{
    ?><table><?php
    foreach($results as $result)
    {
        ?><tr><?php
        foreach($result as $key=>$val)
        {
            ?><td> <?php echo $val; ?> </td> <?php
        }
        ?></tr><?php
    }
   ?> </table> <?php
}
exit;
?>