Я запрограммировал свою полную логику на PHP, и моя база данных находится в цикле запуска цикла sql-сервера, но когда я использую более одного запроса, мой цикл не дает желаемого результата, я не могу вернуться через sql-сервер, пытаясьошибка в локальном браузере, но это не помогает
после первого запроса я получаю различное название компании и города
co1 ci1, co1 ci2, co2 ci3, co3 ci4,
теперь я зацикливаюсь на приведенном выше результате запроса, чтобы получить каждого сотрудника отдельной компании и города
first query (distinct result)
{
while {
second query(each employee of every distinct company )
while{
now applying 3 check through queries on each employee
}
}
}
, применяя проверки, мой 2-й цикл выполняется более одного раза
$Conn_sis=sqlsrv_connect($ServerName,$ConnectionInfo);
$PSL = array("1", "2", "3");
if($Conn_sis)
{
if(($DistinctCompany=sqlsrv_query($Conn_sis,
"SELECT dbo.WalkerItContacts.ConcatKey ,
dbo.WalkerItContacts.CompanyName,
dbo.WalkerItContacts.EmployeeCity,
dbo.WalkerItContacts.EmployeeAddress1
FROM dbo.WalkerItContacts
GROUP BY dbo.WalkerItContacts.ConcatKey,
dbo.WalkerItContacts.CompanyName,
dbo.WalkerItContacts.EmployeeCity,
dbo.WalkerItContacts.EmployeeAddress1
HAVING count(distinct dbo.WalkerItContacts.CompanyName) = 1
order by dbo.WalkerItContacts.CompanyName")) !== false)
{
while($DistinctCompany_result = sqlsrv_fetch_object( $DistinctCompany ))
{
$DistinctCompanyEmployee = sqlsrv_query($Conn_sis,
"SELECT *
from dbo.WalkerItContacts
where dbo.WalkerItContacts.CompanyName ='$DistinctCompany_result->CompanyName'
AND dbo.WalkerItContacts.EmployeeCity ='$DistinctCompany_result->EmployeeCity'
And dbo.WalkerItContacts.EmployeeAddress1 ='$DistinctCompany_result->EmployeeAddress1'");
while($DistinctCompanyEmployee_result = sqlsrv_fetch_object($DistinctCompanyEmployee ))
{
$CCount = sqlsrv_query($Conn_sis,
"SELECT *
from dbo.WalkerElectedContacts
where dbo.WalkerElectedContacts.CompanyName='$DistinctCompanyEmployee_result->CompanyName'
AND dbo.WalkerElectedContacts.EmployeeCity = '$DistinctCompanyEmployee_result->EmployeeCity'",array(), array( "Scrollable" => 'static' ));
$CCount_result = sqlsrv_num_rows($CCount);
;
if ($CCount_result >= 2)
{
echo "Error in retrieveing row count.";
}
else
{
$EmployeeTital = sqlsrv_query($Conn_sis,
"SELECT dbo.WalkerElectedContacts.EmployeeTitle
from dbo.WalkerElectedContacts
where dbo.WalkerElectedContacts.CompanyName='$DistinctCompanyEmployee_result->CompanyName'
AND dbo.WalkerElectedContacts.EmployeeCity = '$DistinctCompanyEmployee_result->EmployeeCity'");
while($EmployeeTital_result = sqlsrv_fetch_object($EmployeeTital))
{
if($EmployeeTital_result->EmployeeTitle === $DistinctCompanyEmployee_result->EmployeeTitle)
{
echo "same";
}
else
{
if(in_array($DistinctCompanyEmployee_result->PrioritySL, $PSL))
{
$InserQuery = sqlsrv_query($Conn_sis,"INSERT INTO dbo.WalkerElectedContacts(CompanyName, EmployeeCity,EmployeeTitle,EmployeeSeniorityLevel,PrioritySL)
Values('$DistinctCompanyEmployee_result->CompanyName','$DistinctCompanyEmployee_result->EmployeeCity','$DistinctCompanyEmployee_result->EmployeeTitle','$DistinctCompanyEmployee_result->EmployeeSeniorityLevel','$DistinctCompanyEmployee_result->PrioritySL')");
}
else
{
echo"not";
}
}
}
}
}
}
}
else
{
die("query is problem");
}
я ожидаюво втором цикле проверьте каждого моего сотрудника и вставьте в новую таблицу, а затем перейдите к первому циклу для следующей отдельной компании