Autor
|
Tema: me podrian explicar el sgte codigo en php (Leído 4,165 veces)
|
jhonatanAsm
|
hola, creo que el sgte codigo se deberia ejecutarse una sola vez, sin embargo llega a buscar todas las filas de la tabla, por qué? while($busca=mysqli_fetch_array($consulta)) { if($busca['nombre']==$nombre && $busca['pass']==$pass) echo 'ingreso';
break;//este break debería hacer que el while se ejecute una sola vez, mas no lo hace. }//fin while
espero puedan ayudarme.salu2.
|
|
|
En línea
|
mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.
- La mayor complejidad de todas es hacer complejo algo que no lo es.
- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
|
|
|
|
#!drvy
|
$consulta que trae dentro Pues una query x'D. Na enserio, si pasa por todas las filas de la tabla, es porque la consulta lo indica así y/o porque usas while. Yo veo que tienes un lio con el if, un lio muy grande xD. Vamos a ver.
Aquí le indicamos que haga un while en todas las filas devueltas por $consulta. if($busca['nombre']==$nombre && $busca['pass']==$pass) echo 'ingreso';
Aquí le hacemos comparacion para ver si coinciden los parametros. PERO, ni abres el { que va después del if, ni lo cierras después. Por tanto PHP toma todo lo que esta dentro del while como un if.Tienes que escapar el if usando { y }, si no, te lias tu y se lia PHP tambien. { if($busca['nombre']==$nombre && $busca['pass']==$pass) { echo 'ingreso'; } break;//este break debería hacer que el while se ejecute una sola vez, mas no lo hace. }//fin while
Saludos
|
|
« Última modificación: 23 Diciembre 2011, 17:38 pm por drvy | BSM »
|
En línea
|
|
|
|
cassiani
Desconectado
Mensajes: 978
« Anterior | Próximo »
|
sin embargo llega a buscar todas las filas de la tabla, por qué?
El arreglo se arma con el resultado de la consulta, va a albergar todas las filas del resultado independientemente de si las muestras o no, ahora, no sé si te refieres a eso o a las iteraciones del ciclo. Creo que debería postear el código completo, yo no veo nada raro en esas líneas de código y efectivamente, debería iterar una sola vez. monkey, en realidad las llaves no son necesarias si es una sola instrucción la que quieres condicionar, en este caso el echo. Condicionara esa e ignorara las demás líneas. saludos!!
|
|
|
En línea
|
|
|
|
#!drvy
|
Mmmmm, fallo mio entonces xD
PD: De todos modos, no apruebo el no usar las { }. Es un lio total xD. Saludos
|
|
|
En línea
|
|
|
|
Pablo Videla
|
Mmmmm, fallo mio entonces xD
PD: De todos modos, no apruebo el no usar las { }. Es un lio total xD. Saludos
Es considerado una mala practica no usarlos.
|
|
|
En línea
|
|
|
|
jhonatanAsm
|
hola. -$consulta trae una query ( select * from nombreTabla ). -mi duda es por qué itera más de una vez?
le agregué a el codigo las llaves, pero esta igual, repitiendo varias veces. averigue que mysqli_fetch_array() utiliza un puntero para pasar de un valor a otro, así no olvida la posición anterior. posiblemente sea esta funcion la que obliga a repetirse en contra de su voluntad!gracias por las respuestas.salu2.
|
|
|
En línea
|
mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.
- La mayor complejidad de todas es hacer complejo algo que no lo es.
- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
|
|
|
Pablo Videla
|
Deja que el break; este dentro de la condicion
|
|
|
En línea
|
|
|
|
Shell Root
|
No entiendo porque la query de esa forma, es decir, supongo que con ese ingreso se supone que es un login de usuario? Debería de ser, algo al estilo... SELECT pass -- Campos de la tabla FROM tblUsuario -- Tabla WHERE usuario = 'usuario' -- Condición LIMIT 1; -- Limitar los resultados de la consulta MySQL a sólo 1
El resultado del campo pass lo guardas en una variable y después verificas qué esa pass de la consulta, sea igual al pass ingresado. print ($returnQuery['pass'] === $pass)?"SI":"NO";
No entiendo porque recorres todos los registros, en busca del user y pass del usuario, sabiendo que también lo puedes hacer directamente desde la query. SELECT id, nombre, apellido, email FROM tblUsuario WHERE (usuario = 'usuario') AND (pass = 'contraseña') LIMIT 1;
|
|
« Última modificación: 24 Diciembre 2011, 09:20 am por Shell Root »
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
jhonatanAsm
|
buena idea shell root.
gracias por sus respuestas.salu2.
|
|
« Última modificación: 26 Diciembre 2011, 15:53 pm por jhonatanAsm »
|
En línea
|
mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.
- La mayor complejidad de todas es hacer complejo algo que no lo es.
- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Me podrian explicar como hacer esto:
Diseño Gráfico
|
BACKFIRE
|
6
|
4,799
|
22 Abril 2009, 23:56 pm
por Og.
|
|
|
me podrian explicar que es data en el siguiente codigo en jquery??
Desarrollo Web
|
jhonatanAsm
|
4
|
3,493
|
20 Diciembre 2011, 15:21 pm
por jhonatanAsm
|
|
|
¿Me podrian explicar como funciana los punteros en una pila con el sgte ejercic?
Programación C/C++
|
maicol_962016
|
5
|
3,282
|
6 Marzo 2016, 15:24 pm
por furciorifa
|
|
|
Hola me podrian explicar este codigo
Java
|
lasapro
|
5
|
6,423
|
10 Junio 2016, 15:00 pm
por LaThortilla (Effort)
|
|
|
[Python3] Me podrian explicar el funcionamiento.
Scripting
|
reconFito
|
1
|
2,353
|
27 Junio 2020, 12:09 pm
por tincopasan
|
|