Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] imprimir etiqueta

Estas en el tema de imprimir etiqueta en el foro de PHP en Foros del Web. Estoy haciendo un proyecto para una linea de procuccion de trasformadores en la primera estacion tengo que reportar los siguientes campos en un formulario orden ...
  #1 (permalink)  
Antiguo 06/10/2015, 10:52
 
Fecha de Ingreso: octubre-2015
Ubicación: ciudad juarez
Mensajes: 90
Antigüedad: 9 años, 1 mes
Puntos: 1
Sonrisa imprimir etiqueta

Estoy haciendo un proyecto para una linea de procuccion de trasformadores

en la primera estacion tengo que reportar los siguientes campos en un formulario

orden
estilo
shedule
status

que se envia a un insert.php

lo que necesito es que me de un ID unico para cada transformador y que me imprima una etiqueta con codigo de barras con el numero de ID

que puedo hacer?
  #2 (permalink)  
Antiguo 06/10/2015, 10:59
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: imprimir etiqueta

esta fácil brother, lo que tienes es que utilizar el id de tu tabla como id del transformador, ya que es autoincrement y no va a variar ni se va a repetir, lo otro seria completarla con caracteres y numeros a manera de random, para lo del codigo de barras hay librerias que te ayudan a sacar l a variable que le digas como codigo bien sea code-39, qr o lo que necesires,

http://www.barcodephp.com/
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 06/10/2015, 11:11
 
Fecha de Ingreso: octubre-2015
Ubicación: ciudad juarez
Mensajes: 90
Antigüedad: 9 años, 1 mes
Puntos: 1
Respuesta: imprimir etiqueta

la verdad nunca e utilizado random

este es el codigo que tengo

es un inser sencillo

<?php
$conx = @mysql_connect("localhost","root","");
if (!$conx)
{
die('could not connect: ' . mysql_error());
}
mysql_select_db("eaton", $conx);
$sql="INSERT INTO embobinado (schedule,go,estilo,statusemb,fechaemb)
VALUES ('$_POST[schedule]','$_POST[go]','$_POST[estilo]','$_POST[statusemb]',now())";
if (!mysql_query($sql,$conx))
{
die('Error; ' . mysql_error());
}
mysql_close($conx);
?>

<script language="javascript">
window.location="emb.html";
</script>
  #4 (permalink)  
Antiguo 06/10/2015, 11:29
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: imprimir etiqueta

Código PHP:
Ver original
  1. <?php
  2.  
  3. $codigo = rand(); //generamos un codigo aleatorio
  4. $final = $codigo."-ABC"; //anexamos la id al final del codigo aleatorio
  5.  
  6. // cargamos las clases para con codigo de barras
  7. require_once('../bases/barcodegen/barcodegen/class/BCGFontFile.php');
  8. require_once('../bases/barcodegen/barcodegen/class/BCGColor.php');
  9. require_once('../bases/barcodegen/barcodegen/class/BCGDrawing.php');
  10.  
  11. // Seleccionamos el tipo de codigo que deseamos sacar
  12. require_once('../bases/barcodegen/barcodegen/class/BCGcode39.barcode.php');
  13.  
  14. // cargamos la fuente
  15. $font = new BCGFontFile('../bases/barcodegen/barcodegen/font/Arial.ttf', 18);
  16.  
  17. // Cargamos la variable a codificar
  18. $text = isset($_GET['text']) ? $_GET['text'] : $final;
  19.  
  20. // seleccionamos el color
  21. $color_black = new BCGColor(0, 0, 0);
  22. $color_white = new BCGColor(255, 255, 255);
  23.  
  24. $drawException = null;
  25. try {
  26.     $code = new BCGcode39();
  27.     $code->setScale(2); // Resolucion
  28.     $code->setThickness(30); // Lineas
  29.     $code->setForegroundColor($color_black); // Color de barras
  30.     $code->setBackgroundColor($color_white); // Color de espacios
  31.     $code->setFont($font); // Fuente
  32.     $code->parse($text); // Texto
  33. } catch(Exception $exception) {
  34.     $drawException = $exception;
  35. }
  36.  
  37. $drawing = new BCGDrawing(''/*Nombre: si esta en blanco se muestra en pantalla*/, $color_white/*color de fondo*/);
  38. if($drawException) {
  39.     $drawing->drawException($drawException);
  40. } else {
  41.     $drawing->setBarcode($code);
  42.     $drawing->draw();
  43. }
  44.  
  45. // Cabeceras, debes removerlas si vas a guardar el codigo en un directorio
  46. header('Content-Type: image/png');
  47. header('Content-Disposition: inline; filename="barcode.png"');
  48. $drawing->finish(BCGDrawing::IMG_FORMAT_PNG);
  49. ?>
claro eso es con la libreria que te dije

la funcion http://php.net/manual/es/function.rand.php
__________________
[email protected]
HITCEL
  #5 (permalink)  
Antiguo 06/10/2015, 12:05
 
Fecha de Ingreso: octubre-2015
Ubicación: ciudad juarez
Mensajes: 90
Antigüedad: 9 años, 1 mes
Puntos: 1
Respuesta: imprimir etiqueta

ok ya descarge los archivos de barcode en las lineas

'../bases/barcodegen/barcodegen/class/BCGFontFile.php'

tengo que poner el directorio donde esta guardados los arhivos??
  #6 (permalink)  
Antiguo 06/10/2015, 12:34
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: imprimir etiqueta

si claro exactamente, las que estan alli son referencias a las carpetas donde prubo mis script
__________________
[email protected]
HITCEL
  #7 (permalink)  
Antiguo 06/10/2015, 12:36
 
Fecha de Ingreso: octubre-2015
Ubicación: ciudad juarez
Mensajes: 90
Antigüedad: 9 años, 1 mes
Puntos: 1
Respuesta: imprimir etiqueta

ya me da el codigo de barras.

como puedo que el numero que asigna el codigo me lo envia a la base de datos con un update??
al final del codigo???
  #8 (permalink)  
Antiguo 06/10/2015, 12:49
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: imprimir etiqueta

no, toda la interacción con la base de datos la haces antes de msotrar la etiqueta, es decir, luego de generar el codigo con rand, guardas los datos en la base y continuas el proceso
__________________
[email protected]
HITCEL
  #9 (permalink)  
Antiguo 06/10/2015, 13:00
 
Fecha de Ingreso: octubre-2015
Ubicación: ciudad juarez
Mensajes: 90
Antigüedad: 9 años, 1 mes
Puntos: 1
Respuesta: imprimir etiqueta

pero como cacho la bariable que me da el numero para enviarla a mi insert
puedo poner el inser antes de el codigo de la etiqueta??
  #10 (permalink)  
Antiguo 06/10/2015, 14:02
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: imprimir etiqueta

seria algo asi amigo:
Código PHP:
Ver original
  1. <?php
  2. $mivariable = $_POST['envio'];//id o el dato que voy a utilizar para completar el codigo (id por ejemplo)
  3.  
  4. $ab = round(1000,9999); //parte del codigo generada aleatoriamente
  5.  
  6. $codigo = $ab."-".$mivariable; //unifico el codigo generado con la variable enviada
  7.  
  8. //inserto en la base
  9. $a = $db->query("INSERT INTO tabla (dato) VALUE ('$mivariable')");
  10.  
  11. //si se inserta conninuo, si noemito un a alerta y regreso al principio
  12. if($a){
  13.     //Resto del codgio que genera la etriqueta
  14. } else{
  15.     //codigo que emite la alerta de error y reinicia el proceso
  16. }
  17. ?>
__________________
[email protected]
HITCEL
  #11 (permalink)  
Antiguo 06/10/2015, 14:13
 
Fecha de Ingreso: octubre-2015
Ubicación: ciudad juarez
Mensajes: 90
Antigüedad: 9 años, 1 mes
Puntos: 1
Respuesta: imprimir etiqueta

con este codigo me inserta todos los datos bien solo que el codigo de barras no se muestra me aparece un simbolo de una imagen rota



<?php

$codigo = rand(1,999999); //generamos un codigo aleatorio
$final = $codigo.""; //anexamos la id al final del codigo aleatorio

// cargamos las clases para con codigo de barras
require_once('barcodegen/class/BCGFontFile.php');
require_once('barcodegen/class/BCGColor.php');
require_once('barcodegen/class/BCGDrawing.php');

// Seleccionamos el tipo de codigo que deseamos sacar
require_once('barcodegen/class/BCGcode39.barcode.php');

// cargamos la fuente
$font = new BCGFontFile('barcodegen/font/Arial.ttf', 18);

// Cargamos la variable a codificar
$text = isset($_GET['text']) ? $_GET['text'] : $final;

// seleccionamos el color
$color_black = new BCGColor(0, 0, 0);
$color_white = new BCGColor(255, 255, 255);

$drawException = null;
try {
$code = new BCGcode39();
$code->setScale(2); // Resolucion
$code->setThickness(30); // Lineas
$code->setForegroundColor($color_black); // Color de barras
$code->setBackgroundColor($color_white); // Color de espacios
$code->setFont($font); // Fuente
$code->parse($text); // Texto
} catch(Exception $exception) {
$drawException = $exception;
}

$drawing = new BCGDrawing(''/*Nombre: si esta en blanco se muestra en pantalla*/, $color_white/*color de fondo*/);
if($drawException) {
$drawing->drawException($drawException);
} else {
$drawing->setBarcode($code);
$drawing->draw();
}

// Cabeceras, debes removerlas si vas a guardar el codigo en un directorio
header('Content-Type: image/png');
header('Content-Disposition: inline; filename="barcode.png"');
$drawing->finish(BCGDrawing::IMG_FORMAT_PNG);

?>
<?php
$conx = @mysql_connect("localhost","root","");
if (!$conx)
{
die('could not connect: ' . mysql_error());
}
mysql_select_db("eaton", $conx);
$sql="INSERT INTO embobinado (schedule,go,estilo,idtx,statusemb,fechaemb)
VALUES ('$_POST[schedule]','$_POST[go]','$_POST[estilo]','$final', '$_POST[statusemb]',now())";
if (!mysql_query($sql,$conx))
{
die('Error; ' . mysql_error());
}
mysql_close($conx);
?>
  #12 (permalink)  
Antiguo 06/10/2015, 14:37
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: imprimir etiqueta

con este codigo guardas las barras y las recuperas en la etiqueta:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $prefijo = "abc";
  4. $cod = rand(1000,9999);
  5. $codigo = $cod."-".$prefijo;
  6.  
  7. // Including all required classes
  8. require_once('class/BCGFontFile.php');
  9. require_once('class/BCGColor.php');
  10. require_once('class/BCGDrawing.php');
  11.  
  12. // Including the barcode technology
  13. require_once('class/BCGcode39.barcode.php');
  14.  
  15. // Loading Font
  16. $font = new BCGFontFile('./font/Arial.ttf', 18);
  17.  
  18. // Don't forget to sanitize user inputs
  19. $text = isset($_GET['text']) ? $_GET['text'] : $codigo;
  20.  
  21. // The arguments are R, G, B for color.
  22. $color_black = new BCGColor(0, 0, 0);
  23. $color_white = new BCGColor(255, 255, 255);
  24.  
  25. $drawException = null;
  26. try {
  27.     $code = new BCGcode39();
  28.     $code->setScale(2); // Resolution
  29.     $code->setThickness(30); // Thickness
  30.     $code->setForegroundColor($color_black); // Color of bars
  31.     $code->setBackgroundColor($color_white); // Color of spaces
  32.     $code->setFont($font); // Font (or 0)
  33.     $code->parse($text); // Text
  34. } catch(Exception $exception) {
  35.     $drawException = $exception;
  36. }
  37.  
  38. /* Here is the list of the arguments
  39. 1 - Filename (empty : display on screen)
  40. 2 - Background color */
  41. $drawing = new BCGDrawing($codigo.'.png', $color_white);
  42. if($drawException) {
  43.     $drawing->drawException($drawException);
  44. } else {
  45.     $drawing->setBarcode($code);
  46.     $drawing->draw();
  47. }
  48.  
  49. // Header that says it is an image (remove it if you save the barcode to a file)
  50. /*header('Content-Type: image/png');
  51. header('Content-Disposition: inline; filename="barcode.png"');*/
  52.  
  53. // Draw (or save) the image into PNG format.
  54. $drawing->finish(BCGDrawing::IMG_FORMAT_PNG);
  55. ?>
  56. <style>
  57. .etiqueta{
  58.     width:500px;
  59.     height:85px;
  60.     border:solid;
  61.     padding:10px;
  62.     background-color:#fff;
  63. }
  64. .col-6{
  65.     width:50%;
  66.     height:85px;
  67.     float:left;
  68.     position:relative;
  69. }
  70. .col-5{
  71.     width:30%;
  72.     height:85px;
  73.     float:left;
  74.     position:relative;
  75. }
  76. .col-6 img{
  77.     float:right;
  78.     margin-right:25px;
  79. }
  80. </style>
  81. <div class="etiqueta">
  82.     <div class="col-6">
  83.     Producto: <b>Nombre del Producto</b><br>
  84.     ID: del Producto: <b><?php echo $codigo; ?></b><br>
  85.     Fecha: <b><?php echo date("d-m-Y"); ?></b>
  86.     </div>
  87.     <div class="col-5">
  88.         <img src="<?php echo $codigo; ?>.png"/>
  89.     </div>
  90. </div>
__________________
[email protected]
HITCEL
  #13 (permalink)  
Antiguo 08/10/2015, 07:11
 
Fecha de Ingreso: octubre-2015
Ubicación: ciudad juarez
Mensajes: 90
Antigüedad: 9 años, 1 mes
Puntos: 1
Respuesta: imprimir etiqueta

me funciono bien muchas gracias

Etiquetas: etiqueta, formulario
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 21:20.