首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对html表行进行排序- mysql

问对html表行进行排序- mysql
EN

Stack Overflow用户
提问于 2012-10-19 13:43:43
回答 2查看 1.1K关注 0票数 1

我有一个名为forms1的数据库和一个名为demo的表。

表中的字段是ID、Autore、Titolo、cit

我希望我有第一行,它使我能够对查询检索的字母数字值​​进行排序。

,我是说这个

如何对从MySQL调用的HTML表行进行排序

我的问题是根据我的情况调整代码。这是cerca2.php

代码语言:javascript
复制
<style>
br {margin-bottom:-10px;}
</style>

<form action="cerca2.php" method="post">
<b>Nome</b>&nbsp;<input type="text" name="Nome">&nbsp;&nbsp;
<b>Numero&nbsp;</b><input type="text" name="Numero">&nbsp;&nbsp;
<b>city&nbsp;</b><input type="text" name="city">&nbsp;&nbsp;
<input type="Submit">
</form>

<style>
tr:nth-of-type(odd) { background-color: AZURE; }
tr:nth-of-type(even) { background-color: CYAN; }
</style>
<style>
tr:hover{background-color:DEEPSKYBLUE;}
</style>

<?php

echo "<table border='1' style='border-collapse: collapse;border-color: silver;'>";  
echo "<tr style='font-weight: bold;'>";  
echo "<td width='auto' bgcolor=”#7FFFD4″>&nbsp;<i>ID<i/></td>";  
echo "<td width='auto' >&nbsp;<i>Nome<i/></td>";
echo "<td width='auto' ></td>";
echo "<td ></td>";
echo "</tr>";

define('DB_NAME', 'forms1');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link) {
    die('Could not connect: ' . mysql_error());
}

$db_selected = mysql_select_db(DB_NAME, $link);

if (!$db_selected) {
    die('Can\'t use ' . DB_NAME . ': ' . mysql_error());
}

$Nome = str_replace(' ', '%', $_POST['Nome']);
$Numero = str_replace(' ', '%', $_POST['Numero']); 
$city = str_replace(' ', '%', $_POST['city']); 

$arNome = str_split($Nome);
$arNumero = str_split($Numero);
$arcity = str_split($city);

$Nome='';
foreach ($arNome as $value) 
{
   if ($value=='%') continue;
   $Nome.=$value.'%';

}

$Numero='';
foreach ($arNumero as $value) 
{
   if ($value=='%') continue;
   $Numero.=$value.'%';

}

$city='';
foreach ($arcity as $value) 
{
   if ($value=='%') continue;
   $city.=$value.'%';

}

$sql = mysql_query("SELECT * FROM demo WHERE Autore LIKE '%$Nome%' AND Titolo LIKE '%$Numero%' AND cit LIKE '%$city%' ORDER BY Autore") or die(mysql_error());


$i = 0; while($row=mysql_fetch_array($sql)){
        $i++;
        echo "<tr>";
        echo "<td width='auto' bgcolor=”#FF0000 &#8243;>" . "&nbsp;". "<b>"  . $i . "&nbsp;". "<b/>". "</td>";
        echo "<td width='auto'>" . "&nbsp;" . $row[1] . "&nbsp;" . "</td>";
        echo "<td width='auto'>". "</td>";
        echo "<td width='auto'>" . "&nbsp;". "<i>" . $row[2] . "<i/>". "&nbsp;" . "</td>";     
        echo "<td width='auto'>" . "&nbsp;". "<i>" . $row[3] . "<i/>". "&nbsp;" . "</td>";
        echo "</tr>";

}

mysql_close();
?>
EN

回答 2

Stack Overflow用户

发布于 2012-10-19 13:55:18

您应该包含对sql查询的限制,因此您不仅必须对已经打印的数据进行排序,还必须对隐藏的数据进行排序。

在您的示例中,尝试重新加载页面并使用$_GET‘’name_排序‘更改sql

代码语言:javascript
复制
if ($_GET['name_sort'] == 'desc') {
    $sql = mysql_query("SELECT * FROM demo WHERE Autore LIKE '%$Nome%' AND Titolo LIKE '%$Numero%' AND cit LIKE '%$city%' ORDER BY Autore DESC") or die(mysql_error());

} else {

    $sql = mysql_query("SELECT * FROM demo WHERE Autore LIKE '%$Nome%' AND Titolo LIKE '%$Numero%' AND cit LIKE '%$city%' ORDER BY Autore ASC") or die(mysql_error());
}
票数 1
EN

Stack Overflow用户

发布于 2012-10-19 13:49:23

如果您想要一个可排序的表,我使用名为"可排序“的javascript库-它很容易配置和使用。

编辑显示示例HTML:此HTML期望"sortable.js“文件与HTML文件位于同一个目录中:

代码语言:javascript
复制
<html>
  <head>
    <script type="text/javascript" src="sortable.js"></script>
  </head>
  <body>
    <h1>Test Table</h1>
    <table id="myTable" class="sortable">
      <tr>
        <th>First Column</th>
        <th>Second Column</th>
        <th>Third Column</th>
      </tr>

      <tr>
        <td>1</td>
        <td>Hello</td>
        <td>10/01/2012</td>
      </tr>

      <tr>
        <td>2</td>
        <td>Goodbye!</td>
        <td>10/04/2011</td>
      </tr>

      <tr>
        <td>3</td>
        <td>Welcome</td>
        <td>22/09/1985</td>
      </tr>
    </table>
  </body>
</html>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12975601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档