php结果2页面上的表格而不是包含所有数据的

时间:2015-09-16 08:16:32

标签: php mysql

我为搜索mysql表创建了一个脚本,而不是一个包含更多行的表,他在结果页面上为每个人返回一个表。

这是我搜索脚本中的id的结果代码。并返回每个人的表格

    $id = $_GET['id']; 
    $sql = "select * from wp_certificari WHERE id = '{$id}'";
    $rst = mysql_query($sql); 
    while($a_row = mysql_fetch_assoc($rst))  { 
    echo "<center>\n";
    echo "<b>Detalii Certificat:</b>";
    echo "<table border='1'>"; 
    echo"<thead>"; 
    echo "<th>Denumire certificare</th>"; 
    echo "<th>Serie si numar certificare</th>"; 
    echo "<th>Data certificarii</th>"; 
    echo "<th>Valabilitate certificare</th>"; 
    echo "<th>Sector Financiar</th></tr>"; 
    echo"</thead>";
    echo "<td class='lalign'>{$a_row['nume']}</td>" ;  
    echo "<td class='lalign'>{$a_row['serie_numar']}</td>" ; 
    echo "<td class='lalign'>{$a_row['data']}</td>" ; 
    echo "<td class='lalign'>{$a_row['valabilitate']}</td>" ; 
    echo "<td class='lalign'>{$a_row['sector_financiar']}</td></tr>" ;      
    echo"</table>";
    echo "</center>\n";}

Return image

table

2 个答案:

答案 0 :(得分:2)

您需要在table and table head html添加while loop之外编写mysql_num_rows以检查空结果,并将mysql_real_escape_string添加到字符串中的Escapes特殊字符,以便在SQL语句中使用

$id = $_GET['id']; 
    $id=mysql_real_escape_string($id);
    $sql = "select * from wp_certificari WHERE id = '{$id}'";
    $rst = mysql_query($sql); 
    $row=mysql_num_rows($rst);
    if($row>0){
    //outside while loop
    echo "<center>\n";
    echo "<b>Detalii Certificat:</b>";
    echo "<table border='1'>"; 
    echo"<thead>"; 
    echo "<th>Denumire certificare</th>"; 
    echo "<th>Serie si numar certificare</th>"; 
    echo "<th>Data certificarii</th>"; 
    echo "<th>Valabilitate certificare</th>"; 
    echo "<th>Sector Financiar</th>"; 
    echo"</thead>";
    while($a_row = mysql_fetch_assoc($rst))  { 

    echo "<tr><td class='lalign'>{$a_row['nume']}</td>" ;  
    echo "<td class='lalign'>{$a_row['serie_numar']}</td>" ; 
    echo "<td class='lalign'>{$a_row['data']}</td>" ; 
    echo "<td class='lalign'>{$a_row['valabilitate']}</td>" ; 
    echo "<td class='lalign'>{$a_row['sector_financiar']}</td></tr>" ;      
   }
    //outside while loop
    echo"</table>";
    echo "</center>\n";
   }
  

注意: - 不要使用mysql,因为它被弃用而不是使用mysqli或   PDO

要阻止sql注入,请检查此链接How can I prevent SQL-injection in PHP?

答案 1 :(得分:1)

你必须从while循环中获取表格部分。

$id = $_GET['id']; 
$sql = "select * from wp_certificari WHERE id = '{$id}'";
$rst = mysql_query($sql); 

echo "<center>\n";
echo "<b>Detalii Certificat:</b>";
echo "<table border='1'>"; 
echo "<thead>";
echo "<tr>"; 
echo "<th>Denumire certificare</th>"; 
echo "<th>Serie si numar certificare</th>"; 
echo "<th>Data certificarii</th>"; 
echo "<th>Valabilitate certificare</th>"; 
echo "<th>Sector Financiar</th></tr>"; 
echo "</thead><tbody>";

while($a_row = mysql_fetch_assoc($rst))  { 
     echo "<tr>";
     echo "<td class='lalign'>{$a_row['nume']}</td>" ;  
     echo "<td class='lalign'>{$a_row['serie_numar']}</td>" ; 
     echo "<td class='lalign'>{$a_row['data']}</td>" ; 
     echo "<td class='lalign'>{$a_row['valabilitate']}</td>" ; 
     echo "<td class='lalign'>{$a_row['sector_financiar']}</td></tr>";      
}

echo"</tbody></table>";
echo "</center>\n";