0

我尝试通过使用 $_get['sort'] 函数单击表格的第 th 来对表格进行排序

这是我的代码

<?php
//connect to server
$connect = mysql_connect("localhost", "root", "");

//connect to database
//select the database
mysql_select_db("fak_databases");

//submit button
if($_POST['formSubmit'] == "Submit")
{
    $country = $_POST['country'];
}

//query the database
if($country == TRUE) {  
    // query to get all AL records  
    $query = mysql_query("SELECT * FROM auip_wipo_sample WHERE applicant1_country='$country'");  
    if ($_GET['sort'] == 'city')
    {
        $query .= " ORDER BY wipo_applicant1_city";
    }
    elseif ($_GET['sort'] == 'address')
    {
        $query .= " ORDER BY applicant1_addr1";
    }
}  

//fetch the result
Print "<table border cellpadding=3>";
Print "<tr>";
Print "<th><a href="showDB.php?sort=city">City</a></th>";
Print "<th><a href="showDB.php?sort=address">Address</a></th>";
Print "</tr>";

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

    Print "<tr>";
    Print "<td>".$row['wipo_applicant1_city'] . "</td>"; 
    Print "<td>".$row['applicant1_addr1'] . " </td></tr>"; 
}

Print "</table>";
?>

但我有一个错误

syntax error, unexpected T_STRING

哪条线是

Print "<th><a href="showDB.php?sort=city">City</a></th>";

任何人都可以解决这个问题?

我需要能够单击头表并按字母顺序排序...

我有一个问题,是 $_get['sort'] 函数只排序升序??还是升序和降序?如果只是升序排序,是否有任何功能可以在我单击表头时进行升序和降序排序?

谢谢

4

3 回答 3

1

原因是你没有转义你的双引号,因此 PHP 在你的字符串中遇到第二个双引号的地方结束了字符串

Print "<th><a href=\"showDB.php?sort=city\">City</a></th>";
                ---^---               ---^---     

或者'在你的字符串周围使用引号,你可以在这里安全地使用它,因为你的字符串中没有任何变量

print '<th><a href="showDB.php?sort=city">City</a></th>';

我建议您不要使用 PHP 打印 HTML,只需将它们分开即可

<table border cellpadding=3>
  <tr>
     <th><a href="showDB.php?sort=city">City</a></th>
     <th><a href="showDB.php?sort=address">Address</a></th>
  </tr>
<?php
  //PHP Code Here
?>
<!-- HTML Here Again -->
于 2013-05-18T09:31:38.113 回答
0

你不能以你这样做的方式使用双引号。它应该是:

Print '<th><a href="showDB.php?sort=city">City</a></th>';
于 2013-05-18T09:33:19.353 回答
0

尝试一下

   <?php
  //connect to server
   $connect = mysql_connect("localhost", "root", "");

 //connect to database
 //select the database
  mysql_select_db("fak_databases");

 //submit button
   if($_POST['formSubmit'] == "Submit")
   {
  $country = $_POST['country'];
   }

  //query the database
   if($country == TRUE) {  
 // query to get all AL records  
     $query = mysql_query("SELECT * FROM auip_wipo_sample WHERE    applicant1_country='$country'");  
if ($_GET['sort'] == 'city')
{
    $query .= " ORDER BY wipo_applicant1_city";
}
elseif ($_GET['sort'] == 'address')
{
    $query .= " ORDER BY applicant1_addr1";
}
 }  

//fetch the result
   Print "<table border cellpadding=3>";
  Print "<tr>";
  Print '<th><a href="showDB.php?sort=city">City</a></th>';
  Print '<th><a href="showDB.php?sort=address">Address</a></th>';
  Print "</tr>";

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

Print "<tr>";
Print "<td>".$row['wipo_applicant1_city'] . "</td>"; 
Print "<td>".$row['applicant1_addr1'] . " </td></tr>"; 
  }

Print "</table>";
 ?>
于 2013-05-18T09:36:16.353 回答