Re: [PHP-ES] do while + mysql

[email protected] (Philipp Keweloh) Thu, 27 Mar 2014 02:09:43 +0100
Newsgroups php.general.es
Message-ID <CACHSwhVRNJK82=c5jssD-OuPCkfxSbPoaQpU5Nzyn6w_wG4D=A@mail.gmail.com>
El 26 de marzo de 2014, 21:56, El Ale... <[email protected]> escribió:

> Buenas tardes amigos, les traigo una consulta por que la verdad que hace
> rato que vengo con esto "atandolo con alambre" pero ahora necesito una
> solucion aunque no la encuentro, tengo una llamada a mysql por ejemplo "no
> me reten si esta mal escrita" jaja:
>
> $query = mysql_query(SELECT * FROM db WHERE status='1');
>               if($row=mysql_fetch_array($query){
>               echo $row[nombre];
>               mysql_query(UPDATE tabla SET status='2' WHERE id='6'")
>              }
>
> entonces recoje los datos segun su id y si este es = a 1 lo trae sino no
> niega, ahora yo a esto lo quiero hacer recorrer toda la base entonces pense
> hacerlo con do while, ahora yo lo que solia hacer es
>
> do{
> //hacer algo
> }
> while($query=TRUE)
>
> (supongamos) entonces cuanod ve un status 1 lo trae y lo renombre 2 asi no
> vuelve a traerlo pero jamas me respeta el $query=TRUE si este no es
> verdadero sigue igual al bucle y jamas para, ¿alguno sabe que puedo estar
> haciendo mal?.
> Espero no haberlos mareado.
>
> Saludos!
>

Usa mysql_num_rows(),
http://es.php.net/mysql_num_rows

ejemplo:

do{
$query = mysql_query("SELECT * FROM db WHERE status='1' LIMIT 1");
   if($row=mysql_fetch_array($query){
      echo $row['nombre'];
      mysql_query("UPDATE tabla SET status='2' WHERE id='6'")
   }
}
while(mysql_num_rows($query));

Y no seas bestia y ponle un LIMIT 1 si usas un while.

Espero te sirva.

Saludos,

-- 
Philipp Keweloh