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

Форум MySQL

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

 

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

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

тема: как сзделать так чтобы данные не повторялись?
 
 автор: BlueWolf   (12.05.2010 в 20:55)   письмо автору
 
 

Здравствуйте всем я тут новичок только зарегался.
Проблему у меня следующая:
Имеется база imgbase с таблицой gallery. Таблица состоит из полей img_name, img_description, img_date.

Скрипт состоит из двух частей:
1 Выводит картинки на экран (здесь всё работает)
<?
$z=0;//для нужной сортировки картинок
$sql_select = mysql_query("SELECT img_name FROM gallery");
$arr = mysql_fetch_array($sql_select);
do {
$t = $arr["img_name"];
echo '’.$url.’'.$t.'"/>';
$z++;// увеличиваем значение z на еденицу
if(($z/4)==is_integer($z/4)) { echo"<br/>";} //число элементов на одной строке
}
while ($arr=mysql_fetch_array($sql_select));
?>
2 скрипт администратирования (во тут у меня проблемы)
<?
if($_GET['action'] == ''){
echo '<br/><a href="admin.php?action=1">Просканировать диррикторию</a>';
}
else{
if($_GET['action'] == '1'){
$url="files"; //папка с файлами

if (is_dir($url))//поверяем является ли диррикторией
{
if ($dir = opendir($url))//проверяем была ли открыта директория
{
while ($file = readdir($dir)) //сканирование директории
{
if ($file != "." && $file != "..") //Выводим спиоск в браузер
{
$images[]=$file;
}
}
//Закрываем директорию
closedir($dir);
}
}

$amount=count($images);
for ($i=0;$i<=$amount-1;$i++){
$sql_insert = mysql_query ("INSERT INTO gallery (img_name) VALUES ('$images[$i]')");}
if ($sql_insert=='true') { echo '<p>Дириктори отсканирована</p>';}
else {echo '<p>Дирикория не отсканирована</p>';}


}
}
?>
Так вот мой второй скрипт добавляет в базу файлы даже если они уже есть в базе.
Ни как не соображу как сделать так чтобы добавлялось только те которых нет в базе?
Я начал учится работать с базами только неделю назад ещё многого не знаю.
Спасибо за помощь

  Ответить  
 
 автор: Tonik992   (12.05.2010 в 21:14)   письмо автору
 
   для: BlueWolf   (12.05.2010 в 20:55)
 

Попробуй при создании таблицы указать для нужного тебе поля значение UNIQUE

например:

CREATE TABLE img
(
img_name varchar2(30) UNIQUE,
.....
)
При добавлении записи с одинаковыми данным помоему mysql_query выдаст FALSE..

  Ответить  
 
 автор: BlueWolf   (12.05.2010 в 21:34)   письмо автору
 
   для: Tonik992   (12.05.2010 в 21:14)
 

как это сделать в phpmyadmin?

  Ответить  
 
 автор: oliss   (13.05.2010 в 00:53)   письмо автору
 
   для: BlueWolf   (12.05.2010 в 21:34)
 

ALTER TABLE `img` ADD UNIQUE (`img_name`)

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

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