Database Mysql per gestione prenotazioni

davidanna23

Utente Attivo
22 Lug 2012
43
0
0
Salve, dovrei creare un database con le istruzioni per gestire delle prenotazioni da database mysql. Come posso fare? Ho letto qualcosa sui database ma non sono molto pratico, per favore potreste aiutarmi? Grazie
 

sixdas

Utente Attivo
25 Giu 2012
70
0
6
Ciao, in attesa che qualcuno più esperto risponda, provo a scrivere come farei io.

Untitled_Document_Lucidchart.png
 

davidanna23

Utente Attivo
22 Lug 2012
43
0
0
Ottimo grazie, ma queste sarebbero le tabelle no? Dove dovrei inserire i dati? Scusa ma sono poco esperto di mysql!
 

sixdas

Utente Attivo
25 Giu 2012
70
0
6
Si, lo schema sopra, sarebbe un esempio di come strutturare le tabelle. I rettangoli sono le tabelle, e poi le scritte sono i vari campi che ogni tabella avrà, naturalmente li sceglierai tu in base ai dati che ti interessa salvare. Ti ho evidenziato i campi in comune con lo stesso colore, in modo che quando dovrai fare la select avrai un campo in comune. ti faccio un esempio

Tabella partenze:
id_part| nome_part
1 Milano
2 Roma
3 Palermo

Tabella destinazioni:
id_dest | id_part | nome_dest
1 1 New York
2 1 San francisco
3 1 Cuba
4 2 Londra
5 2 Parigi
6 2 Venezia
7 3 Mosca
8 3 Egitto
9 3 Dubai

In questo modo quando farai la select, con id_part= 1 ti selezionerà solo le città associate....
PHP:
SELECT * FROM destinazioni WHERE id_dest = '1'

ti stampera: New York, San francisco, Cuba.

Spero, di averti fatto capire qualcosa :eek:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
modificherei leggermente la tabella linea_bus
id | id_part | id_arr | orario | costo | note

questo perchè devo collegare l'orario non solo alla partenza ma anche all'arrivo (es)
partenza Palermo arrivo Bolzano
partenza Palermo arrivo Torino
 

davidanna23

Utente Attivo
22 Lug 2012
43
0
0
Ragazzi siete fantastici, proprio quello che mi serve, non so come ringraziarvi. Ma il punto adesso è come li metto questi dati nel database, cioè, in che modo devo scrivere il file sql? Così come lo avete scritto voi? Non è troppo semplice?
 

davidanna23

Utente Attivo
22 Lug 2012
43
0
0
Ragazzi, ho appena creato le tabelle, ho esportato il file sql. Me la dareste una controllatina prima di proseguire? Per assicurarmi che abbia fatto bene:
PHP:
-- phpMyAdmin SQL Dump
-- version 3.4.3.1
-- http://www.phpmyadmin.net
--
-- Host: davidanna23.com
-- Generato il: Lug 25, 2012 alle 15:54
-- Versione del server: 5.1.63
-- Versione PHP: 5.3.3-7+squeeze9

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */;
/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */;
/*!40101 SET @[email protected]@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `cuffaro`
--

-- --------------------------------------------------------

--
-- Struttura della tabella `destinazioni`
--

CREATE TABLE IF NOT EXISTS `destinazioni` (
  `id_destinazione` int(11) NOT NULL,
  `nome_destinazione` int(11) NOT NULL,
  `id_partenza` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Struttura della tabella `linea_bus`
--

CREATE TABLE IF NOT EXISTS `linea_bus` (
  `id` int(11) NOT NULL,
  `id_partenza` int(11) NOT NULL,
  `id_destinazione` int(11) NOT NULL,
  `orario` int(11) NOT NULL,
  `costo` int(11) NOT NULL,
  `note` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Struttura della tabella `partenze`
--

CREATE TABLE IF NOT EXISTS `partenze` (
  `id_partenza` int(11) NOT NULL,
  `nome_partenza` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Struttura della tabella `utenti`
--

CREATE TABLE IF NOT EXISTS `utenti` (
  `id_utente` int(11) NOT NULL,
  `nome` int(11) NOT NULL,
  `cognome` int(11) NOT NULL,
  `email` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Utenti';

/*!40101 SET [email protected]_CHARACTER_SET_CLIENT */;
/*!40101 SET [email protected]_CHARACTER_SET_RESULTS */;
/*!40101 SET [email protected]_COLLATION_CONNECTION */;
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
devi darci una ritoccatina

Codice:
CREATE TABLE IF NOT EXISTS `partenze` (
  `id_partenza` int(11) NOT NULL, AUTOINCREMENT, PRIMARYKEY
  `nome_partenza` varchar(50) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
l'id_partenza deve essere una chiave primaria e autoncrementarsi ad ogni inserimento
il nome_partenza non è un numero ma una stringa (bolzano)

Codice:
CREATE TABLE IF NOT EXISTS `destinazioni` (
  `id_destinazione` int(11) NOT NULL, AUTOINCREMENT, PRIMARYKEY
  `id_partenza` int(11) NOT NULL 
  `nome_destinazione` varchar(50) NOT NULL,
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
come sopra a parte che io per ordine logico metterei prima id_partenza poi nome_destinazione


Codice:
CREATE TABLE IF NOT EXISTS `linea_bus` (
  `id` int(11) NOT NULL, AUTOINCREMENT, PRIMARYKEY
  `id_partenza` int(11) NOT NULL,
  `id_destinazione` int(11) NOT NULL,
  `orario` int(11) NOT NULL,
  `costo` int(11) NOT NULL,
  `note` varchar(250) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
come sopra per l'id, poi
orario come pensi di inserirlo se es. 15:30 il campo sara varchar(5)
costo se in euro non dovrebbe essere un intero ma float es. per contenere 300.25
note non deve essere un numero ma una stringa


Codice:
CREATE TABLE IF NOT EXISTS `utenti` (
  `id_utente` int(11) NOT NULL,  AUTOINCREMENT, PRIMARYKEY
  `nome` int(11) NOT NULL,
  `cognome` int(11) NOT NULL,
  `email` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Utenti';
nome, cognome, email non sono numeri ma stringhe quindi varchar(250)
 

davidanna23

Utente Attivo
22 Lug 2012
43
0
0
Perfetto, sistemato, scusa ma non sapevo se mettere int o varchar (250), non sapevo la differenza. Ecco il risultato:
Codice:
-- phpMyAdmin SQL Dump
-- version 3.4.3.1
-- http://www.phpmyadmin.net
--
-- Host: davidanna23.com
-- Generato il: Lug 25, 2012 alle 15:54
-- Versione del server: 5.1.63
-- Versione PHP: 5.3.3-7+squeeze9

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */;
/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */;
/*!40101 SET @[email protected]@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `cuffaro`
--
-- --------------------------------------------------------

--
-- Struttura della tabella `partenze`
--

CREATE TABLE IF NOT EXISTS `partenze` (
  `id_partenza` int(11) NOT NULL, AUTOINCREMENT, PRIMARYKEY
  `nome_partenza` varchar(50) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------

--
-- Struttura della tabella `destinazioni`
--

CREATE TABLE IF NOT EXISTS `destinazioni` (
  `id_destinazione` int(11) NOT NULL, AUTOINCREMENT, PRIMARYKEY
  `id_partenza` int(11) NOT NULL 
  `nome_destinazione` varchar(50) NOT NULL,
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Struttura della tabella `linea_bus`
--

CREATE TABLE IF NOT EXISTS `linea_bus` (
  `id` int(11) NOT NULL, AUTOINCREMENT, PRIMARYKEY
  `id_partenza` int(11) NOT NULL,
  `id_destinazione` int(11) NOT NULL,
  `orario` int(11) NOT NULL,
  `costo` int(11) NOT NULL,
  `note` varchar(250) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


-- --------------------------------------------------------

--
-- Struttura della tabella `utenti`
--

CREATE TABLE IF NOT EXISTS `utenti` (
  `id_utente` int(11) NOT NULL,  AUTOINCREMENT, PRIMARYKEY
  `nome` varchar(250) NOT NULL,
  `cognome` varchar(250) NOT NULL,
  `email` varchar(250) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Utenti';

/*!40101 SET [email protected]_CHARACTER_SET_CLIENT */;
/*!40101 SET [email protected]_CHARACTER_SET_RESULTS */;
/*!40101 SET [email protected]_COLLATION_CONNECTION */;

Ma id_utente non dovrebbe essere anche varchar(250) o sbaglio? Poi mi sa che conviene inserire anche la password in utenti, vediamo se ho capito. Dovrei aggiungere un campo:
Codice:
`password` varchar(250) NOT NULL
Ma non in varchar mi sa, che tipo deve essere la password?
Per quanto riguarda gli orari, hai ragione tu, ma se vorrei far scegliere anche la data come faccio? Una nuova tabella, o lo aggiungo in partenze?
 

davidanna23

Utente Attivo
22 Lug 2012
43
0
0
Ciao e scusa se rispondo solo adesso, ma ho avuto degli impegni!
Comunque grazie per le guide che mi hai linkato, proprio quello che cercavo. Ho iniziato a leggere la prima guida e mi è venuto un piccolo dubbio:
https://www.mrw.it/mysql/guide/installare-mysql-windows_301.html
Qui dice di scaricare un software per gestire i database dal sito ufficiale Mysql. Io fino ad ora l'ho gestito da Phpmyadmin. Dovrebbe essere la stessa cosa no? O cambia qualcosa?
 

sixdas

Utente Attivo
25 Giu 2012
70
0
6
E la stessa cosa, il programma ti serve, se vuoi installare mysql sul tuo pc...
 

davidanna23

Utente Attivo
22 Lug 2012
43
0
0
Perfetto, ho studiato e ho capito abbastanza come funziona, anche se ancora non ho capito pasword che tipo di dato deve essere.
 

sixdas

Utente Attivo
25 Giu 2012
70
0
6
Perfetto, ho studiato e ho capito abbastanza come funziona, anche se ancora non ho capito pasword che tipo di dato deve essere.

In che senso? se intendi il tipo di campo, allora va bene anche un normale text, l'importante che quando salvi la password la cripti in md5 o meglio ancora in SHA1
 

davidanna23

Utente Attivo
22 Lug 2012
43
0
0
Ok grazie, ho riscritto tutto, mi dareste una controllatina:
Codice:
CREATE TABLE IF NOT EXISTS `partenze` (
  `id_partenza` int(11) NOT NULL, AUTOINCREMENT, PRIMARYKEY
  `nome_partenza` varchar(50) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Struttura della tabella `destinazioni`
--

CREATE TABLE IF NOT EXISTS `destinazioni` (
  `id_destinazione` int(11) NOT NULL, AUTOINCREMENT, PRIMARYKEY
  `id_partenza` int(11) NOT NULL
  `nome_destinazione` varchar(50) NOT NULL,
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Struttura della tabella `linea_bus`
--

CREATE TABLE IF NOT EXISTS `linea_bus` (
  `id` int(11) NOT NULL, AUTOINCREMENT, PRIMARYKEY
  `id_partenza` int(11) NOT NULL,
  `id_destinazione` int(11) NOT NULL,
  `orario` varchar(5) NOT NULL,
  `costo` float NOT NULL,
  `note` varchar(250) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Struttura della tabella `utenti`
--

CREATE TABLE IF NOT EXISTS `utenti` (
  `id_utente` int(11) NOT NULL,
  `nome` varchar(250) NOT NULL,
  `cognome` varchar(250) NOT NULL,
  `email` varchar(250) NOT NULL,
  `password` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Utenti';

Domanda: dopo che l'ho scritto come lo importo in phpmyadmin, ho provato con importa, ma non cambia nulla!
Grazie ancora!
 

davidanna23

Utente Attivo
22 Lug 2012
43
0
0
Ok, sistemato grazie, ma quando importo il file sql in phpmyadmin mi da errore e non cambia ne le tabelle ne niente! :(
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
se usi phpmyadmin nen serve che tu lo scriva da qualche parte e che poi lo importi
da phpadmin prima (se serve) crei database poi crei la tabella
 

davidanna23

Utente Attivo
22 Lug 2012
43
0
0
Ah ok, allora ho capito. Bene il database sembra pronto. Questo è il risultato:
Codice:
-- Struttura della tabella `destinazioni`
--

CREATE TABLE IF NOT EXISTS `destinazioni` (
  `id_destinazione` int(11) NOT NULL AUTO_INCREMENT,
  `nome_destinazione` int(11) NOT NULL,
  `id_partenza` int(11) NOT NULL,
  PRIMARY KEY (`id_destinazione`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Struttura della tabella `linea_bus`
--

CREATE TABLE IF NOT EXISTS `linea_bus` (
  `id` int(11) NOT NULL,
  `id_partenza` int(11) NOT NULL,
  `id_destinazione` int(11) NOT NULL,
  `orario` int(11) NOT NULL,
  `costo` int(11) NOT NULL,
  `note` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Struttura della tabella `partenze`
--

CREATE TABLE IF NOT EXISTS `partenze` (
  `id_partenza` int(11) NOT NULL AUTO_INCREMENT,
  `nome_partenza` varchar(11) NOT NULL,
  PRIMARY KEY (`id_partenza`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Struttura della tabella `utenti`
--

CREATE TABLE IF NOT EXISTS `utenti` (
  `id_utente` int(11) NOT NULL AUTO_INCREMENT,
  `nome` varchar(250) NOT NULL,
  `cognome` varchar(250) NOT NULL,
  `email` varchar(250) NOT NULL,
  `password` varchar(50) NOT NULL,
  PRIMARY KEY (`id_utente`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Utenti' AUTO_INCREMENT=1 ;

/*!40101 SET [email protected]_CHARACTER_SET_CLIENT */;
/*!40101 SET [email protected]_CHARACTER_SET_RESULTS */;
/*!40101 SET [email protected]_COLLATION_CONNECTION */;

Spero sia giusto, anche se non ho capito a cosa serve il primarykey che mi hai detto qualche giorno fa! Dove lo metto e a cosa serve?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
la primarykey è indispensabile, serve per identificare univocamente il record, altrimenti come fa a sapere dove inserire, quale modificare, quale eliminare.
poi conviene che la primaru key sia autoincrementabile, cioè al primo inserimenti (tabella vuota) il primo record diventa 1, al secondo il nuovo record prende 2, ecc...
 
Discussioni simili
Autore Titolo Forum Risposte Data
myprobsql Alias per i valori in un campo di una tabella Database MySql PHP 1
D Server VPS Aruba per database MySQL Server Dedicati e VPS 5
M Script per cancellare deti su database mysql per stikked PHP 0
G progetto per sito in php con database mysql MySQL 0
S Filtri multipli per database mysql PHP 1
Z Problema database MySQL con XAMPP PHP 0
G database mysql contengono informazioni ? MySQL 0
S filtrare database mysql MySQL 3
K [MySQL] Impostare Database MySQL 2
G Cambiare colore ad un record database mysql MySQL 0
N [MySQL] Importare un database da MAMP a Remoto MySQL 4
K [PHP + MYSQL ] Inserimento dati in database da form dinamico PHP 13
Q Problema su come far aggiornare i campi su un database Mysql PHP 17
N DATABASE MYSQL MySQL 2
gandalf1959 caricamento jpg in database mysql PHP 1
alessandra86 Importare un xlsx in un database Mysql PHP 2
I database mysql estrarre due tabelle Database 2
G importare database mysql dentro un contenitore (docker) PHP 6
paloppa Inserimento data su database MYSQL PHP 2
F Help-PDO copiare Database MySQL PHP 3
elpirata [MySQL] Normalizzare un database con migliaia di dati già inseriti MySQL 3
A [HTML] Invio Immagine da WebCam a Database MySQL IP Cam e Videosorveglianza 10
andrea93_12 Aiuto caricare immagine su database MYSQL MySQL 1
M Inserimento Array prelevato da Database in Php in un altra tabella mysql PHP 0
M Info invio dati a database mysql. PHP 32
F Visualizzare data in formato gg/mm/aaaa da database mysql. PHP 3
G [Javascript] jQuery PHP MySql - inserire variabile nel DataBase Javascript 8
Cycloid47 mysql database lavoro instabile MySQL 2
O [MySQL] Repliche database e MariaDB MySQL 0
G [MySQL] Un database che cresce in modo apparentemente anormale. MySQL 0
ANDREA20 php mysql database PHP 8
filippino [Javascript] Estrarre dati da database MySQL Javascript 1
G mysql - problemi inserimento dati nel database, consigli. MySQL 3
S Qualcuno ha mai creato grafici "google chart" collegati a database mysql? PHP 7
M Database MYSQL non viene caricato offline MySQL 0
asevenx Importare file excel in database mysql PHP 3
S Come inserire file in database Mysql senza scrivere codice PHP? PHP 0
P Problema apostrofo su database MySQL... MySQL 0
M database mysql Database 1
M Modifica e/o Cancellazione dati da database MySql PHP 2
asevenx Impossibile connettersi al database - mysql system error: 111 MySQL 3
xone Come effettuare backup del database mysql senza exec PHP 0
A scorrimento all'interno database mysql riportando dati su form (tipo Dataset) Ajax 5
N psw modificata del database mysql MySQL 1
P interagire con database mysql Javascript 3
A connessione ad un database mysql con javascript Javascript 1
R Errore di comunicazione con database Mysql PHP 5
M Creazione grafico ad istogrammi con dati estratti da database mysql PHP 5
filippino Come cancellare dati da un database MySQL? Database 1
D Scaricare database MYSql con una funzione MySQL 0

Discussioni simili