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