Re: [PHP-ES] do while + mysql

[email protected] (@ndrés) Thu, 27 Mar 2014 00:06:35 -0600
Newsgroups php.general.es
Message-ID <CAF399UZ=fmDMOK1mwfka2ANTmxXtpmO-KWMFrgxDM1rnn4Lwww@mail.gmail.com>
Hacer una consulta directa a una BD es muy mala idea. Store procedures.


2014-03-26 19:09 GMT-06:00 Philipp Keweloh <[email protected]>:

> 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
>



-- 
 Andrés Meseguer Rojas