2013-06-06 2 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

no add distinct is nt wrking – Aryan

ответ

0

Использование DISTINCT в запросе

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

no его не работает :(@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 используется ключевое слово, чтобы возвращать только отдельные (различные) значения.

EDIT: -

Вы также можете попробовать это: -

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

Try 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 = идентификатор LIMIT 1

Надеется, что это поможет.

Смежные вопросы