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

Форум MySQL

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

 

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

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

тема: как занести содержимое(значения всех строк) поля таблицы mysql в массив?
 
 автор: Слава   (23.10.2005 в 19:21)
 
 

Помогите пожалуйста.Задача стоит получить массив,содержащий значения всех строк одного поля таблицы, затем, открыть другую таблицу и сделать по аналогии с первой таблицей.
В итоге нужно сравнить содержимое массивов(текстовые строки) и оставить лишь уникальные,т.е. значения, которые не содержатся во второй таблице.

   
 
 автор: PantiL   (23.10.2005 в 19:57)   письмо автору
 
   для: Слава   (23.10.2005 в 19:21)
 

Вот так можно получить массив($arr1) с содержанием одноименных полей из всех строк

$query = "SELECT name_field FROM table;";
$reource = mysql_query($query);
while($arr = mysql_fetch_array($resource))
{
     $arr1[]=$arr['name'];
}

   
 
 автор: Слава   (23.10.2005 в 20:02)
 
   для: PantiL   (23.10.2005 в 19:57)
 

мне это известно, см. условие задачи

   
 
 автор: Loki   (23.10.2005 в 20:20)   письмо автору
 
   для: Слава   (23.10.2005 в 20:02)
 

Если речь идет о таблицах sql, то можно попробовать запросы с левыми сравнениями. Я ими пользоваться так и не научился, но вроде как это как раз то, что вам нужно:)

   
 
 автор: cheops   (23.10.2005 в 20:09)   письмо автору
 
   для: Слава   (23.10.2005 в 19:21)
 

Это нужно сделать средствами PHP или в виде запроса MySQL? Такую задачу можно решить при помощи левого объединения. Приведите пожалуйста структуру ваших таблиц?

PS Вопросы, посвящённые MySQL, лучше сразу задавать в разделе MySQL

   
 
 автор: Слава   (23.10.2005 в 20:16)
 
   для: cheops   (23.10.2005 в 20:09)
 

ок.
Вот схема данных в аксессе

   
 
 автор: Слава   (23.10.2005 в 20:18)
 
   для: cheops   (23.10.2005 в 20:09)
 

средствами php
также закачал дамп своей бд

   
 
 автор: Слава   (23.10.2005 в 20:24)
 
   для: Слава   (23.10.2005 в 20:18)
 

нужно сформировать запрос,который показывает номера авто,которые не прошли техосмотр.
Для этого надо открыть таблицу auto_information и считать с поля auto_num номера в массив,затем тоже самое с таблицей checkup и выбрать уникальные

   
 
 автор: cheops   (23.10.2005 в 20:42)   письмо автору
 
   для: Слава   (23.10.2005 в 20:24)
 

А вообще-то чёрта с два мы через LEFT JOIN получим эти значения, я сначала не заметил фразу "которые не должны входить во вторую таблицу". Я гляжу у вас MySQL версии выше 4.1, может вам подойдёт запрос с вложенным запросом?
SELECT auto_num
FROM auto_information 
WHERE auto_num NOT IN (SELECT auto_num FROM checkup GROUP BY auto_num)
GROUP BY auto_num

   
 
 автор: Слава   (23.10.2005 в 21:29)
 
   для: cheops   (23.10.2005 в 20:42)
 

спасибо большое за помощь, завтра опробую.
и еще один вопрос: а как же целостность бд, как ее не нарушить в бд mysql?

   
 
 автор: cheops   (24.10.2005 в 13:26)   письмо автору
 
   для: Слава   (23.10.2005 в 21:29)
 

Нужно больше подробностей - какие предпосылки для её нарушения? Что за база, как заполняется, как удаляются записи, сколько народу и т.п. Иногда можно обойтись просто внешним кодом, иногда без транзакций и внешних ключей не обойтись (но последнее отсутвует в MyISAM, самой быстрой таблице и необходимо использовать тип InnoDB или BDB).

   
 
 автор: Слава   (05.11.2005 в 14:44)
 
   для: cheops   (24.10.2005 в 13:26)
 

большое спасибо за ответ, все получилось

   
Rambler's Top100
вверх

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