No puedo más. He buscado tutos, videos y demás pero cada uno me dice una cosa diferente. A ver, la cuestión es la siguiente: Necesito hacer una página web que tenga integrada el típico carrito (o cesta)de la compra para vender artículos y para ello necesito crear un código en php que a su vezse enlazará con una base de datos mysql. Bien, supongo que lo primero será crear la base de datos, ok, como, donde, con que programa, desde el mismo pc?, desde ejecutar?, desde mysql?, desde cpanel?. Y os aseguro que ha buscado en el foro (y he visto un tutorial de tusitioya) pero no lo explica como Jorgens, jeje, la cuestión es que a más de 2/3 de acabar el tuto me ha explotado la cabeza y ya no sabía para que sirve el XAMPP, el niftycube o yo ke sé. Bueno, si alguien pudiera explicarme como o donde empezar a hacer la base de datos se lo agradecería. Un saludo. P.D. No vayáis muy rápido, tened en cuenta que me queda 1/3 de cerebro usable, jeje
Muy facil vete a Cpanel > MySql Bases de Datos > (Nueva Base de datos > Colocas el nombre que tu quieras) > Crear Base de Datos.
Proceso terminado.
Luego tienes que pensar como lo vas a almacenar; es decir, que campos vas a llevar; para eso, cuando los tengas listos, haces lo siguiente.
PhpMyAdmin > Click en el nombre de la base de datos que tu hayas creado > (En la parte de abajo "Crear una nueva tabla" por el nombre de la tabla que quieras, y en "Numero de campos" los campos que quieras colocar) Continuar > .....
Luego aqui ya en el campo nombre de cada uno, pones el nombre del campo que quieres; por ejemplo, Nombre, de tipo (te interesa sobre todo Int - numero - y nvarchar - caracteres-) y en longitud / valores colocas los caracteres que quieres (por ejemplo para guardarte la cantidad, con un INT 5 te sobra, no hay que poner 25; y para el nombre del producto NVARCHAR 150 o 100).
Despues click en Continuar y Tablas y campos de tablas creadas; luego ya toca enseñarte a hacer un formulario, Inserts, Updates, etc; la verdad es que sin saber nada de esto es complicado hacerlo, pero para eso estamos, para intentar enseñar!xD
Cualquier cosa preguntas, pero si sigues los pasos (como he ido haciendo yo para explicartelo), no tendras ningun problema.
Una vez has contratado un Hosting (alojamiento web), y accedes a tu espacio, lo que CASI TODOS los hosting suelen tener cuando entras porque tiene todas las tareas, etc es CPANEL, una especie de programa / plataforma que los servidores tienen montados para que nosotros (los webmasters) veamos las cosas mas faciles.
Si no tienes ninguno hosting contratado hay que empezar por ahi, aunque hay mucho gratuitos que para empezar estan bastante bien (por aqui se usa mucho razyhosting).
Acabaramos!!!!!, jejeje, gracias victor5atodogas, me has solucionado la duda en un momento mejor que la world wide web esa en dos días. Ok, estupendo, voy a probar con razyhosting. Una duda, si creo la base de datos ahí luego la puedo pasar a otro servidor? (digo para cuando tenga echa la página con su dominio y tal). Un saludo.
Me alegro de solucionar las cosas. Pues si, por eso no te preocupes que pasar la BBDD de un lado a otra a otro no es ni 1 minuto. Cualquier duda pregunta. Saludos
Ok, ya tengo cuenta en razyhosting, ya he creado una base de datos y tengo una idea de como almacenar los artículos: nombre, referencia, plataform y precio. he ido a phpmyadmin y he creado una tabla (articulos) con 4 campos (nombre, referencia, precio y plataforma) y me ha generado un código: CREATE TABLE `articulos` ( `nombre` VARCHAR ( 150 ) NOT NULL , `referencia` VARCHAR ( 100 ) NOT NULL , `precio` INT ( 5 ) NOT NULL , `plataforma` VARCHAR ( 150 ) NOT NULL ) TYPE = MYISAM ; Ahora me comentabas que tenía que ir a tablas y campos de tablas creadas, pero aquí no se ve nada de esto.
Además, he estado buscando por ahí a ver si veía lo de los campos de las tablas y me ha desaparecido el código y no se como encontrarlo de nuevo, que desastre.
No te preocupes, ahora es tarde, mañana por la mañana te digo lo que tienes que hacer, no has hehcho nada mal, y es normal que ese codigo te desaparezca.
La base de datos sirve basicamente para introducir y sacar datos de la misma.
Te voy a enseñar a introducir y sacar datos desde PhyMyAdmin, y despues te explicare como se hace con PHP.
Abres el PhpMyAdmin y entrar en tu base de datos:
- Click en la tabla que has creado (Productos creo que se llamaba) que te aparece en la parte izquierda del todo, tal que asi: nombredelabasededatos (enazul) (1) y debajo tu tabla, ahi das click.
- Lo primero, le das click a Estructura (ya entenderas para que hacemos esto), en la parte inferior te pone "Añadir 1 campo al Final de la tabla"...tu cambias y pones al principio y le das a Continuar, en Campo pones "IdCarrito" , Tipo Int, Longitud 5, en Indice, seleccionas "PRIMARY", y checkeas lo de AUTO_INCREMENT, le das a GRABAR y listo.
- Click en Introducir, parte superior central
- Como ves, te aparecen los campos que tu habrias creado en esa tabla, y te aparece "Funcion" (de esto olvidate, y el valor par IdCarrito dejalo vacio), y "Valor", en valor se coloca el valor que tu quieres darle, por lo que escribe en todos los campos lo que corresponda y dale a continuar (Si quieres introducir + de 2 campos en la tabla a la vez, en la parte inferior de Introducir hay un desplegable que pone "Reinicie la insercion con X Filas", y te aparecen 20, 30 o los que hayas marcado.
- Una vez le hayas dado a Continuar se te introduciran los datos en la tabla, y en la pestaña examinar, podras ver todos los datos que hay.
- Si quieres modificar un dato una vez insertado, ves que al lado de cada fila (izquierda), te aparece un apartado "Opciones", en Editar te vuelve a aparecer lo de "Introducir" para que lo modifiques, y en la X de Eliminar, te pide que confirmes, y asi lo eliminas.
- Por ultimo, te explico como funciona el apartado SQL
- En ese apartado te aparece: "SELECT * FROM `nombredelatabla` WHERE 1" y esto te servira para filtrar los datos que tu quieres mostrar, por ejemplo, suponte que quieres sacar todos los precios mayores a 50 (tambien imaginate que tienes cientos de filas introducidas), escribirias esto: SELECT * FROM `nombredelatabla` WHERE precio > x (valor) que se traduce por "Sacame todos los campos de la tabla X DONDE el precio sea > (puedes poner =) a X (valor), si se opera con datos de tipo nvarchar (como por ejemplo el nombre), se pondria el valor entre comillas para que entienda que eso es literal.
Por ultimo decirte como filtrar por varios campos, que seria lo mismo pero añadiendo restricciones, como por ejemplo: Where precio = 50 and nombre = "coche" esto se traduciria por "DONDE el precio sea = 50 y el nombre sea = a coche. Podrias añadir asi todas las restricciones que quieras para Filtrar, y ademas, tambien puedes poner conidiconales que serian: Where precio = 50 or nombre = "coche", el OR serviria en este caso para decirle que te saque todos los que tengan el precio = 50 o el nombre = "coche".
Espero que esto te haya ayudado, lo mejor es practicar y tocar cosillas de introducir, modificar, etc para que te vayas haciendo a esto.
El campo "IdCarrito" lo hemos puesto Autonumerico para que sin que tu le digas nada, te vaya colocando un numero tal que 1, 2, 3, etc; y esto sirve para identificar a cada carrito.
Ahora te voy a explicar como hacer las cosas a traves de PHP, puesto que partimos de que nos sabes nada, te voy a explicar 1 poco las cosas, y despues sabras hacer consultas (selects) desde PHP, y UPDATES (modificar datos).
Cualquier duda con esto, pregunta.
Saludos
PD: Por cierto, te planteo una preguntilla asi curiosa para que lo piense, ¿Como sabras si alguien abandona el carrito? Supongo que una vez que sepas que ha confirmado la compra introduciras estos datos y no antes.
Para que vayas aprendiendo como funciona PHP, no te explico nada porque ya hay un monton de cosas, por eso te pido que te leas esto detenidamente y hagas los ejemplos que ponen (Nosotros utilizaremos el metodo POST).
Una vez hayas realizado todo esto y tengas una nocion muy basica de PHP, te dire como mostrar los datos e introducir datos (o modificar aunque esto aplicado a un carrito seria mas raro).
Ok. He seguido los pasos pero me he quedado un poco estancado aqui:
- Como ves, te aparecen los campos que tu habrias creado en esa tabla, y te aparece "Funcion" (de esto olvidate, y el valor par IdCarrito dejalo vacio), y "Valor", en valor se coloca el valor que tu quieres darle, por lo que escribe en todos los campos lo que corresponda y dale a continuar (Si quieres introducir + de 2 campos en la tabla a la vez, en la parte inferior de Introducir hay un desplegable que pone "Reinicie la insercion con X Filas", y te aparecen 20, 30 o los que hayas marcado. No se si lo verás, aparece esto: [contenido no disponible] salen los campos duplicados y enmedio hay una pestaña que pone ignorar, tengo que seleccionarla? Cuando me comentas que le tengo que dar el valor que yo quiera que te refieres al número de dígitos que tendrán¿ (como máximo), al número de articulos? (nombres, precio, etc) o al valor en rango? (primero, segundo, etc..). Siento estar tan verde, pero estoy pillandole el rollo. Un saludo.
Si has tenido algun error, leete todo porque te explico como eliminarlos.
Aunque no veo la foto, te explico.
Si te aparece lo de campos duplicados seguramente es porque has rellenado el campo IdCarrito; este hay que dejarlo en blanco; y rellenar los campos me refiero a que tu rellenes un carrito ficticio; es decir:
Nombre = "Crema depilatoria", Referencia = "450023F", Precio = "8.32" y Plataforma = "Nada" (esto ultimo no se lo que significa).
Cualquier cosa me preguntas; por cierto veo otro problemilla en esto del carro; es cuestion de pensar para solucionarlo. Si creas la tabla como la tienes, esta bien pensado, pero ¿si yo compro 2 productos? La mejor opcion que yo te daria, es que crearas una tabla asi:
IdCompra Tipo Int, Valor 5 PRIMARY y AUTO_INCREMENT Carrito Tipo Varchar 150
Esto serviria para relacionar una cosa con la otra; es decir, si yo compro 3 productos, tendre 3 filas en la tabla que tu has creado, y ademas, en esta tabla nueva que habras creado, el campo Carrito, llevaria lo siguiente: 150, 151, 152 (suponiendo que esos numeros sean los IdCarrito que corresponde cada 1 a cada producto que he añadido a mi cesta).
No se si me he explicado muy bien, leelo otra vez despacio y seguramente lo entenderas; sino te lo explico, cualquier duda que tengas pregunta. `nombre` VARCHAR ( 150 ) NOT NULL , `referencia` VARCHAR ( 100 ) NOT NULL , `precio` INT ( 5 ) NOT NULL , `plataforma` VARCHAR ( 150 ) NOT NULL ) TYPE = MYISAM ;
Ya está, ya se ha quitado (no habia rellenado el campo carrito, no se que ha pasado). Bien, ya he introducido los valores a los campos y me genera este código: consulta SQL: INSERT INTO `articulos` ( `Idcarrito` , `nombre` , `referencia` , `precio` , `plataforma` ) VALUES ( '' , '' , '' , '' , '' ) , ( '' , 'turbografx' , '0001' , '150' , 'pal' ) ; Supongo que va bien la cosa, voy adelante. Por cierto, lo que me comentas de ccomprear más de un producto tiene mucho sentido, que tendría que añadir otra campo en la misma tabla igual que he creado idcarrito?(pero con las caractarísticas que me has descrito claro).
Tu no te preocupes, por los codigo que te genera, no hace falta que los copies. Lo del comprar varias cosas si que tiene sentido, pero debes crearlo en una TABLA NUEVA
Por lo demas, sigue los pasos y cualquier cosa me lo dices.
Cuidado radioactivo-man!!!!!, esto me está empezando hasta a gustar. Como te explicas colega. Ya he creado una base de datos con unos 9 artículos. Voy a crear la otra tabla que me has comentado Idcompra, pero cuantos campos le doy?
Me alegro de que te guste y de que entiendas todo. La nueva tabla, la tienes que crear con 2 campos, los campos son los que te ponia mas atras (IdCompra Tipo Int, Valor 5 PRIMARY y AUTO_INCREMENT Carrito Tipo Varchar 150). Creo que ya te he explicado tambien como se "RELACIONARIAN".
Bien. Después de darle mil vueltas por miedo a fallar he creado una nueva tabla (de nombre articulosdos con dos campos. Al primer campo le he puesto de nombre Idcompra; tipo int longitud/valores 5; auto_increment; primaria;; y al segundo campo le he dado de nombre carrito; tipo varchar; longitud/valores 150. Creo que está todo bien. Y, de momento vamos palante.
Ok, he estado viendo el formulario php al que me has enlazado y empiezo a entender, pero si quieres hago otro post con un titulo como: Crear un carrito php y enlazarlo a la base de datos (lo digo para que la gente vea el tema, que no esté enlazado con otro que es hacer la base de datos). Lo que todavía no consigo entender es como se enlazan las dos tablas, se puede hacer desde ya?, supongo que poniendo algo en algun campo de la primera tabla para que lea la segunda (tipo enlaces ahref=...).
Ok, pues abre un nuevo tema para el carrito y te sigo explicando, las tablas se relacionan tal que asi (se me ha ocurrido asi, si se te ocurre otra forma hazla).
Compro 3 productos.
Tabla: Articulos > 3 filas, por lo tanto 3 Ids (suponte: 30, 31 y 32)
En la tabla (como le hayas puesto) en el campo IdTabla esta autonumerico, y en el campo carrito pondriamos: "30,31,32" y asi se relacionarian.
Si solo se compra 1 producto pues bien, no hay comas, y si se compran varios, pues varios ids como en el ejemplo anterior.
Bien, abro otro tema para el carrito. Entiendo, tengo que poner en el campo carrito de la nueva tabla (articulosdos) todos los numeros id que tengo en la tabla primera (articulos), así estarán todos relacionados, es asi?.
Esta bien planteado,a ver si lo he entendido: El navegante pincha en tres artículos, y estos se ven en la sección carrito uno encima del otro y debajo de ellos el total (eso en la web). Eso es lo que realmente queremos. Como yo no se los artículos que va a pinchar el navegante tengo que relacionar todos los Ids de todos los productos de la primera tabla (que es donde está la base de datos en sí, los objetos)en el campo carrito de la tabla segunda. Me acerco a la idea?