Foros del Web » Programando para Internet » PHP »

problema al traer datos de la base de datos

Estas en el tema de problema al traer datos de la base de datos en el foro de PHP en Foros del Web. Muy buenas noches amigos, disculpen la molestia, soy nuevo en cuanto a programacion php ligado a base de datos mysql. el problema es el siguiente: ...
  #1 (permalink)  
Antiguo 10/10/2014, 20:56
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años
Puntos: 0
problema al traer datos de la base de datos

Muy buenas noches amigos, disculpen la molestia, soy nuevo en cuanto a programacion php ligado a base de datos mysql.

el problema es el siguiente:

quiero hacer un sistema de busqueda, tengo 2 checkbox y 2 campos de texto, si yo selecciono el checkbox 1 se me abilita el campo de texto 1 y viceversa con el checkbox 2 y campo de texto 2, el checkbox 1 es para cedula y el checkbox 2 es para nombre igual para los campos de texto, ahora si yo selecciono el checkbox 1 y escribo la cedula me hace la consulta bien y si hago por el nombre igual pero que pasa tengo creo que la instruccion de consulta a la base de datos mal definida por que si selecciono el checkbox 1 y coloco la cedula me lo busca pero me dice que las variables para el checkbox 2 y campo de texto 2 no esta definidas, como hago para que si selecciono el checkbox 1 me busque solo por esa seleccion y si busco por el checkbox 2 la haga por esa otra seleccion, todo esta en un solo formulario.

de ante mano muchas gracias al que pueda ayudarme :/

hasta ahora tengo esto de codigo:

Código PHP:
<input type="button" id="buscar" value="Buscar Alumno">

<form method="post" enctype="multipart/form-data" id="busqueda" style="display:none" target="_self" action="">
<label for="textfield11">Por Cedula</label>
<input type="checkbox" id="cedula" name="cedula" value="cedula" onclick="txtCI.disabled=!this.checked">
&nbsp;/&nbsp;
<label for="textfield11">Por Nombre</label>
<input type="checkbox" id="nombre" name="nombre" value="nombre" onclick="txtNom.disabled=!this.checked"> 
<br>
  <label for="textfield11">Nº de Cedula:</label>
  <input name="txtCI" type="text" id="txtCI" disabled>
  <label for="textfield11">nombre:</label>
  <input name="txtNom" type="text" id="txtNom" disabled>
  <p>
    <input name="Buscar" type="submit" id="Buscar" value="Buscar">
  </p>
</form>
<?php
if ($_POST)
{
    
$checkcedula=$_POST["cedula"];
    
$checknombre=$_POST["nombre"];
    
$nombre=$_POST['txtNom'];
    
$cedula=$_POST['txtCI'];
    include 
'../Sistema/conexion.php';

            
$sql="SELECT * FROM alumnos WHERE Cedula='$cedula' or Nombre='$nombre'";
            
$consulta=mysql_query($sql);
    if (list(
$Cedula,$Nombre,$FecNacimiento,$PobNacimiento,$EstNacimiento,$Sexo,$TpSanguineo,$EstAbreviado,$Observacion1,$Observacion2,$Observacion3,$Observacion4,$Observacion5,$Observacion6,$Observacion7,$Observacion8,$Observacion9,$Observacion10,$CedDocumento,$EscPoliza)=mysql_fetch_array($consulta))
            {
                echo 
"$checkcedula,$checknombre";
        echo 
"<br>[$Cedula][$Nombre]"
        
            }else{
    
            echo 
"<br>no hay registro de ese alumno";
        
            }
    
}
?>
  #2 (permalink)  
Antiguo 10/10/2014, 22:49
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: problema al traer datos de la base de datos

Hola preto,

Bueno definitivamente que el código asume que esta recibiendo ambos valores, prueba con algo así a ver que tal te va:
Código PHP:
Ver original
  1. <?php
  2. if ($_POST)
  3. {
  4.     if(isset($_POST['txtNom']))
  5.     {
  6.        $nombre=$_POST['txtNom'];
  7.     }
  8.     else
  9.    {
  10.       $nombre="%";
  11.     }
  12.     ...
  13.     include '../Sistema/conexion.php';
  14.  
  15.             $sql="SELECT * FROM alumnos WHERE Cedula like '$cedula' or Nombre like '$nombre'";
  16.             $consulta=mysql_query($sql);
  17.    ...
  18.      
  19. }
  20. ?>

Y para que envías los checkbox si no los usas?

Saludos,
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 10/10/2014, 23:15
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años
Puntos: 0
Respuesta: problema al traer datos de la base de datos

no amigo lo pongo y no me va al darle al boton me manda la consulta sin poner nada en los campo de texto ya me la manda.

y envio los checkbox para verificar que checkbox esta seleccionado para que no haga la consulta por el que no lo esta y no me mande el error de que hace falta que rellene los 2 campos de texto.

muchas gracias por responder a mi tema. pero si puedes seguir ayudandome te lo agradeceria :)
  #4 (permalink)  
Antiguo 10/10/2014, 23:37
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: problema al traer datos de la base de datos

Ok, sigo sin comprender mucho el problema pero veamos:
Código PHP:
Ver original
  1. <?php
  2. if ($_POST)
  3. {
  4.    if(isset($_POST['txtNom']))
  5.     {
  6.        $nombre=$_POST['txtNom'];
  7.     }
  8.     else
  9.    {
  10.       $nombre="%";
  11.     }
  12.  
  13.    if(isset($_POST['txtCI']))
  14.     {
  15.        $cedula=$_POST['txtCI'];
  16.     }
  17.     else
  18.    {
  19.       $cedula="%";
  20.     }
  21.  
  22.     include '../Sistema/conexion.php';
  23.  
  24.             $sql="SELECT * FROM alumnos WHERE Cedula like '$cedula' or Nombre like '$nombre'";
  25.             $consulta=mysql_query($sql);
  26.             while($valor = mysql_fetch_array($consulta))
  27.             {
  28.                 echo "[".$valor['Cedula']."]-[".$valor['Nombre']."]";  
  29.             }
  30.             else
  31.             {
  32.                 echo "<br>no hay registro de ese alumno";
  33.             }
  34.      
  35. }
  36. ?>
  37.  
  38. <form method="post" enctype="multipart/form-data" id="busqueda" style="display:none" target="_self" action="">
  39. <label for="textfield11">Por Cedula</label>
  40. <input type="checkbox" id="cedula" name="cedula" value="cedula" onclick="txtCI.disabled=!this.checked">
  41. &nbsp;/&nbsp;
  42. <label for="textfield11">Por Nombre</label>
  43. <input type="checkbox" id="nombre" name="nombre" value="nombre" onclick="txtNom.disabled=!this.checked">  
  44. <br>
  45.   <label for="textfield11">Nº de Cedula:</label>
  46.   <input name="txtCI" type="text" id="txtCI" disabled>
  47.   <label for="textfield11">nombre:</label>
  48.   <input name="txtNom" type="text" id="txtNom" disabled>
  49.   <p>
  50.     <input name="Buscar" type="submit" id="Buscar" value="Buscar">
  51.   </p>
  52. </form>
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #5 (permalink)  
Antiguo 18/10/2014, 20:15
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años
Puntos: 0
Respuesta: problema al traer datos de la base de datos

muchas gracias amigo de verdad me sirvio (Y)...
ahora fue cuando pude probar esto..

ahora tengo otra pregunta fijate, tengo mi cadena de un nombre : Pedrito Jose Perez Aquiles
como haria para en mi propio input de texto el me lo separe despues del segundo nombre por una coma pero osea que yo este escribiendo la cedena y el solo lo haga hay alguna manera?

y la cadena tendria que quedar asi: Pedrito Jose, Perez Aquiles

si puedes ayudarme con esto nuevamente te lo agradeceria amigo, de ante mano muchas gracias
  #6 (permalink)  
Antiguo 18/10/2014, 20:24
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: problema al traer datos de la base de datos

A ver si lo comprendí, deseas que al escribir en el campo de texto para realizar la búsqueda, después de la segunda cadena automáticamente se coloque una coma? Es así o es en el resultado de la búsqueda?
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #7 (permalink)  
Antiguo 19/10/2014, 21:02
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años
Puntos: 0
Respuesta: problema al traer datos de la base de datos

es como tu lo comprendiste es que yo este escribiendo y de repente despues de la segunda cadena, aparezca la coma automaticamente
  #8 (permalink)  
Antiguo 20/10/2014, 06:54
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: problema al traer datos de la base de datos

Ok, bueno lo que debes hacer es contar las palabras que tienes en tu input y concatenar un carácter "," luego de la segunda palabra.

Puedes usar esta función que están en las FAQs
http://www.forosdelweb.com/f13/faqs-...tml#post265650

Saludos,
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #9 (permalink)  
Antiguo 20/10/2014, 07:10
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años
Puntos: 0
Respuesta: problema al traer datos de la base de datos

ya vi el tema amigo muchas gracias pero ese ejemplo q el muestra ahi el pisa un boton para q calcule las palabras y ponga la coma yo digo para que lo haga sin pisar boton ni nada osea que aparezca la coma despues de la segunda palabra de la cadena.

muchas gracias por tu ayuda amigo!
  #10 (permalink)  
Antiguo 20/10/2014, 07:27
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: problema al traer datos de la base de datos

Llama a la función de contar palabras usando el Onblur del campo.

Código HTML:
Ver original
  1. <input type="text" onblur="myFunction()">

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #11 (permalink)  
Antiguo 20/10/2014, 07:31
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años
Puntos: 0
Respuesta: problema al traer datos de la base de datos

voy a probar amigo muchas gracias de verdad ahorita te digo si me funciono :D
  #12 (permalink)  
Antiguo 20/10/2014, 07:42
 
Fecha de Ingreso: octubre-2013
Mensajes: 24
Antigüedad: 11 años
Puntos: 0
Respuesta: problema al traer datos de la base de datos

no amigo no me funciona es como si no ejecutara la funcion java :S
  #13 (permalink)  
Antiguo 20/10/2014, 08:04
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: problema al traer datos de la base de datos

Presenta el código preto para poder ayudarme mejor.
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.

Etiquetas: formulario, mysql, registro, select, sql, variable
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 14:06.