Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.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/89.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 如何制作一个可点击的列标题,使数据重新排序_Php_Html_Clickable - Fatal编程技术网

Php 如何制作一个可点击的列标题,使数据重新排序

Php 如何制作一个可点击的列标题,使数据重新排序,php,html,clickable,Php,Html,Clickable,第一部分如下。以下是第二部分: 我使用了下面提供的代码。我把东西搬来搬去,消除了所有的错误。但是,现在我的数据丢失了。我得到带有标题的表格,它们是可点击的(但是,如果没有表格,就不可能看到点击会发生什么)。有人能看到我做错了什么阻止数据显示吗 <html> 函数getRecords($query){ $con=mysql_connect(“localhost”、“movie”、“moviepw”); 如果(!$con) { die('无法连接:'.mysql_erro

第一部分如下。以下是第二部分:

我使用了下面提供的代码。我把东西搬来搬去,消除了所有的错误。但是,现在我的数据丢失了。我得到带有标题的表格,它们是可点击的(但是,如果没有表格,就不可能看到点击会发生什么)。有人能看到我做错了什么阻止数据显示吗

 <html>

函数getRecords($query){ $con=mysql_connect(“localhost”、“movie”、“moviepw”); 如果(!$con) { die('无法连接:'.mysql_error()); } mysql_select_db(“movies”,$con); $result=mysql\u query($query); 返回$result; 函数buildQuery($sortOrder){ $so=mysql\u real\u escape\u字符串($sortOrder); $so=$so?$so:“电影标题”; 按“+$so”返回“从表1中选择*”; } ?> ">


形象

谢谢大家!

第一部分:

我是PHP新手,对HTML非常生疏,所以这是一个真正的初学者问题。下面是正在编写的代码。但请注意,这不是我的完整代码。我尝试了很多不同的方法,但我发现了以下语法错误:

分析错误:语法错误,在第30行的C:\xampp\htdocs\moviedata3.php中出现意外的“?”

据我所知,我需要这个“?”

所以,整个事情是这样的:

<html>
<body>
<table>

<?php
$con = mysql_connect("localhost", "movie", "moviepw");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("movies", $con);

$result = mysql_query("SELECT * FROM table1");

echo "<table border='1'
<tr>

?>

<?php

while($row = mysql_fetch_array($result))
  {

  ?>

   <? { ?>

   <a href="<?= mysql_query("SELECT * FROM table1 ORDER BY movie_title") ?>"><th>Title</th></a>

   <a href="<?php echo("$PHP_SELF?execute=$result = mysql_query("SELECT * FROM table1 ORDER BY movie_rating")") ?>"><th>Rating</th></a>

   <a href="<?php echo("$PHP_SELF?execute=$result = mysql_query("SELECT * FROM table1 ORDER BY movie_image")") ?>"><th>Image</th></a>

   <a href="<?php echo("$PHP_SELF?execute=$result = mysql_query("SELECT * FROM table1 ORDER BY movie_description")") ?>"><th>Description</th></a>

  </tr>";

<? } ?>

  <tr>
 <td><?= $row['movie_title']; ?></td>
 <td><?= $row['movie_rating']; ?></td>
 <td> <img src="<?= $row['movie_image'];?>"> </td>
 <td><?= $row['movie_description']; ?></td>
 </tr>

 <?
  }
echo "</table>";

mysql_close($con);
?>

    </td></tr>
</table>
</body>
</html>

"> 
第30行的内容如下:

<a href="<?= mysql_query("SELECT * FROM table1 ORDER BY movie_title") ?>"><th>Title</th></a>


非常感谢!!!

您似乎没有注意应该在哪里执行什么。查询DB是服务器端代码,单击按钮(在您的情况下是列标题)是客户端代码

所以试着用这样的方式重写你的剪报:

 <?php

     function buildQuery($sortOrder) {
        $so = mysql_real_escape_string($sortOrder);
        $so = $so ? $so : "movie_title";
        return "SELECT * FROM table1 ORDER BY " + $so;
     }

     function getRecords($query) {
         $con = mysql_connect("localhost", "movie", "moviepw");
         if (!$con)
         {
            die('Could not connect: ' . mysql_error());
         }

         mysql_select_db("movies", $con);

         $result = mysql_query($query);
         return $result;
     }

     $sortOrder = $_GET['sortOrder'];

     $query = buildQuery($sortOrder);

     $records = getRecords($query);
     ?>
     <table border='1'>
          <thead>
                 <tr>
                        <th><a href="?sortOrder=movie_title">Title</a></th>
                        <th><a href="?sortOrder=movie_rating">Rating</a></th>
                        <th>Image</th>
                        <th><a href="?sortOrder=movie_description">Description</a></th>

                 </tr>
          </thead>
          <tbody>
    <?php

     while($row = mysql_fetch_array($result)){ ?>
          <tr>
          <td><?= $row['movie_title']; ?></td>
          <td><?= $row['movie_rating']; ?></td>
          <td> <img src="<?= $row['movie_image'];?>"> </td>
          <td><?= $row['movie_description']; ?></td>
          </tr>

    <? } ?>
          </tbody>
    </table>

形象
"> 

您似乎没有注意应该在哪里执行什么。查询DB是服务器端代码,单击按钮(在您的情况下是列标题)是客户端代码

所以试着用这样的方式重写你的剪报:

 <?php

     function buildQuery($sortOrder) {
        $so = mysql_real_escape_string($sortOrder);
        $so = $so ? $so : "movie_title";
        return "SELECT * FROM table1 ORDER BY " + $so;
     }

     function getRecords($query) {
         $con = mysql_connect("localhost", "movie", "moviepw");
         if (!$con)
         {
            die('Could not connect: ' . mysql_error());
         }

         mysql_select_db("movies", $con);

         $result = mysql_query($query);
         return $result;
     }

     $sortOrder = $_GET['sortOrder'];

     $query = buildQuery($sortOrder);

     $records = getRecords($query);
     ?>
     <table border='1'>
          <thead>
                 <tr>
                        <th><a href="?sortOrder=movie_title">Title</a></th>
                        <th><a href="?sortOrder=movie_rating">Rating</a></th>
                        <th>Image</th>
                        <th><a href="?sortOrder=movie_description">Description</a></th>

                 </tr>
          </thead>
          <tbody>
    <?php

     while($row = mysql_fetch_array($result)){ ?>
          <tr>
          <td><?= $row['movie_title']; ?></td>
          <td><?= $row['movie_rating']; ?></td>
          <td> <img src="<?= $row['movie_image'];?>"> </td>
          <td><?= $row['movie_description']; ?></td>
          </tr>

    <? } ?>
          </tbody>
    </table>

形象
"> 

我相信,您的问题是从这一行开始的:

echo "<table border='1'

echo”我相信您的问题是从这一行开始的:

echo "<table border='1'

echo”我应该补充一点,第30行后面的部分根本不是我的代码,而是我在研究中发现的,我正试图重写它,以便它能做我想做的事情。它也不起作用。很抱歉,整个代码只是一团糟,一个接一个的语法错误,从
echo
开始,前面几行缺少一个结尾引号——我我想你应该删减它,一次只从一行开始,只有在代码编译时才添加更多。我应该补充一点,第30行后面的部分根本不是我的代码,而是我在研究中发现的,我正在试图重写它,以便它能做我想做的事情。它也不起作用。对不起,整个代码只是一团乱,还有一个语法错误或者,从前面几行缺少结尾引号的
echo开始,我认为您应该将它缩减,一次从一行开始,只有在代码编译时才添加更多。非常感谢!我使用了它,但仍然存在一些顺序错误和某种报告错误,我得到了修复。但是,我的表数据是不再被拉入。数据在数据库中。我一直正确地连接到数据库,所以我不知道为什么它没有通过。也许事情的顺序,虽然它没有错误,但正在停止拉入数据?谢谢。我在原始帖子中添加了我已修复的内容。@Cherylance put
}
after
返回$result此线路非常感谢!我使用了这个,但仍然有一些订单错误和一些报告错误,我得到了修复。但是,我的表数据不再被拉入。数据在数据库中。我已经正确地连接到数据库,所以我不知道为什么它不能通过。也许事情的顺序是,虽然没有错误,但停止数据的提取?谢谢。我在原来的帖子中添加了我所修复的内容。@cherylance在
返回$result之后放置
}
此行
<a href="<?