Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выбор всех строк где есть одинаковые поля
 
 автор: tvv123456   (08.11.2009 в 15:53)   письмо автору
 
 

Всем привет, вот с какой проблемой столкнулся:
Мне нужно из базы вытащить все поля где одинаковое поле FILED, уже создавал подобную тему, но сделанное там предложение не помогло (select * from table group by filed having count(filed)>1) вытаскивается только 1 запись хотя в БД их 3. То есть в цикле выводиться 1 запись:

while($assocw = mysql_fetch_assoc($resu)) // $resu запрос к базе описан выше
{
echo "<a href='user.php?id=".$assocw['id']."'>".$assocw['login']."</a>";
}

Желательно чтоб выводились все записи с одинаковым полем FILED
Заранее спасибо за помощь

  Ответить  
 
 автор: ols   (08.11.2009 в 16:50)   письмо автору
 
   для: tvv123456   (08.11.2009 в 15:53)
 

У поля filed какой тип данных?
В этой теме я написал как дальше поступить. Потребуется еще цикл в цикле.

  Ответить  
 
 автор: tvv123456   (08.11.2009 в 16:59)   письмо автору
 
   для: ols   (08.11.2009 в 16:50)
 

>У поля filed какой тип данных?
VARCHAR, но там храниться должны по идее только цифры
этой теме я написал как дальше поступить. Потребуется еще цикл в цикле.
я и написал что по вашему примеру у меня получилось(вытаскивается только 1 строка), а насчет цикл в цикле я не понял

  Ответить  
 
 автор: ols   (08.11.2009 в 17:11)   письмо автору
 
   для: tvv123456   (08.11.2009 в 16:59)
 

>я и написал что по вашему примеру у меня получилось(вытаскивается только 1 строка), а насчет цикл в цикле я не понял


<?
while($assocw mysql_fetch_assoc($resu)) // $resu запрос к базе описан выше 


// получили filed
$sql  mysql_query("SELECT * FROM table WHERE filed = '$resu->filed')";

while(
$result mysql_fetch_assoc($sql))
{
 
//выводим все повторяющиеся строки 
  
print_r($result);
  

}
?>


поля filed лучше хранить в целочисленном представлении, коль там одни цифры да и индекс для поля не мешает создать

  Ответить  
 
 автор: tvv123456   (08.11.2009 в 18:08)   письмо автору
 
   для: ols   (08.11.2009 в 17:11)
 

А на уровне SQL это нельзя решить? Например есть опция(или как это называется) DISTINCT когда выбираються только уникальные записи, может есть что-то обратное этому(когда выбираються не уникальные записи). А то очень не хочется напрягать базу запросами в цикле(ведь если записей достаточно много, то будет очень много запросов к базе) хотелось бы избежать этого
А так спасибо за участие если не найдеться лучшее решение воспользуюсь этим.

  Ответить  
 
 автор: tvv123456   (08.11.2009 в 21:34)   письмо автору
 
   для: tvv123456   (08.11.2009 в 18:08)
 

Не ужели в mysql нет такой опции чтоб вытащить не уникальные поля? (как я понимаю она должна быть противоположна DISTINCT)

  Ответить  
 
 автор: cheops   (14.11.2009 в 12:43)   письмо автору
 
   для: tvv123456   (08.11.2009 в 18:08)
 

А задача какая? Извлечь все записи, которых встречается больше чем две? А какова структура базы данных?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования