Foros del Web » Programando para Internet » PHP »

como hacer correlativo de numeros en array

Estas en el tema de como hacer correlativo de numeros en array en el foro de PHP en Foros del Web. Buenas tardes amigos, tenia la siguiente duda nose si me podrian ayudar: Tengo el sgt codigo lo que mas me interesa es la $i porque ...
  #1 (permalink)  
Antiguo 25/11/2011, 11:22
 
Fecha de Ingreso: julio-2011
Mensajes: 161
Antigüedad: 13 años, 4 meses
Puntos: 3
como hacer correlativo de numeros en array

Buenas tardes amigos, tenia la siguiente duda nose si me podrian ayudar:

Tengo el sgt codigo lo que mas me interesa es la $i porque lo que deseo es que me imprima un correlativo 1,2,3,4,5 pero lo imprime asi:(Repite 3 veces el numero)
Gracias de antemano, cualquier ayuda idea lo que sea porfavor gracias.


CABINETS & RACKS SAC 621.18 1 03/01/2011
CABINETS & RACKS SAC 522.00 1 03/01/2011
CABINETS & RACKS SAC 99.18 1 03/01/2011
PACIFICO SA 7827.61 2 03/01/2011
PACIFICO SA 6577.82 2 03/01/2011
PACIFICO SA 1249.79 2 03/01/2011
PACIFICO SA 566.98 3 03/01/2011
PACIFICO SA 476.45 3 03/01/2011
PACIFICO SA 90.53 3 03/01/2011
PACIFICO SA 1380.01 4 03/01/2011
PACIFICO SA 1159.67 4 03/01/2011
PACIFICO SA 220.34 4 03/01/2011
PACIFICO SA 194.21 5 03/01/2011
PACIFICO SA 163.20 5 03/01/2011
PACIFICO SA 31.01 5 03/01/2011


<?php
include("Conexion.php"); //conexion
$sql = mysql_query("SELECT * FROM mgtrading") or die ("Error en el query: ".mysql_error());
//$cad ="";
$i=0;
while($rs=mysql_fetch_array($sql)){


$PROVEEDOR= $rs['PROVEEDOR'];
$total = $rs['TOTAL'];
$fecha = $rs['FECHA'];
$BASEIMP_CON_DERCF = $rs['BASEIMP_CON_DERCF'];
$IGV_CON_DERCF = $rs['IGV_CON_DERCF'];
$i++;


$tabla[] = $PROVEEDOR . "\t";
$tabla[] = $total . "\t"; //DIMPORT
$tabla[] = $i . "\t"; //DIMPORT
$tabla[] = $fecha . "\t"; //DDATE
$tabla[] = "\r\n";

$tabla[] = $PROVEEDOR . "\t";
$tabla[] = $BASEIMP_CON_DERCF . "\t"; //DIMPORT
$tabla[] = $i . "\t"; //DIMPORT
$tabla[] = $fecha . "\t"; //DDATE
$tabla[] = "\r\n";

$tabla[] = $PROVEEDOR . "\t";
$tabla[] = $IGV_CON_DERCF . "\t"; //DIMPORT
$tabla[] = $i . "\t"; //DIMPORT
$tabla[] = $fecha . "\t"; //DDATE
$tabla[] = "\r\n";

}
$tabla = join('', $tabla);
file_put_contents('prueba.txt', $tabla);
?>
  #2 (permalink)  
Antiguo 25/11/2011, 11:28
 
Fecha de Ingreso: junio-2011
Mensajes: 51
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: como hacer correlativo de numeros en array

-l.jh.n erssgfefrewf
  #3 (permalink)  
Antiguo 25/11/2011, 11:30
 
Fecha de Ingreso: julio-2011
Mensajes: 161
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: como hacer correlativo de numeros en array

Gracias castrovega7 nose si podrias ser un poco mas especific con lo del foreach ,Slds.
  #4 (permalink)  
Antiguo 25/11/2011, 11:40
 
Fecha de Ingreso: junio-2011
Mensajes: 51
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: como hacer correlativo de numeros en array

Opsss no se que he hecho con mi anterior comentario...

Si claro, prueba así

Código PHP:
Ver original
  1. <?php
  2. include("Conexion.php"); //conexion
  3. $sql = mysql_query("SELECT * FROM mgtrading") or die ("Error en el query: ".mysql_error());
  4. //$cad ="";
  5. $i=0;
  6. while($i < $rs->count()){
  7.  
  8. foreach($rs as $r){
  9.  
  10. $PROVEEDOR= $r['PROVEEDOR'];
  11. $total = $r['TOTAL'];
  12. $fecha = $r['FECHA'];
  13. $BASEIMP_CON_DERCF = $r['BASEIMP_CON_DERCF'];
  14. $IGV_CON_DERCF = $r['IGV_CON_DERCF'];
  15. $i++;
  16.  
  17.  
  18. $tabla[] = $PROVEEDOR . "\t";
  19. $tabla[] = $total . "\t"; //DIMPORT
  20. $tabla[] = $i . "\t"; //DIMPORT
  21. $tabla[] = $fecha . "\t"; //DDATE
  22. $tabla[] = "\r\n";
  23.  
  24. $tabla[] = $PROVEEDOR . "\t";
  25. $tabla[] = $BASEIMP_CON_DERCF . "\t"; //DIMPORT
  26. $tabla[] = $i . "\t"; //DIMPORT
  27. $tabla[] = $fecha . "\t"; //DDATE
  28. $tabla[] = "\r\n";
  29.  
  30. $tabla[] = $PROVEEDOR . "\t";
  31. $tabla[] = $IGV_CON_DERCF . "\t"; //DIMPORT
  32. $tabla[] = $i . "\t"; //DIMPORT
  33. $tabla[] = $fecha . "\t"; //DDATE
  34. $tabla[] = "\r\n";
  35.  
  36.  
  37.  
  38. }
  39.  
  40. }
  41. $tabla = join('', $tabla);
  42. file_put_contents('prueba.txt', $tabla);
  43. ?>


A lo mejor, me estoy liando, pero creo que podría valer.


Un saludo.

Última edición por castrovega7; 25/11/2011 a las 11:44 Razón: El $i++; ahora está en su sitio
  #5 (permalink)  
Antiguo 25/11/2011, 11:49
 
Fecha de Ingreso: julio-2011
Mensajes: 161
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: como hacer correlativo de numeros en array

Gracias por rpta, pero no funciono salio esto mira:
Fatal error: Call to a member function count() on a non-object in C:\wamp\www\PRUEBA_CON_MYSQL\prueba.php on line 7
.
  #6 (permalink)  
Antiguo 25/11/2011, 11:50
 
Fecha de Ingreso: junio-2011
Mensajes: 51
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: como hacer correlativo de numeros en array

Vale no hagas ni caso, el codigo anterior está mal, he confundido el mysql_fetch_array con un fetch_all...
  #7 (permalink)  
Antiguo 25/11/2011, 11:52
 
Fecha de Ingreso: junio-2011
Mensajes: 51
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: como hacer correlativo de numeros en array

He estado mirando como funciona "mysql_fetch_array", a simple vista tu código original parece correcto :S
  #8 (permalink)  
Antiguo 25/11/2011, 11:56
 
Fecha de Ingreso: junio-2011
Mensajes: 51
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: como hacer correlativo de numeros en array

Vale el problema es que de cada vuelta del while imprimes tres veces:

Código PHP:
Ver original
  1. $tabla[] = $PROVEEDOR . "\t";
  2. $tabla[] = $total . "\t"; //DIMPORT
  3. $tabla[] = $i . "\t"; //DIMPORT
  4. $tabla[] = $fecha . "\t"; //DDATE
  5. $tabla[] = "\r\n";
  6.  
  7. $tabla[] = $PROVEEDOR . "\t";
  8. $tabla[] = $BASEIMP_CON_DERCF . "\t"; //DIMPORT
  9. $tabla[] = $i . "\t"; //DIMPORT
  10. $tabla[] = $fecha . "\t"; //DDATE
  11. $tabla[] = "\r\n";
  12.  
  13. $tabla[] = $PROVEEDOR . "\t";
  14. $tabla[] = $IGV_CON_DERCF . "\t"; //DIMPORT
  15. $tabla[] = $i . "\t"; //DIMPORT
  16. $tabla[] = $fecha . "\t"; //DDATE
  17. $tabla[] = "\r\n";


puedes solucionarlo así:


Código PHP:
Ver original
  1. $tabla[] = $PROVEEDOR . "\t";
  2. $tabla[] = $total . "\t"; //DIMPORT
  3. $tabla[] = $i . "\t"; //DIMPORT
  4. $tabla[] = $fecha . "\t"; //DDATE
  5. $tabla[] = "\r\n";
  6. $i++;
  7.  
  8. $tabla[] = $PROVEEDOR . "\t";
  9. $tabla[] = $BASEIMP_CON_DERCF . "\t"; //DIMPORT
  10. $tabla[] = $i . "\t"; //DIMPORT
  11. $tabla[] = $fecha . "\t"; //DDATE
  12. $tabla[] = "\r\n";
  13. $i++;
  14.  
  15. $tabla[] = $PROVEEDOR . "\t";
  16. $tabla[] = $IGV_CON_DERCF . "\t"; //DIMPORT
  17. $tabla[] = $i . "\t"; //DIMPORT
  18. $tabla[] = $fecha . "\t"; //DDATE
  19. $tabla[] = "\r\n";


No se, si es lo que buscas

Etiquetas: correlativo, mysql, numeros, sql, tabla
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 00:18.