elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Problema con while PHP y MySQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con while PHP y MySQL  (Leído 1,280 veces)
Catacrocker

Desconectado Desconectado

Mensajes: 6



Ver Perfil
Problema con while PHP y MySQL
« en: 10 Mayo 2012, 10:59 am »

Buenas a todos, en mi primer post y ya preguntado...empiezo bien... xD

El caso es que estoy programando un buscador con php y mysql y me gustaria que me ayudaseis un poco por favor.

Adjunto el codigo:
Código:
<?php
$datos= explode(",",$_REQUEST['cadena']);
$cuenta=count ($datos);



//Conexion a la BD
$conexion=mysql_connect("172.31.20.39","phpmyadmin","clave") or
 die("Problemas en la conexion");
mysql_select_db("equipos",$conexion) or
 die("Problemas en la selección de la base de datos");
$i=0;

$bucle = while ($i!=$cuenta){
ECHO " OR Nombre LIKE %";
echo $datos[$i];
ECHO "%";
$i++;}
echo $bucle;
//$SQL="select * from EQUIPOS where Nombre like foo".while ($i!=$cuenta){
//ECHO " OR Nombre LIKE %";
//echo $datos[$i];
//ECHO "%";
//$i++;}.")";
//ECHO $SQL;
$consueq=mysql_query("select * from EQUIPOS where Nombre in('".implode(',', $datos)."')",$conexion) or
 die("Problemas en el select:".mysql_error());
$reg=mysql_fetch_array($consueq);
print_r ($reg[0]);
?>

Lo que me esta fallando es el while dentro de una variable, estoy empezando a pensar que no funciona, ya que fuera de la variable funciona perfectamente. Lo que quiero es que la query realice un rastreo en la tabla de valores que se aproximen a los introducidos.
Por lo de aproximacion no puedo usar un IN en el apartado where y necesito un bucle que recorra todos los valores del array para usar el LIKE.

Alguien puede ayudarme?...estoy bastante atascado.

Gracias de antemano!

EDITO: Lo siento acabo de ver el foro de PHP  :-\
Si alguien puede moverlo...error de novato !


En línea

Catacrocker

Desconectado Desconectado

Mensajes: 6



Ver Perfil
Re: Problema con while PHP y MySQL
« Respuesta #1 en: 10 Mayo 2012, 12:36 pm »

Solucionado! Bucle for y condicionales.

Adjunto el codigo pro si a alguien le viene bien.
Código:
<?php
$datos= explode(",",$_REQUEST['cadena']);
$cuenta_datos=count ($datos);
$campos= array(
0 => "Nombre",
1 => "Referencia",
2 => "Marca",
3 => "Modelo",
4 => "Num de serie",

);
//echo $datos[0];
//echo $campos[0];
$cuenta_campos= count($campos);

$query = "select * from equipos where";

for($i=0; $i<$cuenta_campos; $i++){
for ($i2=0;$i2<$cuenta_datos;$i2++){



$query = $query." [".$campos[$i]."] like '%".$datos[$i2]."%'";

if  ( !($i==$cuenta_campos-1 and $i2==$cuenta_datos-1) ) {

$query = $query." or";
};

};

}

echo $query;

?>


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines