Foros del Web » Programando para Internet » PHP »

Problema con sistema de Busqueda

Estas en el tema de Problema con sistema de Busqueda en el foro de PHP en Foros del Web. Estimados, una vez mas recurro a su sabiduria eterna. Resulta que estoy haciendo una pagina web con un sistema de busqueda IGUAL al que trae ...
  #1 (permalink)  
Antiguo 02/09/2008, 14:06
Avatar de Reznorcito  
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 16 años
Puntos: 0
Problema con sistema de Busqueda

Estimados, una vez mas recurro a su sabiduria eterna.

Resulta que estoy haciendo una pagina web con un sistema de busqueda IGUAL al que trae el Phpmyadmin. El tema es que ya despliego todos los campos de la tabla en cuestion como para q el usuario busque, el tema es q al enviar el formulario con tooodos los datos, los recivo de una forma que despues me cuesta trabajarlos. Me explico mejor.

La pagina de buscar consta de 3 campos: Titulo del campo a buscar, TIPO de la busqueda (like, not like, =, != , etc.. ), y tercero el campo de texto para q el usuario escriba la palabra a buscar. Como son como 10 campos, esto me genera las siguientes variables:

Nombre_1 // Tipo_1 // Texto_1
Nombre_2 // Tipo_2 // Texto_2
Nombre_3 // Tipo_3 // Texto_3
Nombre_4 // Tipo_4 // Texto_4
etc... (hasta 10)

El tema es que la pagina q recive todos esos datos, despeus tiene q armar la consulta SQL para posteriormente de el resultado. El problema es q, si bien yo se q son 10 campos, como hago el ciclo de la siguiente manera:

Código PHP:
for ($i=0;$i<11;$i++)
{
  
$nombre "$_POST['nombre_"."$1"."']";

yo espero q la variable $nombre tome el valor q hay en la variable "$_POST['Nombre_1'], pero mi problema esta en que no me sale concatenar de la forma que la variable $nombre tome el valro de la otra variable, ya que toma como texto el POST y todo eso.

No se si se entendio el problema ya que es medio complicado de explicar. Si no queda claro, favor avisen y tratare de aclararlo.


Salu2!!
  #2 (permalink)  
Antiguo 02/09/2008, 14:16
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Problema con sistema de Busqueda

for ($i=0;$i<11;$i++)
{
$nombre[$i] = "$_POST['nombre_".$i."]'";
}

suponiendo que traes 11 nombres desde tu formulario y que asi se llaman los textfield o lo q estes usando.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #3 (permalink)  
Antiguo 02/09/2008, 14:18
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Problema con sistema de Busqueda

Porque no vas generando la consulta de una vez, en vez de retomar los valores y luego empezar a hacerla??

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #4 (permalink)  
Antiguo 02/09/2008, 14:42
Avatar de Reznorcito  
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema con sistema de Busqueda

No me funciona, y ahora van a ver pq no puedo ir generando la consulta. Esto es lo q tengo:

Código PHP:
<form id="form1" name="form1" method="get" action="buscando.php">
<p>
  <?php 
$query
="SELECT * FROM auxiliar WHERE muestra='Si'"
$consulta=mysql_query($query);
echo 
"<table width='200' border='1' align='left'>";
$cont=1;
while (
$row=mysql_fetch_array($consulta))
{
    echo     
"<input type='hidden' name='name",$cont,"' id='name",$cont,"' value='",$row['campo'],"' />";
    echo    
"<tr>
            <td nowrap='nowrap'>"
,$cont," - ",$row['nombre'],"</td>
            <td nowrap='nowrap'>"
;
    echo    
"<select name='id",$cont,"' id='id",$cont,"'>
            <option value='1'>%contenga%</option>
            <option value='2'>contenga</option>
            <option value='3'>es igual a</option>
            <option value='4'>es distinto a</option>
            </select>"
;        
    echo    
"</td>
            <td nowrap='nowrap'><input type='text' name='tx"
,$cont,"' id='tx",$cont,"' /></td>
            </tr>"
;
            
$cont++;
}

    echo 
"</table>";
    echo     
"<input type='hidden' name='token' id='token' value='",$cont-1,"' />";
?>
</p>
<p>
<label>
  <input type="submit" name="button" id="button" value="Buscar" />
  </label>
</p>
</form>

Basicamente estoy dibujando una tabla con 3 columnas: Nombre, Tipo y textfield , y como eso mismo lo hace varias veces, cada campo se llama:
Name1, id1, tx1
Name2, id2, tx2
etc...

Tal vez quede mas claro ahora.

salu2!
  #5 (permalink)  
Antiguo 02/09/2008, 14:44
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Problema con sistema de Busqueda

Si pero cuando heces submit a tu form, podrias ir creando la clausula where de tu consulta a medida q retomas los valores con el POST, no ir en un arreglo para retomar los valores en variables o arreglo y luego hacer la clausula!

Me explique??
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #6 (permalink)  
Antiguo 02/09/2008, 15:50
Avatar de Reznorcito  
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema con sistema de Busqueda

Te entiendo la idea, pero seria bueno q te explayaras un poquito mas en como seria eso en la practica...
  #7 (permalink)  
Antiguo 02/09/2008, 15:55
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Problema con sistema de Busqueda

creas un ciclo for en los q vas concatenando la variable $where por ejemplo!
en cada pasada por el for agregas un pedazo de la claussula, bajando el valor por post!

vere si te coloco un ejemplo!

Saludos!
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #8 (permalink)  
Antiguo 02/09/2008, 16:31
Avatar de Reznorcito  
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema con sistema de Busqueda

Claro.. mi problema pasa por ese FOR justamente que no se como hacerlo.. jejejej


gracias !!
  #9 (permalink)  
Antiguo 03/09/2008, 08:08
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Problema con sistema de Busqueda

Hola:

De esta misma forma son los nombres de los campos en la DB?

Nombre_1 // Tipo_1 // Texto_1
Nombre_2 // Tipo_2 // Texto_2
Nombre_3 // Tipo_3 // Texto_3
Nombre_4 // Tipo_4 // Texto_4
..............
Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #10 (permalink)  
Antiguo 03/09/2008, 13:40
Avatar de Reznorcito  
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema con sistema de Busqueda

en verdad, son asi:

Name1 // id1 // tx1
Name2 // id2 // tx2
Name3 // id3 // tx3
etc...
  #11 (permalink)  
Antiguo 03/09/2008, 14:36
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Problema con sistema de Busqueda

Bueno lo que debes hacer es q los campos del input se vallan generando de esa forma, secuencial, empezando de uno hasta n.
Luego cuando lo retomas en la segunbda pagina hace algo como:
Cita:
$where="";
$and="";
for($i=1; $i<11; $i++)
{
$where.=$and." Name".$i."=".$_POST['campo'.$i] and id".$i."=".$_POST['campoid'.$i] and tx".$i."=".$_POST['campotx'.$i]";
$and=' and';
}

mas o menos, espero te sirva!
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.

Última edición por the_web_saint; 03/09/2008 a las 14:38 Razón: faltaba el and!
  #12 (permalink)  
Antiguo 03/09/2008, 16:06
Avatar de Reznorcito  
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema con sistema de Busqueda

ESO ERA !!!... la clave en lo q me dijsite fue esto:

Código:
$var1['hola'.$var2]
Eso no sabia q se podia hacer asi.. ese detalle me ayudo demasiado, asiq creo poder hacerlo ahora..

gracias miles !!!
  #13 (permalink)  
Antiguo 03/09/2008, 16:48
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Problema con sistema de Busqueda

una ves mas el saint ayudanbdo a solucionar. hasta yo aprendi
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #14 (permalink)  
Antiguo 04/09/2008, 07:39
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años
Puntos: 43
Respuesta: Problema con sistema de Busqueda

jejejej me agrada poder haber sido de ayuda!

Saludos y suerte!
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
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 22:34.