PHP - Problemas con sonsulta SQL con matriz e implode

 
Vista:

Problemas con sonsulta SQL con matriz e implode

Publicado por Ricardo J. Rios R. (1 intervención) el 09/02/2009 01:43:27
Buenas Tardes foreros, gracias por leer mi post, voy al grano, estoy haciendo una busqueda de multiples criterios mediante un formulario hecho en DW y que mediante POST envia las variables a una pagina de resultados PHP, pero tengo problemas ya que no domino el implode, a continuacion el error y el codigo:

El error que me sale:

[CODE]Parse error: syntax error, unexpected '.' in C:wampwwwActivos2 esultado_responsables2.php on line 28[/CODE]

El codigo fuente de la pagina de resultados:

[PHP]<?php virtual('/Activos2/Connections/activos.php'); ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sistema de Inventario MyA</title>
</head>
<body>
<?php
$cedula = $_POST['cedula'];
$nombre = $_POST['nombre'];
$cargo = $_POST['cargo'];

$cedula = mysql_real_escape_string($cedula);
$nombre = mysql_real_escape_string($nombre);
$cargo = mysql_real_escape_string($cargo);

if(isset($cedula) && $cedula!="")
{
$where[] = " cedula LIKE '%".$cedula."%'";
}
else if(isset($nombre) && $nombre!="")
{
$where[] = " nombre LIKE '%".$nombre."%'";
}
else if(isset($cargo) && $cargo!="")
{
$where[] = " nombre LIKE '%".$cargo."%'";
}
else
{
echo "No escribio ningún criterio de búsqueda, por favor regrese y escriba alguno";
}

$query = "SELECT * FROM table WHERE ".implode(" AND ",.$where[]); // Esta es la linde adonde tengo problemas

$result = mysql_query($query);

if(!$result)
{
exit("hay un error con la consulta : ".mysql_error());
}
else
{
echo "<table width=100% border=1 cellspacing=1 cellpadding=1><tr bgcolor=#009900 align=center><td><div align=center>
<em><strong>CÉDULA</strong></em></div></td><td><div align=center>
<em><strong>NOMBRE</strong></em></div></td><td><div align=center>
<em><strong>CARGO</strong></em></div></td></tr>";
while($row = mysql_fetch_array ($result))
{
echo "<TR>
<TD WIDTH=5% ALIGN=CENTER>$row[cedula]</TD>
<TD WIDTH=10% ALIGN=center>$row[nombre]</TD>
<TD WIDTH=20% ALIGN=CENTER>$row[cargo]</TD>
</TR>";
}
echo "</TABLE></form>";
}

mysql_free_result($result);
include "desconectarse.php";


?>
<div align="center">
<p> </p>
<p><a href="/Activos2/busqueda_responsables.php">Regresar/Nueva Búsqueda</a></p>
</div>
</body>
</html>
<?php
mysql_free_result($result);
?>

[/PHP]

Cualquier ayuda se agradece, siempre acudo a ustedes los sabios del foro, saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con sonsulta SQL con matriz e implode

Publicado por sandra (48 intervenciones) el 09/02/2009 12:33:05
yo probaría algo así:

if((isset($cedula)) && ($cedula!="")){
$where .= "AND cedula LIKE '%".$cedula."%'";
}

if((isset($nombre)) && ($nombre!="")){
$where .= "AND nombre LIKE '%".$nombre."%'";
}

if(isset($cargo)) && ($cargo!="")){
$where .= "AND nombre LIKE '%".$cargo."%'";
}

$query = "SELECT * FROM table WHERE 1 = 1 " .$where);

Si no ingresó nada lo podés validar con javascript, o si no ingresó nada y no lo validás te trae todo.

Saludos,
Sandra
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar