Matrix :
I believe it's a simple question I want to run both queries but I don't know how
hello people, I believe this is a simple matter I want execute the two queries
SELECT * FROM diligencias WHERE idprocesso = '$process_id'
and SELECT * FROM processos WHERE id = '$process_id'
code working only with one query:
<?php
include("../../includes/conectar.php");
if(isset($_POST['id']) && isset($_POST['id']) != "")
{
$process_id = $_POST['id'];
$qryLista = mysqli_query($con, "SELECT * FROM processos WHERE id = '$process_id'");
while($resultado = mysqli_fetch_assoc($qryLista)){
$vetor[] = array_map('utf8_encode', $resultado);
}
echo json_encode($vetor);
}
?>
Nick :
If the tables don't have the same column names, you can simply JOIN
them using this query:
SELECT *
FROM processos p
JOIN diligencias d ON d.idprocesso = p.id
WHERE p.d = '$process_id'
If the tables do have similar column names, you will need to provide column aliases for the overlapping names e.g.
SELECT p.*, d.id AS diligencias_id, d.xxx AS diligencias_xxx
FROM processos p
JOIN diligencias d ON d.idprocesso = p.id
WHERE p.d = '$process_id'
Note that in your existing code
isset($_POST['id']) != ""
should be
$_POST['id'] != ""
Also you are vulnerable to SQL injection, and should use a prepared query. For example:
$process_id = $_POST['id'];
$stmt = $con->prepare("SELECT *
FROM processos p
JOIN diligencias d ON d.idprocesso = p.id
WHERE p.d = ?");
$stmt->bind_param('i', $process_id);
$qryLista = $stmt->get_result();
while($resultado = $qryLista->fetch_assoc()){
$vetor[] = array_map('utf8_encode', $resultado);
}
echo json_encode($vetor);