Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Тонкости MySQL, запись в БД одинаковых значений 
V
    Опции темы
Sentox
Дата 27.1.2009, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


как то так
**


Профиль
Группа: Участник
Сообщений: 392
Регистрация: 27.1.2009
Где: Зимбабве

Репутация: 7
Всего: 7



Добрый день всем форумчанам.
Подскажите пожалуйста, у меня при сравнении пути выбранного каталога с путём, выбранного из БД происходит какой то казус.
Допустим :
Код

if(!in_array($path.$directory."/", $in_db)){
/* логика 1 */
} else {
/* логика 2 */
}

выполняется "Логика 1" при РАВНЫХ ЗНАЧЕНИЯХ.Определял как var_dump() так и через построчную отладку.Значения одинаковые.
Запись в БД выполняется таким же образом 
Код

$record = $path.$directory."/";


Это сообщение отредактировал(а) Sentox - 27.1.2009, 14:34
PM MAIL   Вверх
awers
Дата 27.1.2009, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 21
Всего: 31



не совсем понятно почему сравниваешь при помощи in_array. этому есть логическое объяснение?
PM MAIL WWW ICQ Skype   Вверх
skyboy
Дата 27.1.2009, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



мне даже непонятно, в чем заключается вопрос и при чем тут MySQL?  smile 
PM MAIL   Вверх
Sentox
Дата 27.1.2009, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


как то так
**


Профиль
Группа: Участник
Сообщений: 392
Регистрация: 27.1.2009
Где: Зимбабве

Репутация: 7
Всего: 7



В массиве _realpath[] находятся все пути(в подмассивах), выбранные из БД, относящиеся к определённому каталогу.
Код

/*Создание массива подпапок для сравнения*/
        $query = "SELECT catid,titel,path FROM dl1_cat WHERE subcat = {$this->_id}";
        $result = $this->_db_sql->sql_query($query);
        while($row = $this->_db_sql->fetch_array($result)){
            /*создаём массив из строк БД для каталогов */
            $this->_realpath[] = $row;
        }
    }

После этого:
Код

$handle = opendir($this->_path);
while ($directory = readdir ($handle)) {
 /* и здесь проверяю соответственно в цикле путь in_array($this->_path.$directory."/",$this->_realpath[$i]) */
if(!in_array($this->_path.$directory,$this->_realpath[$i])){
    $array[] = $this->_path.$directory."/";
}

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

Добавлено через 3 минуты и 42 секунды
Цитата(skyboy @ 27.1.2009,  15:56)
мне даже непонятно, в чем заключается вопрос и при чем тут MySQL?  smile

У меня просто есть подозрение, что после вставки (INSERT) и преобразования запроса с помощью
Код

 mysql_escape_string($record);
 в базу данных добавляются какие то лишние символы.
PM MAIL   Вверх
Sentox
Дата 27.1.2009, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


как то так
**


Профиль
Группа: Участник
Сообщений: 392
Регистрация: 27.1.2009
Где: Зимбабве

Репутация: 7
Всего: 7



Спасибо всем!проблема была в алгоритме.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0744 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.