Ver Mensaje Individual
  #6 (permalink)  
Antiguo 23/03/2010, 03:36
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 10 meses
Puntos: 574
Respuesta: Como mostrar un mismo registro varias veces

Creo que la solucion no es de este foro, ya que la solucion más facil es php

Espero que no se moleste nadie.

Código PHP:
Ver original
  1. <?php session_start();
  2. include ("../settings.php");
  3. include ("../language/$cfg_language");
  4. include ("../classes/db_functions.php");
  5. include ("../classes/display.php");
  6. include ("../classes/security_functions.php");
  7.  
  8. $lang=new language();
  9. $dbf=new db_functions($cfg_server,$cfg_username,$cfg_passwo rd,$cfg_database,$cfg_tableprefix,$cfg_theme,$lang );
  10. $sec=new security_functions($dbf,'Admin',$lang);
  11. $display=new display($dbf->conn,$cfg_theme,$cfg_currency_symbol,$lang);
  12. if(isset($_GET['generateWith'])){
  13.     $generateWith=$_GET['generateWith'];
  14. }else{
  15.     $generateWith='description';
  16. }
  17.  
  18. if(!$sec->isLoggedIn()){
  19.     header ("location: ../login.php");
  20.     exit();
  21. }
  22.  
  23. $items_table=$cfg_tableprefix.'items';
  24.  
  25. // Supongo que uno de los campos sera "quantity"
  26. $result=mysql_query("SELECT * FROM $items_table quantity where quantity>='1' ORDER by id DESC",$dbf->conn);
  27.  
  28. echo '<table border=0 width=85% align=center cellspacing=8 cellpadding=0><tr>';
  29. $counter=0;
  30. while($row=mysql_fetch_assoc($result)){
  31.  
  32. //Leo quantity
  33.     $quantity=$row['quantity'];
  34.  
  35. //Inicio del bucle for de 0 (cero) a quantity
  36.     for ($i=0;$i<$quantity;$i++){
  37.     if($counter%3==0){
  38.         echo '</tr><tr>';
  39.     }
  40.     $unit_price_value=$row['unit_price'];
  41.     $nombre=$row['item_name'];
  42.     if(($unit_price_value)<100){
  43.         $pre=number_format($unit_price_value*(1+($cfg_defa ult_tax_rate/100)),2,'.', '');
  44.     }else{
  45.         $per=number_format($unit_price_value*($cfg_default _percepcion_rate/100),2,'.', '');
  46.         $iva=number_format($unit_price_value*($cfg_default _tax_rate/100),2,'.', '');
  47.         $pre=number_format($unit_price_value+$iva+$per,2,' .', '');
  48.     }
  49.     echo "<td align='center' style='border:#000000 1px solid;'><div><font face='Verdana' size='1.8' color='000000'><b>$cfg_nombre_empresa</b><br>$nombre</div><img src='../classes/barcode.php?barcode=$row[$generateWith]&width=256&text=*$row[description]*'><br>Precio:</font><font face='Verdana' size='1.8' color='red'>$$pre</font></div></td>";
  50.     $counter++;
  51.     }//Cierro el bucle For
  52. }//Cierras el bucle while
  53. echo '</tr></table>';
  54. $dbf->closeDBlink();
  55. ?>

He agregado un bucle for dentro de tu bucle while

La idea es leer la quantity y antes de ir al siguiente registro repetir las operaciones sobre el actual tantas veces como indique quantity.

No lo he probado pero la idea seria esta.

Para ser estrictos, si counter no termina en %3==0 quizas tienes que agregar celdas vacías a la tabla antes de cerrarla.

Quim