|
|
|
| Проблема в том что поля в таблицах заполняются одинаково в зависимости от первого.
А надо для каждого свой уникальный.
Вот мой скрипт:
<?php
//Сервер, в большинстве случаев менять не требуется
$DBSERVER = "localhost";
//Пользователь и пароль
$DBUSER = "grib";
$DBPASS = "grib";
//База данных
$DB = "imgbase";
$link = mysql_connect($DBSERVER, $DBUSER, $DBPASS)
or die("Не могу подключиться" );
// сделать $DB текущей базой данных
mysql_select_db($DB, $link) or die ('Не могу выбрать БД');
echo '<font color="red"><b>Cвязь установлена</b></font>';
?>
<?
$papkaurl='z:/home/grib.ru/www/fotoalbom'; //папка с файлами
if (is_dir($papkaurl))//поверяем является ли диррикторией
{
if ($papkadir = opendir($papkaurl))//проверяем была ли открыта директория
{
while ($papkafile = readdir($papkadir)) //сканирование директории
{
if ($papkafile != "." && $papkafile != "..") //Выводим спиоск в браузер
{$papkaimages[]=$papkafile;}
}
//Закрываем директорию
closedir($papkadir);
}
}
else {echo '<font color="#EB290F">Ошибка!!! директория не найдена</br>
Возможно, скоро ошибка будет исправлена администраторами сайта.</br>
Если ошибка не исправляется уже долгое время, отправьте сообщение через форму обратной связи.</font>';}
//Если дириктория не найдена вылезает эта надпись
//Получаем количество элементов в массиве
sort($papkaimages);//сортировка по алфавиту в порядке возрастания
$papkaamount=count($papkaimages);// количество файлов
for ($p=0;$p<=$papkaamount-1;$p++) { // start
if (is_dir($galleryurl))//поверяем является ли диррикторией
{
if ($gallerydir = opendir($galleryurl))//проверяем была ли открыта директория
{
while ($galleryfile = readdir($gallerydir)) //сканирование директории
{
if ($galleryfile != "." && $galleryfile != "..") //Выводим спиоск в браузер
{$galleryimages[]=$galleryfile;}
}
//Закрываем директорию
closedir($gallerydir);
}
}
$galleryamount=count($galleryimages);
for ($g=0;$g<=$galleryamount-1;$g++){
$sql_insert = mysql_query ("INSERT INTO gallery$papkaimages[$p](img_name) VALUES ('$galleryimages[$g]')");}
if ($sql_insert=='true') { echo '<p>Дириктори отсканирована</p>';}
else {echo '<p>Дирикория не отсканирована</p>';}
} //finsh
echo "Просканированно";
?>
Здесь используется 2 цикла for вложенные в друг друга.
Вот строчка где происходит запись:
mysql_query ("INSERT INTO gallery$papkaimages[$p](img_name) VALUES ('$galleryimages[$g]')");
Вот это выбирается правильно у меня gallery$papkaimages[$p](img_name) Это названия табличек с полем img_name
Думаю проблема в этом VALUES ('$galleryimages[$g]')
Но не понимаю почему для каждой таблицы заносится одинаковые значения.
Помогите пожалуйста. | |
|
|
|
|
|
|
|
для: BlueWolf
(14.05.2010 в 17:49)
| | Я попробовал поставить unset($galleryimages); вроде помогло | |
|
|
|
|
|
|
|
для: BlueWolf
(14.05.2010 в 18:32)
| | одно из решение проблемы это сделать поле уникальным при создании таблицы
CREATE TABLE IMAGES
(
.....
....
img int(32) UNIQUE
)
никогда не будет одинаковых записей в поле img.... | |
|
|
|