Foros del Web » Programando para Internet » PHP »

Como consultar dos campos en una misma tabla

Estas en el tema de Como consultar dos campos en una misma tabla en el foro de PHP en Foros del Web. Amigos tengo un problema quiero consultar dos campo en una misma tabla pero el código que estoy empleando me va un error me puede ayudar. ...
  #1 (permalink)  
Antiguo 26/09/2009, 09:34
 
Fecha de Ingreso: septiembre-2009
Mensajes: 12
Antigüedad: 14 años, 6 meses
Puntos: 0
Como consultar dos campos en una misma tabla

Amigos tengo un problema quiero consultar dos campo en una misma tabla pero el código que estoy empleando me va un error me puede ayudar.

El código es el siguiente:

Amigos tengo un problema y soy nuevo en esto quiero consultar dos campo en una misma tabla pero el código que estoy empleando me va un error me puede ayudar.

El código es el siguiente:

form id="form1" name="form1" method="post" action="">
<table width="346" height="100" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2"><div align="center"><strong>CONSUTAR</strong></div></td>
</tr>
<tr>
<td width="190">NOMBRE</td>
<td width="156"><p>
<input name="nombre" type="text" id="nombre" />
</p>
<p>
<input name="edad" type="text" id="edad" />
</p></td>
<td width="156"><p>&nbsp;
</p>
<p>&nbsp;</p></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="Submit" value="Consutar" /></td>
</tr>
</table>
</form>
<?php
if $_POST[nombre] and $_POST[edad]){
$sql = "SELECT * FROM datos WHERE nombre like '%$_POST[nombre]%' and like '%$_POST[edad]%'";
$consulta=mysql_query($sql,$conexion);
?>

<table width="600" height="100" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><div align="center">CEDULA</div></td>
<td><div align="center">NOMBRE</div></td>
<td><div align="center">EDAD</div></td>
<td><div align="center">TEL&Eacute;FONOS</div></td>
<td><div align="center">DIRECCI'ON</div></td>
</tr>
<?php
while(list($ci,$nombre,$edad,$telefonos,$direccion )=mysql_fetch_array($consulta)) ,$nombre,$edad,$telefonos,...

{
?>
  #2 (permalink)  
Antiguo 26/09/2009, 09:48
 
Fecha de Ingreso: junio-2008
Ubicación: Colombia
Mensajes: 207
Antigüedad: 15 años, 10 meses
Puntos: 12
Respuesta: Como consultar dos campos en una misma tabla

Pues veo varios detalles pequeños en el codigo como:

Código PHP:
if $_POST[nombre] and $_POST[edad]) seria: if ($_POST['nombre'] and $_POST['edad'])... fijate en las comillas sencillas que te falta asi como el parentesis de apertura del if. Yo probaria esa validacion de esta manera:

if(!empty(
$_POST['nombre']) && !empty($_POST[edad])) { // Si la variables nombre y edad no estan vacias ejecute codigo...
    //bloque de sentencias..

Espero te sirva saludos.

Última edición por Rosencrantz; 26/09/2009 a las 11:05
  #3 (permalink)  
Antiguo 26/09/2009, 10:23
 
Fecha de Ingreso: septiembre-2009
Mensajes: 12
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Como consultar dos campos en una misma tabla

Amigo Rosencrantz le realicé las correcciones que me dijo en el código y todavía sigo con el problema dejo el código con la correcciones a ver si alguien me puede ayudar.

Código: <form id="form1" name="form1" method="post" action="">
<table width="346" height="100" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2"><div align="center"><strong>CONSUTAR</strong></div></td>
</tr>
<tr>
<td width="190">NOMBRE</td>
<td width="156"><input name="nombre" type="text" id="nombre" /></td>
</tr>
<tr>
<td colspan="2">edas
<input name="edad" type="text" id="edad" size="10" maxlength="10" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="Submit" value="Consutar" /></td>
</tr>
</table>
</form>
<?php
if ($_POST['nombre'] and $_POST['edad']){
include "conexion.php";
$sql="SELECT * FROM datos WHERE nombre like'%$_POST[nombre]%' and like'%$_POST[edad]%'";
$consulta=@mysql_query($sql,$conexion);
?>

<table width="600" height="100" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><div align="center">CEDULA</div></td>
<td><div align="center">NOMBRE</div></td>
<td><div align="center">EDAD</div></td>
<td><div align="center">TEL&Eacute;FONOS</div></td>
<td><div align="center">DIRECCI'ON</div></td>
</tr>
<?php
while(list($ci,$nombre,$edad,$telefonos,$direccion )=mysql_fetch_array($consulta))
{
?>
<tr>
<td><?php print $ci;?></td>
<td><?php print $nombre;?></td>
<td><?php print $edad;?></td>
<td><?php print $telefonos;?></td>
<td><?php print $direccion;?></td>
</tr>
<?php
}
?>
</table>
<?php
}
?>
  #4 (permalink)  
Antiguo 26/09/2009, 10:46
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Como consultar dos campos en una misma tabla

Hice unos cambios, espero que no te confundas.

Código PHP:
Ver original
  1. <form id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
  2. <table width="346" height="100" border="0" align="center" cellpadding="0" cellspacing="0">
  3. <tr>
  4. <td colspan="2"><div align="center"><strong>CONSUTAR</strong></div></td>
  5. </tr>
  6. <tr>
  7. <td width="190">NOMBRE</td>
  8. <td width="156"><input name="nombre" type="text" id="nombre" /></td>
  9. </tr>
  10. <tr>
  11. <td colspan="2">edas
  12. <input name="edad" type="text" id="edad" size="10" maxlength="10" /></td>
  13. </tr>
  14. <tr>
  15. <td colspan="2"><input type="submit" name="Submit" value="Consutar" /></td>
  16. </tr>
  17. </table>
  18. </form>
  19.  
  20.  
  21. <?php
  22. if (isset($_POST['nombre']) and isset($_POST['edad'])){
  23.  
  24. include "conexion.php";
  25. $sql = "SELECT * FROM datos WHERE nombre like '%$_POST[nombre]%' and like '%$_POST[edad]%'";
  26. $consulta = mysql_query($sql,$conexion)or die(mysql_error());
  27.  
  28.     if(mysql_num_rows($consulta)){
  29.  
  30. ?>
  31.  
  32. <table width="600" height="100" border="0" align="center" cellpadding="0" cellspacing="0">
  33. <tr>
  34. <td><div align="center">CEDULA</div></td>
  35. <td><div align="center">NOMBRE</div></td>
  36. <td><div align="center">EDAD</div></td>
  37. <td><div align="center">TEL&Eacute;FONOS</div></td>
  38. <td><div align="center">DIRECCI'ON</div></td>
  39. </tr>
  40. <?php
  41. while($field = mysql_fetch_array($consulta))
  42. {
  43. ?>
  44. <tr>
  45. <td><?php echo $field["ci"];?></td>
  46. <td><?php echo $field["nombre"];?></td>
  47. <td><?php echo $field["edad"];?></td>
  48. <td><?php echo $field["telefonos"];?></td>
  49. <td><?php echo $field["direccion"];?></td>
  50. </tr>
  51. <?php
  52. }
  53. ?>
  54. </table>
  55. <?php
  56.  }
  57.  else{
  58.  echo "<b>0</b> datos encontrados";
  59.  }
  60. }
  61. ?>
  #5 (permalink)  
Antiguo 26/09/2009, 11:35
 
Fecha de Ingreso: septiembre-2009
Mensajes: 12
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Como consultar dos campos en una misma tabla

Amigo gjx2 el código que me envió con los cambios me arroja el siguiente error:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'like '%36%'' at line 1

código:

<form id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<table width="346" height="100" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2"><div align="center"><strong>CONSUTAR</strong></div></td>
</tr>
<tr>
<td width="190">NOMBRE</td>
<td width="156"><input name="nombre" type="text" id="nombre" /></td>
</tr>
<tr>
<td colspan="2">edas
<input name="edad" type="text" id="edad" size="10" maxlength="10" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="Submit" value="Consutar" /></td>
</tr>
</table>
</form>


<?php
if (isset($_POST['nombre']) and isset($_POST['edad'])){

include "conexion.php";
$sql = "SELECT * FROM datos WHERE nombre like '%$_POST[nombre]%' and like '%$_POST[edad]%'";
$consulta = mysql_query($sql,$conexion)or die(mysql_error());

if(mysql_num_rows($consulta)){

?>

<table width="600" height="100" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><div align="center">CEDULA</div></td>
<td><div align="center">NOMBRE</div></td>
<td><div align="center">EDAD</div></td>
<td><div align="center">TEL&Eacute;FONOS</div></td>
<td><div align="center">DIRECCI'ON</div></td>
</tr>
<?php
while($field = mysql_fetch_array($consulta))
{
?>
<tr>
<td><?php echo $field["ci"];?></td>
<td><?php echo $field["nombre"];?></td>
<td><?php echo $field["edad"];?></td>
<td><?php echo $field["telefonos"];?></td>
<td><?php echo $field["direccion"];?></td>
</tr>
<?php
}
?>
</table>
<?php
}
else{
echo "<b>0</b> datos encontrados";
}
}
?>
  #6 (permalink)  
Antiguo 27/09/2009, 00:09
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Como consultar dos campos en una misma tabla

Claro por que tu consulta debe de ser de esta manera.

Código SQL:
Ver original
  1. SELECT * FROM datos WHERE nombre LIKE '%$_POST[nombre]%' AND   edad LIKE '%$_POST[edad]%'
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:08.