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

Форум MySQL

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

 

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

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

тема: Проверка на аналогичную запись в таблице
 
 автор: Panker   (01.02.2007 в 15:49)   письмо автору
 
 

Добрый день

Я пишу в таблицу новости с других сайтов!
Проверяю перед записью - есть ли такая новость или нет!

Делаю я так


<?
//проверяем нет ли уже данной новости в БД
    
$check mysql_query("SELECT id FROM News WHERE link LIKE '$link'");
?>


Но дело в том что я пишу новости сразу на десятки сайтов и нужно проверять не по всей таблице, а не много подругому с другим условием!


CREATE TABLE `News` (
  `id` int(11) NOT NULL auto_increment,
  `d_id` tinytext NOT NULL,
  `title` tinytext NOT NULL,
  `link` tinytext,
  `description` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=11 ;


нужно проверять есть ли такая запись в таблице с учетом d_id!

То есть... блин очень трудно обьяснить! :(

То есть если в d_id = test есть в link запись ПУПУПУ
то в d_id = test2 ПУПУПУ уже не пишется!

d_id это домен! ( так для осведомления мало ли! )

Как нужно проверять именно по d_id если я пишу в d_id=1 то нужно проверять там ЕСТЬ ЛИ этот ПУПУПУ а не по всей таблице и по всем d_id! ^^

кто вник, пожалуйста. помогите!


То етсь нужно проверять н всю таблицу на link (     $check = mysql_query("SELECT id FROM News WHERE link LIKE '$link'"); ) 

а только ячейки где d_id указан мною!  (Вот как :) )

   
 
 автор: Loki   (01.02.2007 в 16:38)   письмо автору
 
   для: Panker   (01.02.2007 в 15:49)
 

Создайте уникальный индекс и ничего проверять не придется.

   
 
 автор: Panker   (01.02.2007 в 22:28)   письмо автору
 
   для: Loki   (01.02.2007 в 16:38)
 

всмысле? )))


Да тут првоерочный СКЛ запрос подставить 2 слова наверника.... помогите, что мудрить то :)

   
 
 автор: cheops   (02.02.2007 в 00:43)   письмо автору
 
   для: Panker   (01.02.2007 в 22:28)
 

Проиндексируйте поле уникальным индексом и ничего проверять вообще не понадобится.

   
 
 автор: Panker   (02.02.2007 в 22:28)   письмо автору
 
   для: cheops   (02.02.2007 в 00:43)
 

это как? ))

а что, нельзя 2 варианта проверки то есть по d_id and link проверить? :(((

   
 
 автор: cheops   (03.02.2007 в 01:11)   письмо автору
 
   для: Panker   (02.02.2007 в 22:28)
 

Можно и по двум параметрам проверять для этого используйте запрос вида
<?php
    
//проверяем нет ли уже данной новости в БД 
    
$query "SELECT id FROM News WHERE link LIKE '$link' AND d_id=1";
    
$check mysql_query($query); 
?>

   
Rambler's Top100
вверх

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