排序表使用$_get['sort'],错误


sort table using $_get['sort'] , error Unexpected T_STRING

我尝试通过使用$_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']函数只排序升序??还是上升和下降都有??如果只有排序升序,是任何函数,可以排序升序和降序,而我点击表头??

谢谢

原因是你没有转义你的双引号因此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 -->

你不能像这样使用双引号。应该是:

Print '<th><a href="showDB.php?sort=city">City</a></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>";
 ?>