Foros del Web » Programando para Internet » PHP »

duda con mysql_num_rows

Estas en el tema de duda con mysql_num_rows en el foro de PHP en Foros del Web. hola busque mucho sobre esto en el foro pero no lo encontre, mi problema es que necesito imprimir la cantidad de filas encontradas en una ...
  #1 (permalink)  
Antiguo 27/07/2008, 18:35
agd
 
Fecha de Ingreso: mayo-2008
Mensajes: 98
Antigüedad: 15 años, 11 meses
Puntos: 2
duda con mysql_num_rows

hola busque mucho sobre esto en el foro pero no lo encontre, mi problema es que necesito imprimir la cantidad de filas encontradas en una tabla, ej:

Código PHP:
$sql=mysql_query("SELECT * FROM tabla WHERE id = '$_GET[id]' "$conectar);

while(
$row=mysql_fetch_array($sql)){
  echo 
"Nombre: ".$row['nombre']." N°: ".mysql_num_rows($sql)."<br>";

bueno por lo que me di cuenta es que asi no funciona , la idea es que muestre por ej. si hay 30 campos en mi tabla que los muestre de a uno ej:
1
2
3
4
5
6
7...
30

espero que se entienda y me puedan ayudar..

Gracias
  #2 (permalink)  
Antiguo 27/07/2008, 18:40
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: duda con mysql_num_rows

cuantas filas tiene tu clumna?
quieres que muestre la info de cada columna y no el numero?

Última edición por enlinea777; 27/07/2008 a las 18:46
  #3 (permalink)  
Antiguo 27/07/2008, 18:48
agd
 
Fecha de Ingreso: mayo-2008
Mensajes: 98
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: duda con mysql_num_rows

hola enlinea777 gracias por responder, lo que quiero es que automaticamente detecte la cantidad de filas que existan en mi columna y que imprima el numero que corresponde a cada columna, (no es ningun dato que se encuentre en la BD)
  #4 (permalink)  
Antiguo 27/07/2008, 18:52
 
Fecha de Ingreso: junio-2006
Ubicación: Jáltipan Veracruz, México
Mensajes: 150
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: duda con mysql_num_rows

ok,,

// bueno si solo requieres saber cuantos registros tienes en la tabla usa lo siguiente:

$sql=mysql_query("SELECT COUNT(*) FROM tabla", $conectar);
$row=mysql_fetch_row($sql);
echo $row;

// si lo quieres condicionado agrega la clausula where

$sql=mysql_query("SELECT COUNT(*) FROM tabla where id = '". $_GET['$id']."' ", $conectar);
$row=mysql_fetch_row($sql);
echo $row;


// si quieres que el numero de filas sin repeticion del valor del campo agrega el distinct

$sql=mysql_query("SELECT DISTINCT COUNT(*) FROM tabla", $conectar);
$row=mysql_fetch_row($sql);
echo $row;
__________________
" La vida es un programa que no hemos logrado depurar."
"El programar tu vida es como si le metieras más errores a tu futuro, el proceso es ahora"
  #5 (permalink)  
Antiguo 27/07/2008, 18:59
agd
 
Fecha de Ingreso: mayo-2008
Mensajes: 98
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: duda con mysql_num_rows

hola norpool1, probe con el COUNT() pero me imprime el total de filas encontradas, y lo que yo necesito es que las imprima de a una hasta llegar al numero total.. Gracias!
  #6 (permalink)  
Antiguo 27/07/2008, 19:01
 
Fecha de Ingreso: junio-2006
Ubicación: Jáltipan Veracruz, México
Mensajes: 150
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: duda con mysql_num_rows

ok, entonces no es necesario más nada,
solo un contador adicional, a tu código le ponemos:


$i=1;
$sql=mysql_query("SELECT * FROM tabla WHERE id = '$_GET[id]' ", $conectar);

while($row=mysql_fetch_array($sql)){

echo "Nombre: ".$row['nombre']." N°: ". $i ."<br>";
$i++;
}


y eso es todo,,
__________________
" La vida es un programa que no hemos logrado depurar."
"El programar tu vida es como si le metieras más errores a tu futuro, el proceso es ahora"
  #7 (permalink)  
Antiguo 27/07/2008, 19:05
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: duda con mysql_num_rows

Cita:
Iniciado por agd Ver Mensaje
hola busque mucho sobre esto en el foro pero no lo encontre, mi problema es que necesito imprimir la cantidad de filas encontradas en una tabla, ej:

Código PHP:
$sql=mysql_query("SELECT * FROM tabla WHERE id = '$_GET[id]' "$conectar);

while(
$row=mysql_fetch_array($sql)){
  echo 
"Nombre: ".$row['nombre']." N°: ".mysql_num_rows($sql)."<br>";

bueno por lo que me di cuenta es que asi no funciona , la idea es que muestre por ej. si hay 30 campos en mi tabla que los muestre de a uno ej:
1
2
3
4
5
6
7...
30

espero que se entienda y me puedan ayudar..

Gracias
Hola esta es tu respuesta trata asi:

Código PHP:
$sql=mysql_query("SELECT * FROM tabla WHERE id = '$_GET[id]' "$conectar);
$sumando"0";
while(
$row=mysql_fetch_array($sql)){
  echo 
"Nombre: ".$row['nombre']." N°: ".$sumando++."<br>";

funciona muy bien
responde para saber como te fue.
  #8 (permalink)  
Antiguo 27/07/2008, 19:15
 
Fecha de Ingreso: junio-2006
Ubicación: Jáltipan Veracruz, México
Mensajes: 150
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: duda con mysql_num_rows

bueno en el código de enlinea777, está bien, solo que creo que ella quiere inicie en 1 y vos lo inicias en cero, ahora que si en $sumando++ lo inviertes también queda, es decir, ++$sumando,, solo que no recuerdo si PHP solo acepta el postfijo o también en prefijo, alguien que me aclare la duda.
__________________
" La vida es un programa que no hemos logrado depurar."
"El programar tu vida es como si le metieras más errores a tu futuro, el proceso es ahora"
  #9 (permalink)  
Antiguo 27/07/2008, 19:16
agd
 
Fecha de Ingreso: mayo-2008
Mensajes: 98
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: duda con mysql_num_rows

hola, gracias a ambos funciono bien solo que aun hay un pequeño inconveniente que vere como lo soluciono, pero gracias por que la solucion que me dieron me facilito bastante el trabajo.. :) luego les cuento que tal me fue
  #10 (permalink)  
Antiguo 27/07/2008, 19:23
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: duda con mysql_num_rows

ok funciona igual haciendo esto:
$sumando++
o esto:
++$sumando

y para que empiece de 1 solo pones
Código PHP:
$sumando="1"
en lugar de :
Código PHP:
$sumando"0"
  #11 (permalink)  
Antiguo 27/07/2008, 19:26
 
Fecha de Ingreso: junio-2006
Ubicación: Jáltipan Veracruz, México
Mensajes: 150
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: duda con mysql_num_rows

es que no es lo mismo:

$sumando++;
que
++$sumando;

La primera muestra lo que tiene y después incrementa, lo segundo, primero incrementa y después muestra lo que tiene.
__________________
" La vida es un programa que no hemos logrado depurar."
"El programar tu vida es como si le metieras más errores a tu futuro, el proceso es ahora"
  #12 (permalink)  
Antiguo 27/07/2008, 19:36
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: duda con mysql_num_rows

ok fue un descuido jejeje empieza mejor con $sumando="1"; y ++$sumando
asi empesara desde 1.
adios.

Última edición por enlinea777; 27/07/2008 a las 19:45
  #13 (permalink)  
Antiguo 27/07/2008, 20:00
agd
 
Fecha de Ingreso: mayo-2008
Mensajes: 98
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: duda con mysql_num_rows

bueno ya resolvi absolutamente todo lo que necesitaba :)

escribo el problema por si alguien lo necesita..

Se resolvio hasta la parte de mostrar el numero de filas con:

(PAGINA galerias.php)

Código PHP:
$i=1;

while($row=mysql_fetch_array($sql)){
   <a href="vergaleria.php?id_galeria=<?=$row[id_galeria]?>&foto=<?=$i?>">
<img src="imagenes/<?=$row[nombre_galeria]?>">
</a>
$i++
}
Hasta ahi perfecto, el mayor problema aparece cuando la pagina "galerias.php" tiene "paginacion".

Cual es el problema?
El problema es que cuando pasas a la siguiente pagina (pagina2) la variable $i vuelve a empezar de cero siendo que la imagen tiene otro valor, osea, si se muestran 12 registros por pagina, en la pagina 1 la primera imagen tendra el valor 1, pero en la pagina dos seguira teniendo el valor 1 siendo que tiene que tener el valor 13. Entonces al precionar la imagen 13 abrira la imagen 1.

Solucion

Código PHP:
$numero_de_registros = 12;

if(!$_GET['num_pagina'] || $_GET['num_pagina'] == 1){
                $i=1;
            }else{
                $i=$numero_de_registros*$_GET['num_pagina'];
            }

while($row=mysql_fetch_array($sql)){
   <a href="vergaleria.php?id_galeria=<?=$row[id_galeria]?>&foto=<?=$i?>">
<img src="imagenes/<?=$row[nombre_galeria]?>">
</a>

$i++
y listo :)

lo que se hace es multiplicar la cantidad de registros por pagina por el numero de la pagina actual.

OJALA me entiendan :D

Saludos y gracias!!
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 10:53.