Bom dia a todos, pode parecer um erro comum, porém não encontrei ainda a solução, o que acontece, preciso unir 4 tabelas, até aí tudo tranquila, porém das 4 pode acontecer de unir somente duas, isto porque posso ter ou não um item ou dois, tipo - tenho as tabelas atividade - tarefa - cliente e trabalho, quando cadastro uma atividade eu cadastro a tarefa em conjunto, porém não necessariamente o cliente e ou trabalho, a princípio não estou conseguindo pq o rec_cli e ou rec_proc podem estar vazio. não estou sabendo como fazer, se teria que colocar mais duas tabelas e novos select.
segue como esta.
<?php
$usuid=$_SESSION['UsuarioID'];
$consulta = $pdo->query("SELECT rec.rec_id, rec.rec_id_de, rec.rec_para, rec.rec_cli, rec.rec_proc, rec.rec_data, rec.rec_ass, rec.rec_tar, rec.rec_text,
cli.idc, cli.nomec, proc.idpr, proc.proces, prof.idp, prof.nomep, taref.idpar, taref.tarefa FROM rec
LEFT JOIN prof ON prof.idp=rec.rec_id_para
LEFT JOIN taref ON taref.idtar = rec.rec_tar
LEFT JOIN cli ON cli.idc = rec.rec_cli
LEFT JOIN proc.idpr = rec.rec_proc
WHERE rec.rec_id_de = $usuid ORDER BY rec.rec_id DESC");
while ($user = $consulta->fetch(PDO::FETCH_ASSOC)) {
$idtar = $user['idtar'];
$tarefa = $user['tarefa'];
$nomep = $user['nomep'];
$rec_data = $user['rec_data'];
$rec_tar = $user['rec_tar'];
$rec_text = $user['rec_text'];
$rec_id = $user['rec_id'];
$rec_ass = $user['rec_ass'];
$proces = $user['proces'];
$nomec = $user['nomec'];
?>
espero que tenham entendido.
Estou montando uma API para usar com BD MySQL, mas futuramente migraremos o BD para MongoDB... deverei mudar muitas coisas da API ? Terei muito retrabalho ?
O que acontece é que o projeto já existe e atualmente o BD é em MySQL e APIs em PHP... mas o projeto será migrado para a stack MERN (MongoDB, Express, React e Node).
A questão não é só performance, mas sim poder modernização pois o projeto irá se expandir precisa ser melhor escalável e a STACK será todo refeita, como disse acima, será usada MERN.
Estou montando uma API para usar com BD MySQL, mas futuramente migraremos o BD para MongoDB... deverei mudar muitas coisas da API ? Terei muito retrabalho ?
O que acontece é que o projeto já existe e atualmente o BD é em MySQL e APIs em PHP... mas o projeto será migrado para a stack MERN (MongoDB, Express, React e Node)
Boa tarde, preciso fazer uma busca por um ou mais itens, consigo fazer a busca pelo mês e ano, porém se eu quiser colocar tb a pessoa e mais uma condição não esta dando certo.
<?php
$mes=(int)$_POST['mes'];
$ano=(int)$_POST['ano'];
$idp=(int)$_POST['idp'];
$pagoparc=$_POST['pagoparc'];
$consulta1 = $pdo->query("SELECT parcelas.idpar, parcelas.procid, parcelas.procli, parcelas.proadv, parcelas.valorp,parcelas.valorpe, parcelas.valoradv,
parcelas.valorpago, parcelas.datapar, parcelas.datapago, parcelas.pagoparc, parcelas.obspar, cli.idc, cli.nomec, proc.idpr, proc.proces, prof.idp,
prof.nomep FROM parcelas LEFT JOIN cli ON cli.idc = parcelas.procli LEFT JOIN proc ON proc.idpr = parcelas.procid
LEFT JOIN prof ON prof.idp = parcelas.proadv WHERE Month(parcelas.datapar) = $mes AND YEAR(parcelas.datapar) = $ano
AND parcelas.proadv LIKE '%$idp%' AND parcelas.pagoparc LIKE '%$pagoparc%' ORDER BY parcelas.idpar ASC");
while ($user1 = $consulta1->fetch(PDO::FETCH_ASSOC)) {
?>
desta forma retorna todos os resultados independente do mês e ano
<?php
$mes=(int)$_POST['mes'];
$ano=(int)$_POST['ano'];
$idp=(int)$_POST['idp'];
$pagoparc=$_POST['pagoparc'];
$consulta1 = $pdo->query("SELECT parcelas.idpar, parcelas.procid, parcelas.procli, parcelas.proadv, parcelas.valorp,parcelas.valorpe, parcelas.valoradv, parcelas.valorpago,
parcelas.datapar, parcelas.datapago, parcelas.pagoparc, parcelas.obspar, cli.idc, cli.nomec, proc.idpr, proc.proces,
prof.idp, prof.nomep FROM parcelas
LEFT JOIN cli ON cli.idc = parcelas.procli LEFT JOIN proc ON proc.idpr = parcelas.procid
LEFT JOIN prof ON prof.idp = parcelas.proadv WHERE Month(parcelas.datapar) = $mes AND YEAR(parcelas.datapar) = $ano
AND parcelas.proadv = $idp AND parcelas.pagoparc = $pagoparc ORDER BY parcelas.idpar ASC");
while ($user1 = $consulta1->fetch(PDO::FETCH_ASSOC)) {
?>
já desta forma me retorna este erro :
Fatal error: Call to a member function fetch() on a non-object in
lembro que nesta busca posso ter ou não o idp e ou pagoparc