Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/06/2008, 14:57
Avatar de besotico
besotico
 
Fecha de Ingreso: junio-2008
Ubicación: Iquique, Chile, Chile
Mensajes: 70
Antigüedad: 15 años, 11 meses
Puntos: 0
Busqueda Omitir último resultado de una consulta

Hola amigos de Foros Del Web, la verdad, no se si esto realmente va aquí, o en algo con base de datos ó simplemente en POO.

Aquí voy...

mi problema es el siguiente:

Estoy trabajando con un lector de códigos de barra, para lo cual, yo genero mis codigos. ingreso datos varios y queda algo asi

Cita:
Señor(es) Forosdelweb
Rut 12.345.678-9
Dirección forosdelweb.com
Ciudad Internet
GiroComercial Foro de ayuda
Teléfono 1 800-4545-201
para lo cual yo creo un codigo de la siguiente forma

Código PHP:
$s $rut;
$s preg_replace("/[^0-9]/i","",$s);
$rand1rand(0,9);
$rand2rand(0,9);
$init 11;
$code "$init$rand1$rand2$s"
como resultado de esto obtendremos algo asi como

Cita:
$code = 11(0-9)(0-9)(rut)
Nota: (0-9) es el rango del random, puede ser cualquiera de estos, y rut lo puse en parentesis (rut), ya que saldra el rut, sin puntos ni guiones, ni tampoco aceptara la letra K.

para el caso puntual de esta entrada, el codigo que me generó fue el siguiente:

112712345678

ahi se puede observar el prefijo (11) los dos numeros aleatorios (2 y 7) y luego el rut sin puntos ni guiones ni el digito verificador.

hasta ahi todo bien, el problema ahora es el siguiente, cuando genero el codigo de barras automaticamente sí me genera un digito verificador, pero no para el rut, si no que como resultado de todo el codigo...



tal como podemos ver, obtengo mi codigo "112712345678" y un "7" como verificador del codigo.

hasta aquí todo luce claro, ahora cuando yo paso mi lector de códigos de barra, lo único que hace, es leer la información y dar un "enter", para lo cual pongo el campo en un formulario y luego leo la info.

al momento de enviar los datos,y los recibo con un get por ejemplo, sería así:

Código PHP:
$barcode $_GET['barcode'];
//sabemos que $barcode es igual a 1127123456787

//ahora hago la consulta a mi db y obtengo mi barcode
mysql_query("SELECT barcode FROM usuarios WHERE barcode = '$barcode'");
//para lo cual naturalmente recibire un error, ya que mi $barcode tiene un digito más 
y aqui es donde esta el problema, lo que quiero, es que $barcode sea lo que necesito, en el fondo, omitir el digito verificador, para que entre tal y cual esta en la base de datos.

necesito que sea así, ya que no puedo eliminar el verificador desde el código de barras, ni tampoco se como es el algoritmo de creacción de este mismo.

Espero haber sido lo suficientemente claro.

Saludos desde Chile

Luis Díaz
Iquique, Chile