Re: do while + mysql
| From: | @ndrés | Date: | Thu, 27 Mar 2014 06:06:35 +0000 |
| Subject: | Re: do while + mysql | ||
| References: | 1 2 | Groups: | php.general.es |
| Request: | Send a blank email to general-es+get-65640@lists.php.net to get a copy of this message | ||
Hacer una consulta directa a una BD es muy mala idea. Store procedures.
2014-03-26 19:09 GMT-06:00 Philipp Keweloh <skunk1@gmail.com>:
> El 26 de marzo de 2014, 21:56, El Ale... <alexissaucedo@gmail.com>
> 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