2015-09-05 46 views
0

我需要以粗体显示每一个新的行,将存储在数据库中的PHP和然后显示它。只有新行应该大胆。这就是我所做的PHP:只显示粗体表格的新行而没有任何格式化(数据将由用户输入)

<?php 
//connection 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "resultdb"; //my database name 


// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

?> 

<?php 

$name=$_POST['name']; 
$roll=$_POST['roll']; 
$m1=$_POST['m1']; 
$m2=$_POST['m2']; 
$m3=$_POST['m3']; 

//ISNERT DATA INTO TADABASE 
$sql="INSERT INTO markstb(name,rollno,sub1,sub2,sub3) VALUES('$name','$roll','$m1','$m2','$m3')"; 

if($conn->query($sql)===true) 
{ 
    //ketp id column in DB to auto_increment 
    $last_id=mysqli_insert_id($conn); 
    echo " NEW RECORD INSERTED"."<br>"; 
    if($last_id>0) 
    { 
     $sql3="SELECT * FROM markstb WHERE id='$last_id'"; 
     $result = $conn->query($sql3); 
     echo "<table border='2' bordercolor='black' "; 
     echo"<tr><td>NAME</td><td>ROLLNO</td><td>SUB1</td><td>SUB2</td><td>SUB3</td></tr>"; 
     while($row=$result->fetch_assoc()) 
     { 
      echo"<tr><td><b>".$row['name']."</td><td><b>".$row['rollno']."</td><td><b>".$row['sub1']."</td>" 
     ."<td><b>".$row['sub2']."</td><td><b>".$row['sub3']."</td>"; 
     } 
     echo "</table>"; 
    } 
    else 
    { 
     echo"check last_id"; 
    } 
    echo "<br><br><br><br>"; 

} 
else 
{ 
    echo "ERROR".$sql."<br>".$conn->error; 
} 

//RETRIVE DATA FROM DATABASE 

$sql2="SELECT * FROM markstb ORDER BY name"; 
//$result=$conn->query($sq2); 
$result = $conn->query($sql2); 
echo "<table border='2' bordercolor='black' "; 
if($result->num_rows > 0) 
{ 
    echo"<tr><td>NAME</td><td>ROLLNO</td><td>SUB1</td><td>SUB2</td><td>SUB3</td></tr>"; 
    while($row=$result->fetch_assoc()) 
    { 

     echo"<tr><td>".$row['name']."</td><td>".$row['rollno']."</td><td>".$row['sub1']."</td>" 
     ."<td>".$row['sub2']."</td><td>".$row['sub3']."</td>"; 
    } 
    echo "</table>"; 
} 
else 
{ 
    echo" 0 rows"; 
} 
$conn->close(); 
?> 

在上面的程序我有ONY获取这是新行,并使其大胆 但我要显示所有数据在数据库中,并仅排大胆的是新的,这是由用户输入。

+0

遗憾的是全部大写:( – sachin

回答

0

在你的最后while循环,你可以尝试:

  if($row['id'] == $last_id){ 
       //echo "your row that is      
       //bold 
      }else{ 
       // echo you regular row 
       } 
+0

感谢它的工作原理:) – sachin

0

当你打印出来的数据,你可以做这种类型的事情echo语句的内部:

echo "<tr" . $last_id === (int) $row['id] ? . ' class="bold"' : null; . "><td>..."; 

使意味着,当您打印标签时,您正在检查行ID是否与最后一个ID匹配,如果有的话,您还要打印一个html类“bold”。

当然,这取决于你使用CSS来定位这个选择器,并且实际上使它变成粗体。

这就是所谓的'三元如果'。它看起来像这样:

condition ? do this if true : do this if false; 
相关问题