Foros del Web » Programando para Internet » PHP »

problema con formulario

Estas en el tema de problema con formulario en el foro de PHP en Foros del Web. hola, tengo el siguiente problema, tengo un formulario que es el siguiente. Código HTML: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns= "http://www.w3.org/1999/xhtml" ...
  #1 (permalink)  
Antiguo 27/04/2009, 20:06
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
problema con formulario

hola, tengo el siguiente problema, tengo un formulario que es el siguiente.

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="sba1.php">
  <p>
  <label>
    <input type="text" name="buscar" id="buscar" />
  </label>
    Buscar por nombre
  </p>
  <p>
    <label>
      <input type="text" name="tomo" id="tomo" />
    </label>
  tomo 
  <label>
    <input type="text" name="folio" id="folio" />
  </label> 
  folio
  </p>
  <p>
    <label>
      <input type="submit" name="enviar" id="enviar" value="enviar" />
    </label>
  </p>
</form>
</body>
</html> 
y la accion la hace en un archivo php que tiene una consulta que es la siguiente.

Código PHP:
$tomo $_POST['tomo'];
$folio $_POST['folio'];
$buscar $_POST['buscar'];
$busqueda mysql_query("select nombre,madre,tommadre,folmadre from sbaejemp where nombre like '$buscar%' or(folio = '$folio' and tomo = '$tomo') order by nombre ASC limit 0,30") or die(mysql_error()); 
ahora es el tema es el siguiene, primero, asi como esta me busca datos en ambos registros, osea si pongo nombre y tomo y folio busca todos los que cumplen esas 3 condiciones, la idea es que busque por 1 u otra no por las 2 a la ves, osea si busco por nombre, lo de tomo y folio no los tome , y si busco por tomo y folio que el nombre no influya.
como hago para que el or sea uno u otro si o si y no ambos.
segundo como hago para poner que si tomo y folio son nulos que no concidere esas variables porque me las toma como 0 y busca todos los que tienen 0 asi como estan, lo mismo con el nombre.

saludos y muchas gracias.
  #2 (permalink)  
Antiguo 27/04/2009, 20:30
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: problema con formulario

Entonces usa el operador OR.

WHERE nombre LIKE '%talcosa%' OR folio LIKE '%cosa%' OR tomo LIKE '%otracosa'
  #3 (permalink)  
Antiguo 27/04/2009, 20:59
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
Respuesta: problema con formulario

si el problema que el tomo y folio seria 1. osea es como buscar 600 tomo 760 folio eso forma uno solo osea es como si fuera el codigo del animal por eso necesito usar tomo y folio ahi, el tema que el nombre si tendria que ser que busque por nombre O que busque por tomo y folio.
gracias.
  #4 (permalink)  
Antiguo 27/04/2009, 21:32
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: problema con formulario

pues entonces solo cambia un or por un and
WHERE nombre LIKE '%talcosa%' OR folio LIKE '%cosa%' and tomo LIKE '%otracosa'
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 12:52.