我有3张桌子:
表1是flux_zilnic: 表_2是tableta: tableta 而table_3是birouri: birouri
我有PHP代码:
function search_in_birouri()
{
$connection = db_connect();
$query = mysqli_query($connection, "SELECT * FROM birouri WHERE disponibilitate = 'LIBER' AND locatie_actuala = 'Orhideea' AND pauza = '' AND closed_program = '' AND feedback = '' ORDER BY id ASC") or die(mysqli_error($connection));
$row = mysqli_fetch_assoc($query);
$username = $row['username'];
$nr_birou = $row['nr_birou'];
$disponibilitate = $row['disponibilitate'];
$locatie_actuala = $row['locatie_actuala'];
$pauza = $row['pauza'];
$closed_program = $row['closed_program'];
$feedback = $row['feedback'];
$inregistrare_clienti = $row['inregistrare_clienti'];
return array('username' => $username, 'nr_birou' => $nr_birou, 'disponibilitate' => $disponibilitate, 'locatie_actuala' => $locatie_actuala, 'pauza' => $pauza, 'closed_program' => $closed_program, 'feedback' => $feedback, 'inregistrare_clienti' => $inregistrare_clienti);
unset($connection);
}
function search_in_tableta()
{
$connection = db_connect();
$query = mysqli_query($connection, "SELECT * FROM tableta WHERE locatie = 'Orhideea' ORDER BY `tableta`.`id` ASC") or die(mysqli_error($connection));
$row = mysqli_fetch_assoc($query);
$clientID = $row['clientID'];
$nume_client = $row['nume_client'];
$data_inregistrare = $row['data_inregistrare'];
$ora_inregistrare = $row['ora_inregistrare'];
$locatie = $row['locatie'];
$status = $row['status'];
return array('clientID' => $clientID, 'nume_client' => $nume_client, 'data_inregistrare' => $data_inregistrare, 'ora_inregistrare' => $ora_inregistrare, 'locatie' => $locatie, 'status' => $status);
unset($connection);
}
function start_working()
{
$username = cauta_in_birouri();
$nr_birou = cauta_in_birouri();
$disponibilitate = cauta_in_birouri();
$paused = cauta_in_birouri();
$closed_program = cauta_in_birouri();
$feedback = cauta_in_birouri();
$inregistrare_clienti = cauta_in_birouri();
$clientID = cauta_urmatorul_client();
$nume_client = cauta_urmatorul_client();
$connection = db_connect();
$data_curenta = date_create('');
$ora_alocare = date_format($data_curenta, 'H:i');
$username = $username['username'];
$nr_birou = $nr_birou['nr_birou'];
$clientID = $clientID['clientID'];
$nume_client = $nume_client['nume_client'];
$disponibilitate = $disponibilitate['disponibilitate'];
$paused = $paused['pauza'];
$closed_program = $closed_program['closed_program'];
$feedback = $feedback['feedback'];
$inregistrare_clienti = $inregistrare_clienti['inregistrare_clienti'];
//
if($nume_client == NULL)
{
//Salveaza in log
$linie_text = "NU DETECTEZ NICIUN CLIENT ÎNREGISTRAT ÎN ORHIDEEA";
$new_line = "==> ";
$handle = fopen('loguri/actiuni_comandate.txt','a+');
fwrite($handle, $new_line . $linie_text . " (" . $ora_alocare . ")" . "<br>" . "\r\n");
fclose($handle);
} else if($nume_client != NULL && $disponibilitate == 'LIBER' && $paused == NULL && $closed_program == NULL && $feedback == NULL && $inregistrare_clienti == NULL)
{
$query = mysqli_query($connection,"
INSERT INTO `flux_zilnic` (motiv,nume_client,clientID,data_inregistrare,ora_inregistrare,status_alocare,ora_alocare,status_preluare,ora_preluare,status_rezolvare,ora_rezolvare,operator,birou,fisa_service,locatie_actuala,fise_cu_probleme,observatii,status)
SELECT '',nume_client,clientID,data_inregistrare,ora_inregistrare,'ALOCAT','$ora_alocare','','','','','$username','$nr_birou','',locatie,'','',status
FROM `tableta` WHERE locatie = 'Orhideea' ORDER BY id ASC LIMIT 1") or die("NU AM ALOCAT URMĂTORUL CLIENT DEOARECE: <br>" . mysqli_error($connection));
$queryTwo = mysqli_query($connection,"UPDATE `birouri` SET `disponibilitate` = 'OCUPAT' WHERE username = '$username'") or die("ÎN ORHIDEEA NU AM SCHIMBAT BIROUL ÎN STATUS OCUPAT, DEOARECE: <br>" . mysqli_error($connection));
$queryThree = mysqli_query($connection,"DELETE FROM `tableta` WHERE locatie = 'Orhideea' ORDER BY id ASC LIMIT 1") or die("ÎN ORHIDEEA NU AM ȘTERS CLIENTUL DE PE TABLETĂ DIN CAUZA UNEI ERORI: <br>" . mysqli_error($connection));
if($query && $queryTwo && $queryThree)
{
//Salveaza in log
$linie_text = "AM ALOCAT CLIENTUL " . $nume_client . " CĂTRE " . $username . " ÎN ORHIDEEA";
$new_line = "==> ";
$handle = fopen('loguri/actiuni_comandate.txt','a+');
fwrite($handle, $new_line . $linie_text . " (" . $ora_alocare . ")" . "<br>" . "\r\n");
fclose($handle);
}
} else
{
//Salveaza in log
$linie_text = "NU ESTE DISPONIBIL NICIUN BIROU ÎN ORHIDEEA. NU POT SĂ ALOC CLIENTUL " . $nume_client;
$new_line = "==> ";
$handle = fopen('loguri/actiuni_comandate.txt','a+');
fwrite($handle, $new_line . $linie_text . " (" . $ora_alocare . ")" . "<br>" . "\r\n");
fclose($handle);
}
unset($connection);
}
根据$query
的{{1}},我从表2和表3中获取值,并将它们放在表1中。
正如您在start_working()
中看到的,此函数返回表3 search_in_birouri()
中的值。
这意味着接下来会发生:
1.函数ORDER BY id ASC
- start_working()
将复制table_2中的所有值,并仅复制table_3中的$query
和nr_birou
,并将它们放在table_1中。
2.函数username
- start_working()
将更新table_3 ...
3.函数$queryTwo
- start_working()
将从table_2中删除一行
一切正常,没有问题。
除了我想从table_3中选择一个随机$queryThree
(以及属于它的用户名)并将其放在table_1中并与table_2中的值结合使用。
我该怎么做?如何将table_2中的值从table_3中随机$nr_birou
和nr_birou
复制到table_1?
我真的,真的想尽力解释。