Foros del Web » Programando para Internet » PHP »

Númerar las filas

Estas en el tema de Númerar las filas en el foro de PHP en Foros del Web. Buenas tengo hecha una consulta a la base de datos, se muestra en una tabla, es concretamente una clasificación. Como puedo hacer que en un ...
  #1 (permalink)  
Antiguo 15/09/2008, 08:53
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 13 años, 4 meses
Puntos: 1
Númerar las filas

Buenas tengo hecha una consulta a la base de datos, se muestra en una tabla, es concretamente una clasificación.

Como puedo hacer que en un campo de la tabla me muestre al 1º clasificado le ponga un 1, al segundo un 2 y asi sucesivamente, es decir que me vaya numerando las filas de la tabla, 1º, 2º, 3º, 4º, etc....

Es que no tengo ni idea de que codigo php hay que poner para que me muestre el numero que vaya creciendo en relacion con las filas que tenga la tabla

Saludos y muchas gracias por ayudarme
  #2 (permalink)  
Antiguo 15/09/2008, 08:57
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 11 años, 8 meses
Puntos: 43
Respuesta: Númerar las filas

Como lo estaras desplegando en un ciclo, solo imprime el numero de pasada por el ciclo.
Por ejemplo, si lo haces en un for, imprimes el numero del contador, si no, coloca uno que se incremente al final de cada pasada por el ciclo!.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 15/09/2008, 09:03
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Númerar las filas

Mira esta es la tabla que muestro

Código PHP:
<table border="0">
  <tr>
    <td width="180"  colspan="2" bgcolor="#000066"><div align="center"><span class="Estilo9">Nombre Usuario </span></div></td>
    <td width="40" bgcolor="#000066"><div align="center"><span class="Estilo9">Puntuaci&oacute;n</span></div></td>
  </tr>
  <?php do { ?><tr>
    
      <td width="10" bgcolor="#E9E9E9"><div align="center" class="Estilo12"></div></td>
      <td width="170" bgcolor="#E9E9E9"><div align="left" class="Estilo12"><?php echo $row_clasificacion['username']; ?></div></td>
      <td width="40"  bgcolor="#E9E9E9"><div align="center" class="Estilo12 Estilo13"><?php echo $row_clasificacion['vbookie_cash']; ?></div></td>
      </tr><?php } while ($row_clasificacion mysql_fetch_assoc($clasificacion)); ?>
</table>
Me podrías decir el código, es que no tengo ni idea de como ponerlo
  #4 (permalink)  
Antiguo 15/09/2008, 09:07
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 11 años, 8 meses
Puntos: 43
Respuesta: Númerar las filas

Código PHP:
<table border="0">
  <tr>
    <td width="180"  colspan="2" bgcolor="#000066"><div align="center"><span class="Estilo9">Nombre Usuario </span></div></td>
    <td width="40" bgcolor="#000066"><div align="center"><span class="Estilo9">Puntuaci&oacute;n</span></div></td>
  </tr>
  <?php 
$i
=1;
do { 
?><tr>
    
      <td width="10" bgcolor="#E9E9E9"><div align="center" class="Estilo12"></div></td>
      <td width="170" bgcolor="#E9E9E9"><div align="left" class="Estilo12"><?php echo $row_clasificacion['username']; ?></div></td>
      <td width="40"  bgcolor="#E9E9E9"><div align="center" class="Estilo12 Estilo13"><?php echo $row_clasificacion['vbookie_cash']; ?></div></td>
      </tr><?php 
$i
++;
} while (
$row_clasificacion mysql_fetch_assoc($clasificacion)); ?>
</table>
Ahi esta, ahora solo imprime la variable i donde quieras hacerlo!.

Solo era declarar una variable y incrementarla en cada pasada
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #5 (permalink)  
Antiguo 15/09/2008, 09:17
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Númerar las filas

Muchas gracias ahora si que sale, solo tengo un problema, yo muestro 14 resultados por página y cuando paso de página para ver otros 14 la cuenta empieza otra vez desde 1 al 14, ¿como podría continuar hasta el final?
  #6 (permalink)  
Antiguo 15/09/2008, 09:29
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 11 años, 8 meses
Puntos: 43
Respuesta: Númerar las filas

Cita:
Iniciado por txino_2 Ver Mensaje
Muchas gracias ahora si que sale, solo tengo un problema, yo muestro 14 resultados por página y cuando paso de página para ver otros 14 la cuenta empieza otra vez desde 1 al 14, ¿como podría continuar hasta el final?
Bueno, podrias enviar la variable, cuando haces la paginación, depende de como lo hagas.
si la envias por get y preguntas si la variable get esta seteada y no es vacia la asignas a la i

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #7 (permalink)  
Antiguo 15/09/2008, 09:40
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Númerar las filas

Lo hago con dreamweaver y voy aprendiendo poco a poco,. este es mi codigo

Código PHP:
<body>
<div align="center" class="Estilo1">Clasificaci&oacute;n VirtualBet</div>
<div align="center"><br /><table border="0">
  <tr>
    <td width="180"  colspan="2" bgcolor="#000066"><div align="center"><span class="Estilo9">Nombre Usuario </span></div></td>
    <td width="40" bgcolor="#000066"><div align="center"><span class="Estilo9">Puntuaci&oacute;n</span></div></td>
  </tr>
  <?php $i=1; do { ?><tr>
    
      <td width="10" bgcolor="#E9E9E9"><div align="center" class="Estilo12"><?php echo $i ?></div></td>
      <td width="170" bgcolor="#E9E9E9"><div align="left" class="Estilo12"><?php echo $row_clasificacion['username']; ?></div></td>
      <td width="40"  bgcolor="#E9E9E9"><div align="center" class="Estilo12 Estilo13"><?php echo $row_clasificacion['vbookie_cash']; ?></div></td>
      </tr><?php $i++ } while ($row_clasificacion mysql_fetch_assoc($clasificacion)); ?>
</table><br />
<span class="Estilo15"> 
<?php if ($pageNum_clasificacion 0) { // Show if not first page ?>
  <a href="<?php printf("%s?pageNum_clasificacion=%d%s"$currentPage0$queryString_clasificacion); ?>">Primera P&aacute;gina </a>-<a href="<?php printf("%s?pageNum_clasificacion=%d%s"$currentPagemax(0$pageNum_clasificacion 1), $queryString_clasificacion); ?>"> Anterior</a>
  - <?php // Show if not first page ?> 
  <?php if ($pageNum_clasificacion $totalPages_clasificacion) { // Show if not last page ?>
    <a href="<?php printf("%s?pageNum_clasificacion=%d%s"$currentPagemin($totalPages_clasificacion$pageNum_clasificacion 1), $queryString_clasificacion); ?>">Siguiente</a> -<a href="<?php printf("%s?pageNum_clasificacion=%d%s"$currentPage$totalPages_clasificacion$queryString_clasificacion); ?>"> &Uacute;ltima P&aacute;gina </a>
    <?php // Show if not last page ?> </span></div>
</body>
</html>
<?php
mysql_free_result
($clasificacion);
?>
  #8 (permalink)  
Antiguo 15/09/2008, 09:52
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 11 años, 8 meses
Puntos: 43
Respuesta: Númerar las filas

Código PHP:
<body>
<div align="center" class="Estilo1">Clasificaci&oacute;n VirtualBet</div>
<div align="center"><br /><table border="0">
  <tr>
    <td width="180"  colspan="2" bgcolor="#000066"><div align="center"><span class="Estilo9">Nombre Usuario </span></div></td>
    <td width="40" bgcolor="#000066"><div align="center"><span class="Estilo9">Puntuaci&oacute;n</span></div></td>
  </tr>
  <?php if(isset($_GET['i']) && $_GET['i']!=""){$i=$_GET['i'];}else{$i=1}; do { ?><tr>
    
      <td width="10" bgcolor="#E9E9E9"><div align="center" class="Estilo12"><?php echo $i ?></div></td>
      <td width="170" bgcolor="#E9E9E9"><div align="left" class="Estilo12"><?php echo $row_clasificacion['username']; ?></div></td>
      <td width="40"  bgcolor="#E9E9E9"><div align="center" class="Estilo12 Estilo13"><?php echo $row_clasificacion['vbookie_cash']; ?></div></td>
      </tr><?php $i++ } while ($row_clasificacion mysql_fetch_assoc($clasificacion)); ?>
</table><br />
<span class="Estilo15"> 
<?php if ($pageNum_clasificacion 0) { // Show if not first page ?>
  <a href="<?php printf("%s?pageNum_clasificacion=%d%s&i=%d"$currentPage1$queryString_clasificacion); ?>">Primera P&aacute;gina </a>-<a href="<?php printf("%s?pageNum_clasificacion=%d%s&i=%d"$currentPagemax(0$pageNum_clasificacion 1), $queryString_clasificacion, ($i-14)); ?>"> Anterior</a>
  - <?php // Show if not first page ?> 
  <?php if ($pageNum_clasificacion $totalPages_clasificacion) { // Show if not last page ?>
    <a href="<?php printf("%s?pageNum_clasificacion=%d%s&i=%d"$currentPagemin($totalPages_clasificacion$pageNum_clasificacion 1), $queryString_clasificacion$i); ?>">Siguiente</a> -<a href="<?php printf("%s?pageNum_clasificacion=%d%s&i=%d"$currentPage$totalPages_clasificacion$queryString_clasificacion, ($totalPages_clasificacion-14)); ?>"> &Uacute;ltima P&aacute;gina </a>
    <?php // Show if not last page ?> </span></div>
</body>
</html>
<?php
mysql_free_result
($clasificacion);
?>
Pueba de esta forma a ver si te funciona, esto si $totalPages_clasificacion es el total de registros.....

Si lo estas haciendo con limit, deberias utilizar eso.....

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.

Última edición por the_web_saint; 15/09/2008 a las 09:57
  #9 (permalink)  
Antiguo 15/09/2008, 10:20
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Númerar las filas

Da error en la linea

Código PHP:
<?php if(isset($_GET['i']) && $_GET['i']!=""){$i=$_GET['i'];}else{$i=1}; do { ?>
  #10 (permalink)  
Antiguo 15/09/2008, 10:22
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 11 años, 8 meses
Puntos: 43
Respuesta: Númerar las filas

Cita:
Iniciado por txino_2 Ver Mensaje
Da error en la linea

Código PHP:
<?php if(isset($_GET['i']) && $_GET['i']!=""){$i=$_GET['i'];}else{$i=1}; do { ?>
Código PHP:
<?php 
if(isset($_GET['i']) && $_GET['i']!="")
{
$i=$_GET['i'];
}
else
{
$i=1;

do { 
?>
^^ ok, problema de punto y comas, sorry men!

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #11 (permalink)  
Antiguo 15/09/2008, 10:33
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Númerar las filas

Perdoname tu a mi, ahora esta dando error aqui

Código PHP:
<?php $i++ } while ($row_clasificacion mysql_fetch_assoc($clasificacion)); ?>
Perdona por estar siendo un pesado
  #12 (permalink)  
Antiguo 15/09/2008, 10:37
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Númerar las filas

Vale eso lo teng, le faltaba una ; detras de ++

Aún así pasa lo siguiente.

Si tu estas en la primera pagina lo muestra perfecto, si vas avanzando paginas tambien, pero cuando retrocedes no lo muestra bien, se queda con la numeracion de la anterior pagina, y si avanzas y le das a Primera pagina, muestra un codigo raro en el enlace y da error

http://localhost/foro/%3Cbr%20/%3E%3...3E%3Cbr%20/%3E

Perdon y gracias por lo que me estas ayudando
  #13 (permalink)  
Antiguo 15/09/2008, 10:53
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 11 años, 8 meses
Puntos: 43
Respuesta: Númerar las filas

Cita:
Iniciado por txino_2 Ver Mensaje
Vale eso lo teng, le faltaba una ; detras de ++

Aún así pasa lo siguiente.

Si tu estas en la primera pagina lo muestra perfecto, si vas avanzando paginas tambien, pero cuando retrocedes no lo muestra bien, se queda con la numeracion de la anterior pagina, y si avanzas y le das a Primera pagina, muestra un codigo raro en el enlace y da error

http://localhost/foro/%3Cbr%20/%3E%3...3E%3Cbr%20/%3E

Perdon y gracias por lo que me estas ayudando
Ok, es porque no sabia con exactitud los valores que tienes, el $totalPages_clasificacion es la cantidad de registros totales??
seria mejor que pusieras tambn la consulta, de esta manera vere si usas limit

Espero...
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #14 (permalink)  
Antiguo 15/09/2008, 11:03
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Númerar las filas

Ok te pongo la consulta, lo que dices $totalPages_clasificacion es para saber el total de paginas que tiene, pero no uso limit

Código PHP:
<?php
$currentPage 
$_SERVER["PHP_SELF"];

$maxRows_clasificacion 14;
$pageNum_clasificacion 0;
if (isset(
$_GET['pageNum_clasificacion'])) {
  
$pageNum_clasificacion $_GET['pageNum_clasificacion'];
}
$startRow_clasificacion $pageNum_clasificacion $maxRows_clasificacion;

mysql_select_db($database_VirtualBet$VirtualBet);
$query_clasificacion "SELECT * FROM `user` WHERE vbookie_cash <> 1000 AND vbookie_cash <> 500 ORDER BY vbookie_cash DESC";
$query_limit_clasificacion sprintf("%s LIMIT %d, %d"$query_clasificacion$startRow_clasificacion$maxRows_clasificacion);
$clasificacion mysql_query($query_limit_clasificacion$VirtualBet) or die(mysql_error());
$row_clasificacion mysql_fetch_assoc($clasificacion);

if (isset(
$_GET['totalRows_clasificacion'])) {
  
$totalRows_clasificacion $_GET['totalRows_clasificacion'];
} else {
  
$all_clasificacion mysql_query($query_clasificacion);
  
$totalRows_clasificacion mysql_num_rows($all_clasificacion);
}
$totalPages_clasificacion ceil($totalRows_clasificacion/$maxRows_clasificacion)-1;

$queryString_clasificacion "";
if (!empty(
$_SERVER['QUERY_STRING'])) {
  
$params explode("&"$_SERVER['QUERY_STRING']);
  
$newParams = array();
  foreach (
$params as $param) {
    if (
stristr($param"pageNum_clasificacion") == false && 
        
stristr($param"totalRows_clasificacion") == false) {
      
array_push($newParams$param);
    }
  }
  if (
count($newParams) != 0) {
    
$queryString_clasificacion "&" htmlentities(implode("&"$newParams));
  }
}
$queryString_clasificacion sprintf("&totalRows_clasificacion=%d%s"$totalRows_clasificacion$queryString_clasificacion);
?>
  #15 (permalink)  
Antiguo 15/09/2008, 11:18
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 11 años, 8 meses
Puntos: 43
Respuesta: Númerar las filas

$startRow_clasificacion, $maxRows_clasificacion
Código PHP:
<body>
<div align="center" class="Estilo1">Clasificaci&oacute;n VirtualBet</div>
<div align="center"><br /><table border="0">
  <tr>
    <td width="180"  colspan="2" bgcolor="#000066"><div align="center"><span class="Estilo9">Nombre Usuario </span></div></td>
    <td width="40" bgcolor="#000066"><div align="center"><span class="Estilo9">Puntuaci&oacute;n</span></div></td>
  </tr>
  <?php if(isset($_GET['i']) && $_GET['i']!=""){$i=$_GET['i'];}else{$i=1;} do { ?><tr>
    
      <td width="10" bgcolor="#E9E9E9"><div align="center" class="Estilo12"><?php echo $i ?></div></td>
      <td width="170" bgcolor="#E9E9E9"><div align="left" class="Estilo12"><?php echo $row_clasificacion['username']; ?></div></td>
      <td width="40"  bgcolor="#E9E9E9"><div align="center" class="Estilo12 Estilo13"><?php echo $row_clasificacion['vbookie_cash']; ?></div></td>
      </tr><?php $i++; } while ($row_clasificacion mysql_fetch_assoc($clasificacion)); ?>
</table><br />
<span class="Estilo15"> 
<?php 
$ultimo
=($totalPages_clasificacion*$maxRows_clasificacion)-$maxRows_clasificacion;
$anterior=($i-$maxRows_clasificacion);
if (
$pageNum_clasificacion 0) { // Show if not first page ?>
  <a href="<?php printf("%s?pageNum_clasificacion=%d%s&i=%d"$currentPage1$queryString_clasificacion1); ?>">Primera P&aacute;gina </a>-<a href="<?php printf("%s?pageNum_clasificacion=%d%s&i=%d"$currentPagemax(0$pageNum_clasificacion 1), $queryString_clasificacion$anterior); ?>"> Anterior</a>
  - <?php // Show if not first page ?> 
  <?php if ($pageNum_clasificacion $totalPages_clasificacion) { // Show if not last page ?>
    <a href="<?php printf("%s?pageNum_clasificacion=%d%s&i=%d"$currentPagemin($totalPages_clasificacion$pageNum_clasificacion 1), $queryString_clasificacion$i); ?>">Siguiente</a> -<a href="<?php printf("%s?pageNum_clasificacion=%d%s&i=%d"$currentPage$totalPages_clasificacion$queryString_clasificacion$ultimo); ?>"> &Uacute;ltima P&aacute;gina </a>
    <?php // Show if not last page ?> </span></div>
</body>
</html>
<?php
mysql_free_result
($clasificacion);
?>
Prueba de esta forma a ver.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.

Última edición por the_web_saint; 15/09/2008 a las 11:23
  #16 (permalink)  
Antiguo 15/09/2008, 11:26
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Númerar las filas

Ahora si deja saltar desde la ultima pagina a la primera y viceversa, pero cuando adelantas una pagina y vuelves hacia atras te sigue con el conteo de la pagina ultima donde has estado, es decir que si estas en la pagina 10 y empieza a numerar por 101-102-103 etc..., si vuelves una pagina y te colocas en la 9 sigue el conteo igual que en la 10, es decir 101-102-103 etc...

Muchas gracias por la gran ayuda que me estas dando
  #17 (permalink)  
Antiguo 15/09/2008, 11:33
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 11 años, 8 meses
Puntos: 43
Respuesta: Númerar las filas

Cita:
Iniciado por txino_2 Ver Mensaje
Ahora si deja saltar desde la ultima pagina a la primera y viceversa, pero cuando adelantas una pagina y vuelves hacia atras te sigue con el conteo de la pagina ultima donde has estado, es decir que si estas en la pagina 10 y empieza a numerar por 101-102-103 etc..., si vuelves una pagina y te colocas en la 9 sigue el conteo igual que en la 10, es decir 101-102-103 etc...

Muchas gracias por la gran ayuda que me estas dando
Ahh ok, ya entendi, jejejjee
cambia esta linea
Código PHP:
$anterior=($i-$maxRows_clasificacion); 
por esta:
Código PHP:
$anterior=$i-(2*$maxRows_clasificacion); 
Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #18 (permalink)  
Antiguo 15/09/2008, 11:50
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Númerar las filas

Salio perfecto, muchas gracias por tu gran ayuda, muchas gracias
  #19 (permalink)  
Antiguo 15/09/2008, 11:56
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 11 años, 8 meses
Puntos: 43
Respuesta: Númerar las filas

Cita:
Iniciado por txino_2 Ver Mensaje
Salio perfecto, muchas gracias por tu gran ayuda, muchas gracias
De nada compañero, estamos para ayudarnos mutuamente.
Pero podrias darme Karma si eres tan amable y te sirvio mi aporte!
;)
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #20 (permalink)  
Antiguo 15/09/2008, 12:06
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Númerar las filas

Si ya te di Karma compi y de nuevo te doy las 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 17:45.