Печать дубликатов записей в PHP / Mysql - PullRequest
0 голосов
/ 11 июля 2011

Я пытаюсь распечатать дубликаты записей таблицы, но только одна строка получает echoed.However в mysql этот запрос приводит ко всем дублирующимся записям. Вот запрос:

$q = mysql_query("SELECT * FROM add WHERE cust_id = '144' GROUP BY cust_id");
$r = mysql_fetch_array($q);
$s = mysql_num_rows($q);

while($s !=0)
{
    echo $r;
    $s=$s-1;
}

Что не так с кодом?

Ответы [ 5 ]

1 голос
/ 11 июля 2011
$q = mysql_query("SELECT * FROM add WHERE cust_id = '144' GROUP BY cust_id");

while($r = mysql_fetch_array($q))
{
    print_r($r);
}
0 голосов
/ 11 июля 2011

хорошо, если вы хотите получить повторяющиеся значения, тогда этот запрос будет вам полезен:

T = таблица f = поле для проверки на наличие дубликатов id = id строки

select id,f from T group by f having count(f)= 2;

или> 2, если вы хотите, чтобы каждое значение в f встречалось более чем в одной строке.

имеет то же значение, что и где, но оценивается после группировки по.

0 голосов
/ 11 июля 2011

Попробуйте следующее:

$q = mysql_query("SELECT * FROM add WHERE cust_id = '144'");
while($r = mysql_fetch_array($q))
{
    echo $r;
}
0 голосов
/ 11 июля 2011

Ваш запрос SQL на практике будет возвращать только 0 или 1 строку из-за предложения GROUP BY.Вы абсолютно уверены, что это запрос, который вы выполняли в MySQL?

0 голосов
/ 11 июля 2011

Вам нужно перебрать весь набор записей ... вы только захватываете первый ряд:

$resultset = mysql_query("select * from add where cust_id = '144' group by cust_id");
while($row = mysql_fetch_assoc($resultset))
{
   echo $row['column_name'];
}
...