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
boa tarde, tenho duas tabelas, utilizo inner ou left em outros casos e funcionam, porém neste caso específico não esta funcionando, em vez de trazer 1 ou 3 registros que estariam em comum , esta trazendo pra mais de mil.
tipo, eu tenho uma tabela clientes e outra tabela trabalho, todos os trabalhos estão ligados a um cliente pelo id do cliente, preciso ao consultar através de um formulário que este me mostre os trabalhos do cliente em questão, porém esta mostrando vários clientes com o mesmo trabalho.
<div class="table-responsive mb-4 mt-4">
<table class="table table-striped">
<thead>
<tr>
<th> Ação </th>
<th> id </th>
<th> Nome </th>
<th> Processo </th>
</tr>
</thead>
<tbody>
<?php
$idc=(int)$_POST['idc'];
$consulta = $pdo->prepare("SELECT cli.idc, cli.nomec, proc.idpr, proc.part, proc.proces FROM cli LEFT JOIN proc ON proc.part=:idc");
$consulta->bindParam(':idc', $idc, PDO::PARAM_STR);
$consulta->execute();
while($linha = $consulta->fetch(PDO::FETCH_ASSOC)){
$idc = $linha['idc'];
$idpr = $linha['idpr'];
$proces = $linha['proces'];
$nomec = $linha['nomec'];
$part = $linha['part'];
?>
<tr>
<td ><input type="radio" name="idc" class="idc" value="<?php echo $idc; ?>"></td>
<td><?php echo $idc; ?></td>
<td><?php echo $nomec; ?></td>
<td><a href="listclienteproc.php?idpr=<?php echo $idpr; ?>"><?php echo $proces; ?></a></td>
</tr>
<?php } ?>
</tbody>
</table>
preciso que me mostre os trabalhos no caso da coluna part que é o id do cliente - idc
o mesmo esta por post pq no formulário de consulta há 5 inputs de auto preenchimento que informa o idc do cliente a ser passado