2013-06-06 70 views
-1

我有我的數據庫表「resbook」打印MySQL的行只有一次

 htno    name    fname 

     2    Rakesh    Rahul 
     2    Rakesh    Rahul 
     2    Rakesh    Rahul 
     2    Rakesh    Rahul 
     2    Rakesh    Rahul 
     3    Himesh   Krishna 
     3    Himesh   Krishna 
     3    Himesh   Krishna 
     3    Himesh   Krishna 
     3    Himesh   Krishna 

以下數據我有一個表格,要求用戶輸入「htno」和iwant顯示「姓名」 &「FNAME」對於各自的「htno」五倍只爲同一行重複一次

這裏是我的代碼

<?PHP 
$userInputEntities = htmlentities($userInput); 
echo $userInputEntities; 

$username = "admin"; 
$password = "123456"; 
$database = "resbook"; 
$server = "localhost"; 
$db = new PDO ("mysql:host=$server;dbname=$database", "$username", "$password"); 

if ($db) { 
$id = $_GET['id']; 
$NAME = $db->prepare("SELECT * FROM resbook WHERE htno=:id"); 
$NAME -> execute(array(':id'=>$id)); 
while ($row1 = $NAME->fetch(PDO::FETCH_ASSOC)){ 
echo "<td align=left><font size='2'> STUDENT NAME :</font><font color='blue' size='2'><b> " . $row1['name']. "</b></font></td>"; 
echo "<strong>&emsp;&emsp;||&emsp;&emsp;</strong>"; 
echo "<td align=left><font size='2'> FATHER NAME :</font><font color='blue' size='2'><b> " . $row1['fname']. "</b><p></font></td>"; 
} 

使用此代碼我得到的輸出重複5次5行的再有每個htno表

STUDENT NAME : Rakesh   ||  FATHER NAME : Rahul 
STUDENT NAME : Rakesh   ||  FATHER NAME : Rahul 
STUDENT NAME : Rakesh   ||  FATHER NAME : Rahul 
STUDENT NAME : Rakesh   ||  FATHER NAME : Rahul 
STUDENT NAME : Rakesh   ||  FATHER NAME : Rahul 

我想要的輸出只有一次這樣的

STUDENT NAME : Rakesh   ||  FATHER NAME : Rahul 

請你幫我

+1

您需要在查詢中使用'distinct'! – NINCOMPOOP

+0

爲什麼你多次存儲每個值開始? – deceze

+0

不添加不同的是nt wrking – Aryan

回答

1
SELECT distinct(htno),name,fname FROM resbook WHERE htno=:id 
0

使用DISTINCT查詢

$NAME = $db->prepare("SELECT DISTINCT(htno),* FROM resbook WHERE htno=:id"); 
+0

沒有它的不工作:(@yogesh Suthar – Aryan

+0

@Aryan不工作意味着它顯示所有記錄而不是單個記錄 –

+0

@Aryan嘗試編輯查詢 –

0

變化

$NAME = $db->prepare("SELECT * FROM resbook WHERE htno=:id"); 

$NAME = $db->prepare("SELECT DISTINCT * FROM resbook WHERE htno=:id");

DISTINCT關鍵字用於返回唯一不同(不同的)值。

編輯: -

你也可以試試這個: -

SELECT htno,distinct(name),fname FROM resbook WHERE htno=:id 
0

嘗試LIMIT 1:

SELECT * FROM resbook WHERE htno=:id LIMIT 1 
+0

這將始終只返回一條記錄 – Deepika

+0

是不是他想要的? – HarryFink

0

DISTINCT *不剪。您應該只運行DISTINCT只有您想要的特定字段返回唯一。

嘗試

SELECT distinct(htno),name,fname FROM resbook WHERE htno=:id 
0

寫quyery這樣.... SELECT * FROM resbook WHERE htno = ID LIMIT 1

希望它會幫助你。