Re: do while + mysql
| From: | Philipp Keweloh | Date: | Thu, 27 Mar 2014 01:09:43 +0000 |
| Subject: | Re: do while + mysql | ||
| References: | 1 | Groups: | php.general.es |
| Request: | Send a blank email to general-es+get-65639@lists.php.net to get a copy of this message | ||
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