Foros del Web » Programando para Internet » PHP »

tengo un problema con un mysql_fetch_array

Estas en el tema de tengo un problema con un mysql_fetch_array en el foro de PHP en Foros del Web. hola corazones, hoy me pasa algo extraño estoy haciendo una consulta de datos pero quiero incrementar una variable al mismo tiempo que se ejecuta la ...
  #1 (permalink)  
Antiguo 26/10/2011, 15:49
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 13 años, 10 meses
Puntos: 36
Pregunta tengo un problema con un mysql_fetch_array

hola corazones, hoy me pasa algo extraño estoy haciendo una consulta de datos pero quiero incrementar una variable al mismo tiempo que se ejecuta la impresion de filas de la base de datos pero cuando reviso la variable no tiene nada, que puede estar pasando, miren:

Código PHP:
<?php
include "conexion.php";
conectar();
$b=mysql_query("select *from articulos") or die ("error: ".mysql_error());
desconectar();
while(
$c=mysql_fetch_array($b)){
$x=$x+1;
echo 
"Id - ".$c['id_art']." - articulo - ".$c['articulo'];
}
echo 
$x//pero aqui no me manda nada
?>
podran resoverme ese duda mis amores
  #2 (permalink)  
Antiguo 26/10/2011, 15:59
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: tengo un problema con un mysql_fetch_array

Es que para incrementar la variable, debes inicializarla fuera del ciclo

Código PHP:
Ver original
  1. <?php
  2. $x=0;
  3. while ()
  4. {
  5. $x++;
  6. }
  7. echo $x;
  8. ?>
Para que le vas a mostrar el valor de $x fuera del ciclo?
  #3 (permalink)  
Antiguo 26/10/2011, 16:12
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 13 años, 10 meses
Puntos: 36
Respuesta: tengo un problema con un mysql_fetch_array

me creeras que aun asi no me muestra nada corazon, y el valor lo necesito para una de mis ideas locas
  #4 (permalink)  
Antiguo 26/10/2011, 16:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: tengo un problema con un mysql_fetch_array

Cita:
Iniciado por ylellan Ver Mensaje
me creeras que aun asi no me muestra nada corazon, y el valor lo necesito para una de mis ideas locas
Pues yo no te creo, tan sencillo que es que parece imposible que a ti no te resulte.

Pero bueno, a saber si tienes activado el reporte de errores para descubrir el verdadero problema.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 26/10/2011, 16:29
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: tengo un problema con un mysql_fetch_array

Hola que tal.

y se deseas saber el número de registros totales de la consulta ¿Porqué no usas mysql_num_rows?
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #6 (permalink)  
Antiguo 26/10/2011, 16:37
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 15 años, 8 meses
Puntos: 103
Respuesta: tengo un problema con un mysql_fetch_array

tal vez tengas que inicializar la variable x antes del bucle con
$x=0;
saludos :D
  #7 (permalink)  
Antiguo 26/10/2011, 16:39
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 15 años, 8 meses
Puntos: 103
Respuesta: tengo un problema con un mysql_fetch_array

ahhh yo otra cosa, aca tenes un error
select *from articulos
el * esta junto a articulos sin ningun espacio, quedaria asi:
select * from articulos
  #8 (permalink)  
Antiguo 26/10/2011, 21:14
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 13 años, 10 meses
Puntos: 36
Respuesta: tengo un problema con un mysql_fetch_array

Cita:
Iniciado por pateketrueke Ver Mensaje
Pues yo no te creo, tan sencillo que es que parece imposible que a ti no te resulte.

Pero bueno, a saber si tienes activado el reporte de errores para descubrir el verdadero problema.
Que me tratas de decir mi amor. Encerio no muestra nada la variable, es como sino existira $x. No se que hacer mi corazones
  #9 (permalink)  
Antiguo 26/10/2011, 21:18
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 13 años, 10 meses
Puntos: 36
Respuesta: tengo un problema con un mysql_fetch_array

Cita:
Iniciado por chwc Ver Mensaje
ahhh yo otra cosa, aca tenes un error
select *from articulos
el * esta junto a articulos sin ningun espacio, quedaria asi:
select * from articulos
Mi corazon no hay ningun problema con mi consulta, esta bien. El unico problema que encuentro es que mi variable $x no muestra nada T-T
  #10 (permalink)  
Antiguo 26/10/2011, 21:32
Avatar de animerika1  
Fecha de Ingreso: octubre-2011
Mensajes: 27
Antigüedad: 12 años, 6 meses
Puntos: 3
Respuesta: tengo un problema con un mysql_fetch_array

Pero que es lo que quieres guardar en la variable? No te va a guardar nada porque tienen $x=$x+1;

$X no tiene nada, no esta inicializada, no puede incrementar algo y al momento de hacer la consulta sacas 2 o 3 valores pero no especificas que es lo que quieres que se guarde en la variable o que es lo quieres incrementar.
  #11 (permalink)  
Antiguo 26/10/2011, 21:40
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: tengo un problema con un mysql_fetch_array

Déjalo así a ver si te funciona:
Código PHP:
Ver original
  1. <?php
  2. include "conexion.php";
  3. conectar();
  4. $b = mysql_query("select * from articulos") or die ("error: ".mysql_error());
  5.  
  6. $x = 0;
  7. while($c=mysql_fetch_array($b)){
  8.     $x++;
  9.     echo "Id - ".$c['id_art']." - articulo - ".$c['articulo'];
  10. }
  11. echo $x;
  12. ?>
Y como ya te dijeron arriba, si quieres contar registros, puedes usar mysql_num_rows
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #12 (permalink)  
Antiguo 27/10/2011, 07:06
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 13 años, 9 meses
Puntos: 21
Respuesta: tengo un problema con un mysql_fetch_array

Cita:
Pero que es lo que quieres guardar en la variable? No te va a guardar nada porque tienen $x=$x+1;

$X no tiene nada, no esta inicializada, no puede incrementar algo y al momento de hacer la consulta sacas 2 o 3 valores pero no especificas que es lo que quieres que se guarde en la variable o que es lo quieres incrementar.
No es de todo correcto, con php no es necesario inicializar las variables, pero se hace por buenas prácticas de programación

Prueba esto =)
Código PHP:
Ver original
  1. while($c=mysql_fetch_array($b)){
  2.     echo $x++;
  3.     echo "Id - ".$c['id_art']." - articulo - ".$c['articulo'];
  4. }
  #13 (permalink)  
Antiguo 27/10/2011, 07:12
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: tengo un problema con un mysql_fetch_array

cambia echo $x; por var_dump($x); y dinos que muestra
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #14 (permalink)  
Antiguo 27/10/2011, 07:20
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: tengo un problema con un mysql_fetch_array

y que te asegura que se ejecuta el ciclo While?? el echo que tienes dentro del while te arroja los resultados??



Saludos



__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #15 (permalink)  
Antiguo 31/10/2011, 12:26
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 13 años, 10 meses
Puntos: 36
Respuesta: tengo un problema con un mysql_fetch_array

lo del ciclo while si funciona, imprime las filas que debe imprimir. no lo puede solucionar tuve que hacer otra cosa para poder incrementar $x; no me puede explicar que fue pero es muy raro, esta fue mi solucion por el momento:

Código PHP:
include "conexion.php";
conectar();
$b mysql_query("select * from articulos") or die ("error: ".mysql_error());
 
$x 0;
while(
$c=mysql_fetch_array($b)){
    
    
$variable[$x]= "Id - ".$c['id_art']." - articulo - ".$c['articulo'];
$x++;
}
for(
$a=0;$a<=$x;$a++){
echo 
$variable[$a];
}
echo 
$x;
?> 
besos a todos por sus atenciones
  #16 (permalink)  
Antiguo 31/10/2011, 12:37
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: tengo un problema con un mysql_fetch_array

¿Qué se supone que hace todo ese código innecesario? ¿Porqué no nos explicas mejor cual es el resultado que quieres? Porque si imprimes la variable $x por fuera del bucle obviamente se va a "machacar" en cada iteración dando como resultado el último valor obtenido. ¿Quieres el número de registros en esa consulta o que quieres? ¿Quieres recorrer el array $variable? usa un bucle foreach. Sinceramente no sé que quieres.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 31/10/2011 a las 12:42
  #17 (permalink)  
Antiguo 31/10/2011, 12:53
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 42
Antigüedad: 12 años, 8 meses
Puntos: 9
Respuesta: tengo un problema con un mysql_fetch_array

nopse bien tu problema, pero si quieres que $x valla incrementando a medida que se va ejecutando el while, pon el echo $x; dentro del while
  #18 (permalink)  
Antiguo 31/10/2011, 12:54
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: tengo un problema con un mysql_fetch_array

Cita:
Iniciado por Sirrohan Ver Mensaje
No es de todo correcto, con php no es necesario inicializar las variables, pero se hace por buenas prácticas de programación

Prueba esto =)
Código PHP:
Ver original
  1. while($c=mysql_fetch_array($b)){
  2.     echo $x++;
  3.     echo "Id - ".$c['id_art']." - articulo - ".$c['articulo'];
  4. }
De hecho si es necesario definir las variables cuando se usan incrementadores porque o sino PHP no va a saber en donde empezar

no puedes hacer simplemente

Código PHP:
Ver original
  1. while ($reg = mysql_fetch_array($res)) {
  2.     $x++;
  3. }

Ya que te daría un error

Notice: Undefined variable: x

así PHP sea adivino es mejor inicializar la variable.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #19 (permalink)  
Antiguo 31/10/2011, 12:58
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: tengo un problema con un mysql_fetch_array

siento que hay mucho codigo innecesario, si solo necesitas el total de registros usa el mysql_num_rows.
puedes intentar con esto
Código PHP:
Ver original
  1. include "conexion.php";
  2. conectar();
  3. $b = mysql_query("select * from articulos") or die ("error: ".mysql_error());
  4. $x=mysql_num_rows($b);//obtenemos el total de registros
  5. while($c=mysql_fetch_array($b, MYSQL_ASSOC)){
  6.     $variable[]= "Id - ".$c['id_art']." - articulo - ".$c['articulo'];//guardamos en un array
  7. }
  8. foreach($variable as $val){//recorremos el array
  9.     echo $val;//mostramos registros
  10. }
  11. echo $x;//mostramos total
  12. desconectar();
pero para mi, creo que lo ideal es esto
Código PHP:
Ver original
  1. include "conexion.php";
  2. conectar();
  3. $b=mysql_query("select * from articulos") or die ("error: ".mysql_error());
  4. $x=mysql_num_rows($b);//obtenemos el total de registros
  5. while($c=mysql_fetch_array($b),MYSQL_ASSOC){
  6.     echo "Id - ".$c['id_art']." - articulo - ".$c['articulo'];//mostramos registros
  7. }
  8. echo $x;//mostramos total
  9. desconectar();
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #20 (permalink)  
Antiguo 31/10/2011, 15:58
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 13 años, 10 meses
Puntos: 36
Respuesta: tengo un problema con un mysql_fetch_array

malos, les dije que son mis locuras T-T, han herido mis sentimientos. bueno la verdad es que estoy tratando de poner un ; y , bueno primero quiero poner una estructura asi:

0001 - botas, 0002 - casco, 0003 - guantes;

pero no sabia como meter una , al terminar cada fila y poner un ; al final, asi que se me ocurrio esa locura. perdon pero no siempre soy buena porgramadora. muchas gracias amores
  #21 (permalink)  
Antiguo 31/10/2011, 16:02
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 13 años, 10 meses
Puntos: 36
Respuesta: tengo un problema con un mysql_fetch_array

si hubiera querido saber cuantas filas hay hubiese usado
Código MySQL:
Ver original
  1. select count(*) as total from articulos

nimodo, se que estoy loca pero bueno amores asi soy. besos
  #22 (permalink)  
Antiguo 31/10/2011, 16:11
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: tengo un problema con un mysql_fetch_array

Como te dijeron en todo el post necesitas mysql_num_rows, el acomulador y uno de que otro condicional. Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: mysql, sql, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:33.