elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: [1]
1  Programación / PHP / Re: Numero Aleatorio en PHP o MYSQL pero que NO se repita nunca en: 20 Marzo 2008, 00:00 am
Citar
Parse error: syntax error, unexpected T_VAR in /home/acclasto/public_html/pedido.php on line 10

Código
  1. $cadena_original = "el id del registro actual" // FALTA PUNTO Y COMA
  2. var $pedidoNo = str_pad($cadena_original, 5, "0", STR_PAD_LEFT); // LINEA 10
  3.  

Asielito y Sir_Lance, un consejo, no mezclen javascript con PHP, o de última entren a php.net y fijense para que sirve la palabra reservada VAR, http://ar.php.net/manual/es/language.oop.php#keyword.class , esta se utiliza sólo en la definición de los datos o variables miembro de una clase, o en javascript para declarar como se debe una variable, pero después... ahi ven lo que dice el interprete de php

Código
  1. Parse error: syntax error, unexpected T_VAR in [...]
  2.  

Que yo sepa, en los años que vengo programando en PHP esa manera de declarar variables externas a una clase no existe.

Así que ponganle un poco de onda y si van a explicarle algo al alguien que al menos no tenga errores.

MakiaResc,
Si querés generar claves principales o primarias en una tabla de una base de datos, y que sean distintas, tenés dos opciones, en realidad hay varias, pero se usan mucho estas dos, o tomas un campo entero (INT) con una logitúd sufiente como para poder soportar una cierta cantidad de registros, utilizando este campo con la opción AUNTO_INCREMENT o simplemente definis varios campos y en combinación con los que elegístes formas una clave primaria, yo la mayoría de las veces opto por la primer opción, es la más fácil, pero cuando se puede uso la combinación de dos o más campos.

Código
  1. ## crea una base de ejemplo
  2. CREATE DATABASE ejemplo;
  3.  
  4. ## le decimos que usamos la base 'ejemplo'
  5. USE ejemplo;  
  6.  
  7. ## creamos la tabla de ejemplo
  8. CREATE TABLE tabla_ejemplo (  
  9.  <claveprimaria> INT( <longitúd del campo> )  NOT NULL AUTO_INCREMENT PRIMARY KEY
  10. )TYPE=MyISAM;
  11.  
  12. ## obviamente no hace falta crear ninguna base ni tabla si se cuenta con una,
  13. ## es un ejemplo, está ASí para hacerlo más completo.
  14.  

En donde dice <claveprimaria> iría el nombre que le quieras dar al campo, y en donde dice <longitúd del campo> va la cantidad de dígitos que necesitas usar, en esta página http://dev.mysql.com/doc/refman/5.1/en/numeric-types.html tenés todos los tipos de datos con sus rangos numéricos aceptables. Para que te dés una idea si en vez de declarar el campo de clave principal como INT lo declaras como DOUBLE, tenés una cantidad posible de registros de 18.446.744.073.709.551.615, unos 18 trillones y medio, fijate si te alcanza  ;D igual quedate tranquilo que hay de más rango, pero se usan para cálculos con punto flotante, "números con coma" de gran tamaño. Para ver más cerca de esto, y que te quede más claro, el mejor lugar para mí, es mysql.org, ese link que te pasé es de ahí, mejor información que esa, la de los fabricantes no creo que encuentres, sin desmerecer a la gente que postea "cosas buenas" que también tienen sus méritos.

Y por último, NO lleva var una declaración de variable por eso:

Código
  1. var $pedidoNo = str_pad($cadena_original, 5, "0", STR_PAD_LEFT);
  2.  

te da error, por que ese var ahí no tiene que existir, sacalo y probalo.

Código
  1. $pedidoNo = str_pad($cadena_original, 5, "0", STR_PAD_LEFT);
  2.  

Igual lo que hace eso es rellenar con ceros la cadena que se encuentre en $cadena original hasta llegar a una longitúd de 5 caracteres en total, o sea los de $cadena_original + los ceros que se le agreguen, eso supongo que es para no mostrar el número así a secas, en vez de 120, por ejemplo mostraría 00120, no está mal, queda prolijo.

Bueno, me voy por que tengo que seguir trabajando, saludos y acuerdense de ponerle onda cuando explican y tratar de no pifiarla, -| Sir_Lance |- la pifió arriba de Azielito  :o , ta bien igual, somos todos humanos, y no se aprende de otra cosa que no sean los errores muchachos  ;D, así que a darle duro nomás.

Salu2.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines