[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: простенький скрип по сравнению баз
guzmo
есть несколько баз данных.

пример
тестовой файл содержит следующие данные:

номер1 дата1 имя1
номер2 дата2 имя2
номер3 дата3 имя3
номер4 дата4 имя4
номер5 дата5 имя5

надо определить есть ли имя1 в другой базе.

как делал.



// вытащил файл
$L1=file("prsring.txt");
$L2=file("ID_SEC_LIST.txt");

echo '<br><br>';
// хватаем строку из списка которая была в файле, т.е. пятую строчку
    $String1=$L1[5];
// разбиваем строку на массив
    $Array1 = explode ( " " , $String1);
// достаем из массива последний элемент
    $r1=$Array1 [2];
// сравниваем элемент массива в первом файле с 10 (для примера) элементами в другом.
for ($j = 1; $j <= 10; $j++)    {

// строку из списка которая была в файле
// разбиваем строку на массив         
// достаем из массива последний элемент         

  $String2=$L2[$j];
  $Array2 = explode ( " " , $String2);
  $r2=$Array2 [2];
// сравниваем два элемента
$e=strcmp ($r1,$r2);

if($e!=0) $b=1;
                 
                                              }

if(b==1);
//echo $r1.' нет в ID_SEC_LIST.txt';

echo '<br><br>';

// }




возникла проблема при сравнении эелементов массива, если элемент из этого же файла, тогда проходит на ура, а если из другого то не проходит сравнения. Строчки одинаковые. Петров - Петров. А в результате 0 нету.

Подскажите, в чем проблема может быть.



Спустя 13 минут, 39 секунд (21.01.2011 - 12:05) Evilsoul написал(а):
Оформи код пожалуйста нормально, для этого есть тэги [php]
Цитата
пример

номер1 дата1 имя1
номер2 дата2 имя2
номер3 дата3 имя3
номер4 дата4 имя4
номер5 дата5 имя5

Это что?
Цитата
есть несколько баз данных.

каждая база данных имеет имя (одно), вторая (другое)
дальше в каждой базе есть таблицы, они тоже с именем
а уж потом идут столбцы с именами, типа
Цитата
номер1 | дата1 | имя1

И последнее, коль ты говоришь о базе, то и работай с базой а не с файлами.

Спустя 4 часа, 33 минуты, 5 секунд (21.01.2011 - 16:38) guzmo написал(а):
Цитата (Evilsoul @ 21.01.2011 - 09:05)
Оформи код пожалуйста нормально, для этого есть тэги [php]
Цитата
пример

номер1 дата1 имя1
номер2 дата2 имя2
номер3 дата3 имя3
номер4 дата4 имя4
номер5 дата5 имя5

Это что?
Цитата
есть несколько баз данных.

каждая база данных имеет имя (одно), вторая (другое)
дальше в каждой базе есть таблицы, они тоже с именем
а уж потом идут столбцы с именами, типа
Цитата
номер1 | дата1 | имя1

И последнее, коль ты говоришь о базе, то и работай с базой а не с файлами.

prsring.txt
ID_SEC_LIST.txt

две базы

Цитата
Цитата
пример

номер1 дата1 имя1
номер2 дата2 имя2
номер3 дата3 имя3
номер4 дата4 имя4
номер5 дата5 имя5

Это что?


это содержание базы prsring.txt

Цитата
в каждой базе есть таблицы, они тоже с именем
а уж потом идут столбцы с именами


нет таблиц, база в виде файла .тхт.
Вроде все элементарно.
Файлики .тхт и представяют собой базу, которая обрабатывается на сервере, их требуется обработать по схеме выше. Чтобы не было дублей.

Спустя 55 минут, 24 секунды (21.01.2011 - 17:33) guzmo написал(а):
// сравниваем два элемента
$e=strcmp ($r1,$r2);

вот в этом проблема, переменные строчки с массивов с разных файлов.
Если сравниваю с одного файла, то отлично проходит.

Спустя 3 часа, 19 минут, 59 секунд (21.01.2011 - 20:53) guzmo написал(а):
user posted image
даже файлы в переменные закидываю, и сравниваю все равно не может оценить одинаковые или нет, пишет для всех разные.

Спустя 5 часов, 42 минуты, 49 секунд (22.01.2011 - 02:36) Self написал(а):
В массивах нумерация с '0' ($L1, $L2, $Array1, $Array2).

Ну и при положительном сравнении нужно выпригивать из цикла.

Спустя 1 день, 4 часа, 13 минут, 2 секунды (23.01.2011 - 06:49) guzmo написал(а):
Цитата (Self @ 21.01.2011 - 23:36)
В массивах нумерация с '0' ($L1, $L2, $Array1, $Array2).

Ну и при положительном сравнении нужно выпригивать из цикла.

знаю, чуть поправил, на самом деле там больше данных, на счет выпрыгивать тоже верно. Однако само сравнение не проходит.
через $e=strcmp ($r1,$r2);
Вытягиваю одного значения - "вася" $r1

вытягиваю значения из другого файла "вася" $r2

в результате сравнения выдает что разные.

однако если при $e=strcmp ($r1,$r2);

$r1 и $r2 из одного файла, при этом и то и другое "вася"
то выдает что равные.

ума не приложу почему из разных файлов одинаковые строчки разными получаются.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.