Re: [PHP-ES] problema bucle for while y mysql

[email protected] Mon, 17 Sep 2012 13:29:34 +0000
Newsgroups php.general.es
Message-ID <674313875-1347888589-cardhu_decombobulator_blackberry.rim.net-1143014490-@b27.c9.bise7.blackberry>
Lo que no puedo entender es el por que si supongamos en el caso que while represente un (select numero from "base de datos" where numero like 1) cuando cambio ese numero enla base de datos por 2 no lo toma como falso mientras camina el bucle, pero! Si lo detengo, le pongo un 2 y lo inicio de nuevo si lo toma. 
Enviado desde mi BlackBerry de Personal (http://www.personal.com.ar/)

-----Original Message-----
From: Pablo Prieto Sebastia <[email protected]>
Date: Mon, 17 Sep 2012 09:19:31 
To: Albert Miralles Zurrón<[email protected]>; [email protected]<[email protected]>
Cc: [email protected]<[email protected]>
Subject: RE: [PHP-ES] problema bucle for while y mysql

Yo lo que veo es que $numero no lo inicializas. En algunos lenguajes la inicializacion automática depende del compilador / interprete. Si el de PHP  no lo hace lo que contiene $numero es aleatorio, y podria ser un uno.
 
-----Mensaje original-----
De: [email protected]
Enviado: Lun 17-09-2012 05:00
Para: Albert Miralles Zurrón <[email protected]>; 
CC: [email protected]; 
Asunto: Re: [PHP-ES] problema bucle for while y mysql

Albert sucede que sin el do no repite el bucle lo hace una sola vez yo quiero recorrer toda una base de datos hasta que la condicion true lo ponga en brean cuando vea un false 
Enviado desde mi BlackBerry de Personal (http://www.personal.com.ar/)

-----Original Message-----
From: Albert Miralles Zurrón <[email protected]>
Date: Mon, 17 Sep 2012 04:05:22 
To: El Ale...<[email protected]>
Cc: <[email protected]>
Subject: Re: [PHP-ES] problema bucle for while y mysql

http://php.net/manual/es/control-structures.while.php

Segun la documentación de PHP, while funciona sin do.

El 16 de septiembre de 2012 23:21, El Ale... <[email protected]>escribió:

> buenas tardes a todos, estoy en un aprieto y la verdad no se como
> resolverlo, tengo un bucle:
>
> prueba.php:
>
> <?
> include("conexion.php");
>
> do {
>
>
> echo "$numero";
> sleep(1);
>
>
> if ($numero == 1)
>         continue;
>     break;
> } while (true);
>
> ?>
>
> ############################################################3
>
> y la conexion a mysql
>
> conexion.php:
>
> <?
>
> $conexion = mysql_connect("localhost", "alexis", "123456");
>             mysql_select_db("probando", $conexion);
> $queEmp = "SELECT n FROM numero WHERE n LIKE 1";
> $resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
> $totEmp = mysql_num_rows($resEmp);
> if ($totEmp> 0) {
>      while ($rowEmp = mysql_fetch_assoc($resEmp)) {
>      $numero = $rowEmp['n'];
>
> }
> echo "$numero";
> }
> mysql_close($conexion);
> ?>
>
> Lo que hago con el bucle es que corra siempre y cuando el valor "$numero"
> sea igual a "1", en mysql tengo un solo campo llamado "n" con el valor "1"
> y corre barvaro, ahora el problema es el siguiente, hago correr el bucle
> con el valor "1" en mysql y lo corre bien, pero cuando entro a mysql y
> cambio el valor por "2" (que vendria a ser un valor incorrecto y deberia
> salir) el bucle lo ignora y sigue corriendo, estuve leyendo mucho sobre los
> bucles pero no logro hacer que funcione de esta forma ¿podrian por favor
> darme una mano con esto? o si estoy errado ¿con que otro comando puedo
> hacer un infinito si cumple una funcion y si no que no lo haga?.
>
> Saludos y desde ya muchisimas gracias.
>