Te hago una sugerencia cuando esto pasa.
Luego de definir la consulta, agrega el siguiente codigo:
Código PHP:
echo $sql;
die();
Si la consulta tiene sentido la copias y la pegas en algun query manager que utilices para saber que informacion te esta trayendo, caso contrario, modificas la consulta segun el error que aparezca.
Yo modificaria lo siguiente:
Código PHP:
<?php
$conexion= pg_connect ("host=localhost port=5432 user=postgres password=admin dbname=clinica_car");
$codigo=$_POST["valor_a_buscar"];
//$search = str_replace(" ","%",$codigo); No, esto te va a traer problemas, el % se usa al principio y al final no en el medio
$sql = "SELECT FROM paciente WHERE idpaciente LIKE '".%$search%."' ";
// las comillas son para identificar la variable
$rs= pg_exec($sql,$conexion) or die ("No existe coinsidencia en la busqueda");
$_SESSION['valor_a_buscar']=$search;
if(pg_exec($rs)!=0){/*Si existe el elemento a buscar entonces mostrara resultados Si NO un mensaje respectivo*/
$sql ="SELECT FROM paciente WHERE idpaciente = '".$search."' ";
//idem anterior.
$query=pg_query($sql) or die ("Error SQL Mostrar");
$data=pg_fetch_array($query);
}
else{
echo "No se encontraron resultados segun el codigo ingresado";
}
?>
Si no funciona mostra el error, o algo que nos oriente.
Espero haber ayudado.
Saludos.