|
|
|
| Привет! Спасайте! ))
Нужно вывести одинаковые записи одной таблицы.
Поля: id, name, familia, otchestvo
Нужно найти одинаковые записи ФИО (три поля совпадения в этой же таблице) и вывести их ID.
мозг гудит..... | |
|
|
|
|
|
|
|
для: Job
(03.09.2011 в 18:33)
| |
<?php
include('conect.php');
$query="
SELECT t3.*
FROM (SELECT t2.*
FROM `fio` t1
JOIN `fio` t2
ON t1.name=t2.name
AND t1.familiya=t2.familiya
AND t1.otcestvo=t2.otcestvo) t3
GROUP BY(t3.id)
HAVING COUNT(t3.id)>1
ORDER BY t3.familiya, t3.id";
$res=mysql_query($query);
echo "<form href=# method=POST>";
while($t=mysql_fetch_assoc($res)){
echo "<input type=checkbox name=del[] value=$t[id]>"." ";
echo $t[id]." ".$t[name]." ".$t[familiya]." ".$t[otcestvo]."<br />";
}
echo "Отмеченные поля :<input type=submit name=delete value=Удалить>";
echo "</form>";
?>
|
пока на ум пришло только это, может есть и другие варианты
__
ну вот, утро вечера мудренее
<?php
include('conect.php');
$query="
SELECT GROUP_CONCAT(DISTINCT id ORDER BY id SEPARATOR ',') t_id
FROM fio
GROUP BY name, familiya, otcestvo
HAVING COUNT(id)>1";
$res=mysql_query($query);
echo "<form href=# method=POST>";
while($t=mysql_fetch_assoc($res)){
echo "<b>id=".$t[t_id]."</b><br />";
$f="SELECT * FROM fio WHERE id IN($t[t_id])";
$r=mysql_query($f);
while($i=mysql_fetch_assoc($r)){
echo "<input type=checkbox name=del[] value=$i[id]>"." ";
echo $i[id]." ".$i[name]." ".$i[familiya]." ".$i[otcestvo]."<br />";
}
}
echo "Отмеченные поля :<input type=submit name=delete value=Удалить>";
echo "</form>";
?>
|
| |
|
|
|
|
|
|
|
для: Valick
(03.09.2011 в 20:46)
| | Спасибо! Вы меня спасли! гениально! )) | |
|
|
|
|
|
|
|
для: job
(04.09.2011 в 14:18)
| | да незачто, щас еще лучше придумаю)
__
хм...
SELECT * FROM fio WHERE id IN(
SELECT GROUP_CONCAT(DISTINCT id ORDER BY id SEPARATOR ',')
FROM fio
GROUP BY name, familiya, otcestvo
HAVING COUNT(id)>1)
|
работает не так как хотелось бы... печалька :( | |
|
|
|