Foros del Web » Programando para Internet » PHP »

Una variable y una sentencia (SOLUCIONADO)

Estas en el tema de Una variable y una sentencia (SOLUCIONADO) en el foro de PHP en Foros del Web. hola buenos dias, Queria saber si alguien me podria ayudar con lo sigiente. Código HTML: <form action= "clientes.php" method= "post" > Criterio de búsqueda: <input ...
  #1 (permalink)  
Antiguo 29/03/2010, 04:12
 
Fecha de Ingreso: noviembre-2009
Mensajes: 44
Antigüedad: 14 años, 5 meses
Puntos: 0
Una variable y una sentencia (SOLUCIONADO)

hola buenos dias,

Queria saber si alguien me podria ayudar con lo sigiente.

Código HTML:
<form action="clientes.php" method="post"> 
Criterio de búsqueda: 
<input type="text" name="criterio" size="22" maxlength="150"> 
<input type="submit" value="Buscar"> 
</form> 
en el otro

Código HTML:
$coche = $_POST['criterio'];

$result = mysql_query("SELECT nombre, modelo FROM comercios
 WHERE nombre = $coche LIMIT $reg1, $tampag", $link);
Lo explico para que lo entiendan. el primero es un formulario donde debes poner lo que buscas " coche" y en el segundo muestra el coche que estas buscando. Mi problema es que necesito saber como hacer para poner una opcion que diga todos y puedan salir todos los coches "porque si dejo el campo vacio, cuando le doy a buscar me sale error en el WHERE". El formulario es el siguiente, pero no me funcionan cuando esta en todos "porque no se que ponerle como variable"



Si alguien me puede ayudar so lo agradeceria

Última edición por marc_sdj; 29/03/2010 a las 06:23
  #2 (permalink)  
Antiguo 29/03/2010, 04:24
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: una variable y una sentencia

Cita:
Iniciado por marc_sdj Ver Mensaje
hola buenos dias,
Mi problema es que necesito saber como hacer para poner una opcion que diga todos y puedan salir todos los coches "porque si dejo el campo vacio, cuando le doy a buscar me sale error en el WHERE".
aqui te dejo un trozo de codigo para que si no tienes la variable $coche no haga el where, asi que si esta vacio no salga error en el WHERE, o por lo menos es lo que entendi.

Código PHP:
$where "";

if(
$coche!=""){
     
$where "WHERE nombre = ".$coche;
}

$result mysql_query("SELECT nombre, modelo FROM comercios
 $where LIMIT $reg1, $tampag"
$link); 
  #3 (permalink)  
Antiguo 29/03/2010, 04:35
 
Fecha de Ingreso: noviembre-2009
Mensajes: 44
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: una variable y una sentencia

muchisimas gracias por tu ayuda.
me surge otra duda que me cuesta resolver.

como haria para poder hacerlo con 2 variables a la vez $coche y $modelo.
de manera que cuando deje Todos en coche me salgan todos pero cuando ponga en modelo una opcion solo me salgan ese modelo.

gracias por todo Vallu
  #4 (permalink)  
Antiguo 29/03/2010, 04:50
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: una variable y una sentencia

Si lo he entendido bien quieres que prevalezca el campo modelo sobre el de coche.

Código PHP:
$where "";

if(
$modelo!=""){
     
$where "WHERE modelo= ".$modelo;
}elseif(
$coche!=""){
     
$where "WHERE nombre = ".$coche;
}

$result mysql_query("SELECT nombre, modelo FROM comercios
 $where LIMIT $reg1, $tampag"
$link); 
Si lo entendi mal, podrias explicarlo de otra forma?
  #5 (permalink)  
Antiguo 29/03/2010, 05:13
 
Fecha de Ingreso: noviembre-2009
Mensajes: 44
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: una variable y una sentencia

jeje, me explique mal.

en el buscador tengo las dos opciones coche y modelo.

en coche tengo el tipo de coche " camion, coche, furgoneta ....."
y en el campo modelo tengo " opel, ford, renault ....."

cuando una persona rellene el campo modelo con ford y no rellene el campo coche deveria salir todos los ford

pero si rellena el campo coche con camion deverian salir todos los camiones de todas las marcas.

Gracias por resolverme el problema anterior pero ahora se me creo otro jejeje.
ahora me da un problema en AND ejemplo:

Código HTML:
$coche = "$_POST['coche']";
$modelo = "$_POST['modelo']";
$where = "";

if($coche!=""){
     $where = "WHERE nombre = ".$coche. "AND modelo =" . $modelo;
}

$result = mysql_query("SELECT nombre, modelo FROM comercios
 $where LIMIT $reg1, $tampag", $link); 
Me sale error cuando no relleno modelo porque si no lo relleno quedaria la sentencia asi:

$result = mysql_query("SELECT nombre, modelo FROM comercios
WHERE nombre = camion AND modelo = LIMIT $reg1, $tampag", $link);
  #6 (permalink)  
Antiguo 29/03/2010, 05:27
 
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario
Mensajes: 44
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: una variable y una sentencia

Hola ,si no entiendo mal puedes probar con algo asi ...

$sql="SELECT nombre, modelo FROM comercios where";


if ($coche !=''){
if (!empty($sql_tmp)) $sql_tmp .= ' AND ';
$sql_tmp .= " nombre like '%".$coche."%'";
}

if ($modelo !=''){
if (!empty($sql_tmp)) $sql_tmp .= ' AND ';
$sql_tmp .= " nombre like '%".$modelo."%'";
}

$sql_final=$sql.$sql_tmp;

$result = mysql_query($sql_final);

Slds
  #7 (permalink)  
Antiguo 29/03/2010, 05:30
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: una variable y una sentencia

Prueba con algo como esto:

Código PHP:
$where "";

if((
$modelo!="") && ($coche!="")){
     
$where "WHERE nombre = ".$coche." AND modelo = ".$modelo;
}elseif(
$modelo==""){
     
$where "WHERE nombre = ".$coche;
}else{
     
$where "WHERE modelo = ".$modelo;

Por cierto el codigo es un poco... digamos que no está optimizado. Supongo que cuando entre alguien con mas idea que yo te podra dar un codigo mejor, pero de momento esto ya te sirve (si es que funciona ;=))
  #8 (permalink)  
Antiguo 29/03/2010, 05:35
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: una variable y una sentencia

Lo que yo decia. Gracias unoencinco por el codigo. És muchísimo mejor que el mío.
Eso era a lo que me referia. XD
  #9 (permalink)  
Antiguo 29/03/2010, 06:16
 
Fecha de Ingreso: noviembre-2009
Mensajes: 44
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: una variable y una sentencia

muchisimas gracias "problema resuelto jejejeje "
me han dado salud por ahorrarme dolores de cabeza.

Etiquetas: sentencia, solucionado, variables
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 10:51.