Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO consulta de campos text en mysql y php

Estas en el tema de consulta de campos text en mysql y php en el foro de PHP en Foros del Web. hola tengo un problema, estoy desarrollando un formulario para consultar en la base de datos varios campos pero resulta que hay campos vacios y en ...
  #1 (permalink)  
Antiguo 06/05/2012, 15:09
 
Fecha de Ingreso: abril-2012
Ubicación: colombia
Mensajes: 62
Antigüedad: 12 años
Puntos: 0
consulta de campos text en mysql y php

hola tengo un problema, estoy desarrollando un formulario para consultar en la base de datos varios campos pero resulta que hay campos vacios y en la consulta que tengo no me da resultados. ejemplo: nombre1 nombre2 apellido1 apellido2 si tuviera el nombre elkin rio martinez perez me lo consulta pero si tengo elkin martinez perez en mi base no lo consulta pues el segundo nombre es un campo sin dato y este es el codigo que tengo agradezco una solucion gracias

tengo un formulario llamado meva.php así
<form action="resultadomeva.php" method="post" name ="registro" id= "registro">
<br>
<div align="left">Primer Nombre:
<input name="nom1" id = "nom1" type="text" size="25" >
<tr>
</div>
<div align="left">Segundo Nombre:
<input name="nom2" id = "nom2" type="text" size="23" >
<tr>
</div>
<div align="left">Primer Apellido:
<input name="apelli1" id = "apelli1" type="text" size="25" >
<tr>
</div>
<div align="left">Segundo Apellido:
<input name="apelli2" id = "apelli2" type="text" size="23" >
<tr>
</div>
<input type="submit" name="buscador" value="Buscar">
<tr>
</form>


y el formulario de consulta así llamado resultadomeva.php:

<?php
if (isset($_POST['buscador']))
{
$nom1 = $_POST['nom1'];
$nom2 = $_POST['nom2'];
$apelli1 = $_POST['apelli1'];
$apelli2 = $_POST['apelli2'];
//realizo consulta a tabla
$consulta = "SELECT * FROM meva WHERE";
//if ( '$nom1' != "" AND '$nom2' != "" AND 'apelli1' != "" AND 'apelli2' != "")
//{
$consulta .= " nom1 LIKE '$nom1' AND nom2 LIKE '$nom2' AND apelli1 LIKE '$apelli1' AND apelli2 LIKE '$apelli2' ";
echo "Nombre Consultado: $_POST[nom1] $_POST[nom2] $_POST[apelli1] $_POST[apelli2] ";
$buscar = "si";
//}
//else
//if ( $nom2 != "" and $apelli1 != "" and $apelli2 != "")
//{$consulta .= "nom2 LIKE '$nom2' AND apelli1 LIKE '$apelli1' AND apelli2 LIKE '$apelli2'";
//echo "NO HAY Nombre Consultado";
//echo "Nombre Consultado: $_POST[nom1] $_POST[nom2] $_POST[apelli1] $_POST[apelli2]";
//$buscar = "si";
//}
}
if ( $buscar == "si" )
{
$con = mysql_connect($bdServerName, $bdServerUser, $bdServerPassword);
mysql_select_db("$bdName", $con);
$resultado = mysql_query($consulta);
$Num_filas = mysql_num_rows ($resultado);
mysql_close($con);
echo "<Br> Registros Encontrados en la Consulta: $Num_filas <Br>\n";
echo "<table border=1 bordercolorlight=#C0C0C0 bordercolordark=#003366><td>\n";
//echo "<tr><td><font color=#0000FF>cedula</font></td><td><font color=#0000FF>nombre1</font></td><td><font color=#0000FF>nombre2</font></td><td><font color=#0000FF>apellido1</font></td><td><font color=#0000FF>apellido2</font></td>";
while($fila=mysql_fetch_array($resultado))
{
echo "<tr>";
echo "<td>$fila[ide_afili]</td>\n";
echo "<td>$fila[nom1]</td>\n";
echo "<td>$fila[nom2]</td>\n";
echo "<td>$fila[apelli1]</td>\n";
echo "<td>$fila[apelli2]</td>\n";
echo "</tr>";
}
echo "</table>\n";
mysql_free_result($resultado);
}
else
{echo " DEBE DIGITAR EL DATO A CONSULTAR. \n";
}
//}
?>

bueno espero algun aporte gracias
__________________
edwinarley
  #2 (permalink)  
Antiguo 06/05/2012, 16:30
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: consulta de campos text en mysql y php

Hola edwinarley.

Si te he entendido bien, prueba eso:

Código PHP:
$consulta "SELECT * FROM meva WHERE";
$consulta.=" 1=1";
if(
$nom1<>""){$consulta.=" and nom1 like '$nom1'";}
if(
$nom2<>""){$consulta.=" and nom2 like '$nom2'";}
if(
$apelli1<>""){$consulta.=" and apelli1 like '$apelli1'";}
if(
$apelli2<>""){$consulta.=" and apelli2 like '$apelli2'";}

echo 
"Nombre Consultado: $_POST[nom1] $_POST[nom2] $_POST[apelli1] $_POST[apelli2] "
..y si en lugar de like '$nom1' pones like '%$nom1%', te buscará el valor $nom1 en cualquier posicion de l campo nom1.

Saludos.
  #3 (permalink)  
Antiguo 27/12/2012, 12:48
 
Fecha de Ingreso: abril-2012
Ubicación: colombia
Mensajes: 62
Antigüedad: 12 años
Puntos: 0
Respuesta: consulta de campos text en mysql y php

hola gracias oscartt67 pero nada me genera unos errores que no se el por que este es mi formulario donde ingreso los datos

<form action="meva.php" method="post" >
<br>
<div align="center">Primer Nombre:
<input name="nom1" type="text" size="12" >
<br>
<br>
<div align="center">Segundo Nombre:
<input name="nom2" type="text" size="10" >
<br>
<br>
<div align="center">Primer Apellido:
<input name="apelli1" type="text" size="12" >
<br>
<br>
<div align="center">Segundo Apellido:
<input name="apelli2" type="text" size="10" >
<br>
<br>
<input type="submit" name="buscador" value="Buscar">







y este el que hace la busqueda


<?php
if (isset($_POST['buscador']))
{
$nom1 = $_POST['nom1'];
$nom2 = $_POST['nom2'];
$apelli1 = $_POST['apelli1'];
$apelli2 = $_POST['apelli2'];
//realizo consulta a tabla
$consulta = "SELECT * FROM meva WHERE";
$consulta.=" 1=1";
if($nom1<>""){$consulta.=" and nom1 like '$nom1'";}
if($nom2<>""){$consulta.=" and nom2 like '$nom2'";}
if($apelli1<>""){$consulta.=" and apelli1 like '$apelli1'";}
if($apelli2<>""){$consulta.=" and apelli2 like '$apelli2'";}

echo "Nombre Consultado: $_POST[nom1] $_POST[nom2] $_POST[apelli1] $_POST[apelli2]";
$buscar = "si";
}
if ( $buscar == "si" )
{
$con = mysql_connect($bdServerName, $bdServerUser, $bdServerPassword);
mysql_select_db("$bdName", $con);
$resultado = mysql_query($consulta);
$Num_filas = mysql_num_rows ($resultado);
mysql_close($con);
echo "<Br> Registros Encontrados en la Consulta: $Num_filas <Br>\n";
echo "<table border=1 bordercolorlight=#C0C0C0 bordercolordark=#003366><td>\n";

while($fila=mysql_fetch_array($resultado))
{
echo "<tr>";
echo "<td>$fila[ide_afili]</td>\n";
echo "<td>$fila[nom1]</td>\n";
echo "<td>$fila[nom2]</td>\n";
echo "<td>$fila[apelli1]</td>\n";
echo "<td>$fila[apelli2]</td>\n";
echo "</tr>";
}
echo "</table>\n";
mysql_free_result($resultado);
}
else
{echo " DEBE DIGITAR EL DATO A CONSULTAR. \n";
}
?>
__________________
edwinarley
  #4 (permalink)  
Antiguo 27/12/2012, 12:55
 
Fecha de Ingreso: abril-2012
Ubicación: colombia
Mensajes: 62
Antigüedad: 12 años
Puntos: 0
Respuesta: consulta de campos text en mysql y php

encontre el error, jajajaa ya me faltan gafas de estar metido en la pantalla gracias oscartt67, el error eran unas comillas, y gracias al aporte de oscartt67 con la consulta me salio todo bien, ahora tengo otro lio pero para el abrire otro tema el cual es como consulto en varias tablas un campo para hacer una busqueda general.
__________________
edwinarley

Etiquetas: campos, formulario, mysql, registro, sql, tabla, txt
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 16:58.