У меня есть база данных, заполненная идентификаторами сотрудников и соответствующими именами сотрудников для каждого сотрудника. Есть ли способ найти массив идентификаторов сотрудников из базы данных? Google не помогает мне, я думаю, потому что я не знаю, как сформулировать мой поиск.
Моя идея состоит в том, чтобы иметь что-то вроде array_search ($ empID, $ currentArray). А затем переберите каждый идентификатор сотрудника из базы данных и сравните его с $ currentArray? Я сомневаюсь, что это самый эффективный способ, но я все еще учусь, поэтому любая помощь будет оценена. Если кто-то захочет помочь мне с этим, я могу опубликовать любую необходимую информацию. Спасибо!
Отредактируйте вот мой код, если кому-то интересно:
<code> <?php
//this variable tells us how many drupal nodes or 'paystub pages' we need to create
$nodeCount = 0;
$i = 0;
//needed for creating a drupal node
//for this code to work this script must be run from the root of the drupal installation
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
if ($handle = opendir('/var/www/html/pay.mistequaygroup.com/upload'))
{
/* This is the correct way to loop over the directory. */
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..")
{
$nodeCount++;
//We convert the pdf documents into text documents and move put them in the converted folder
$command = "pdftotext /var/www/html/pay.mistequaygroup.com/upload/" . $file . " /var/www/html/pay.mistequaygroup.com/upload/converted/" . $file . ".txt";
//Execute the command above
$output = exec($command);
//mark all the spots that TO THE ORDER OF shows up
//echo array_search("TO THE ORDER OF", $currentArray);
//echo $userName;
//extract the employees name
//print_r($currentArray);
//echo '<pre>';
//echo array_search("DATE AMOUNT", $currentArray);
//echo '
';
}
}
closedir ($ ручка);
}
// вычитаем два, потому что папки «массив» и «преобразованные» включены, потому что PHP не различает
// между папками и файлами
$ nodeCount = $ nodeCount - 2;
echo "
";
echo "Я посчитал $ nodeCount pdf файлы";
echo "
";
// открыть каталог
if ($ handle2 = opendir ('/ var / www / html / pay.mistequaygroup.com / upload / convert'))
{
// проверяем, достигли ли мы последнего файла нашего каталога, если не остаемся в цикле
while (false! == ($ currentText = readdir ($ handle2)))
{
// отфильтровать файлы с именем. а также ..
if ($ currentText! = "." && $ currentText! = "..")
{
// Создать файл для массива, который будет напечатан
$ createArray = fopen ("/ var / www / html / pay.mistequaygroup.com / upload / arrays /". $ currentText. ".txt", "w +") или die ("Не удается найти файл для создания массива, ID 2 «);
// читаем файл из цикла в массив
$ currentArray = file ("/ var / www / html / pay.mistequaygroup.com / upload / convert /". $ currentText, FILE_SKIP_EMPTY_LINES) или die ("Не удается найти файл для создания массива, ID 1");
// $ countArray = array_search (".........., $ currentArray);
// echo $ countArray;
// распечатать массив в файл .txt для отладки
$ out = print_r ($ currentArray, true);
fwrite ($ createArray, $ out);
fclose ($ createArray);
// Цикл?
array_search ($ empID, $ currentArray);
// нужно перебрать массив, в котором мы находимся, ища числа, которые соответствуют идентификаторам сотрудников
// ИЛИ, возможно, нам придется искать имена в текстовой строке и затем получать соответствующий идентификатор для этого пользователя из базы данных?
// мозговой штурм
$ query = SELECT * FROM `profile_values` WHERE` fid` = 2 AND `value` = $ employeeID;
// НЕ РАБОТАЕТ, КАК ОЖИДАЕТСЯ
$ indexEmpid = 0;
foreach ($ currentArray как $ value)
{
// устанавливаем значение 28 и оно удваивается при каждом запуске цикла, поэтому нет необходимости каждый раз добавлять 28
// каждый 28-й индекс в нашем массиве является идентификатором сотрудника
$ indexEmpid = $ indexEmpid + 28;
$ currentEmployeeID = $ currentArray [$ indexEmpid];
echo "
";
echo "ID сотрудника найдены: $ currentEmployeeID";
// echo "ID сотрудника найдены: $ currentArray [$ indexEmpid]";
echo "
";
echo "IndexEmpid: $ indexEmpid";
}
}
}
}
?>