Problema inserimento nuovo record da form

ste902

Utente Attivo
15 Nov 2012
32
0
0
Ciao a tutti! Ho tre tabelle:
Professori: (CodP, Nome, Cognome, DataNascita)
Corsi: (CodCorso, Titolo, NumCrediti, DataAttivazione)bene
Consulenze (CodP, CodCorso, Data, OraInizio, OraFine)
Ho un form dove posso inserire un nuovo corso, scegliendo un CodP esistente e creare una nuova consulenza.
Se va tutto bene, la nuova pagina php mi deve scrivere ciò:
HTML:
Il corso $CodCorso è stato inserito nel database e la consulenza per tale corso è stata fissata per il giorno $Data.
.
Il form l'ho già fatto, non so come fare 2 query e un messaggio di avvenuto successo relativo ad entrambe le query.
Per ora ho scritto questo:
PHP:
<html>

<head>
<title>CorsoInserito</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
</head>
<body>
<?php
/* ASSEGNAZIONE VARIABILI */

$CodC = $_GET["CodCorso"];
$Tit = $_GET["Titolo"];
$Cred = $_GET["Crediti"];
$DataA = $_GET["DataAtt"];
$Data = $_GET["Data"];
$OraI = $_GET["OraI"];
$OraF = $_GET["OraF"];
$CodP = $_GET["CodP"];


/* CONNESSIONE AL DB*/

if( !mysql_connect("localhost","root","") ){
  die('Connect error: ' . mysql_error());}

if( !mysql_select_db("docenti") ){
  die('Select error: ' . mysql_error());}

/* QUERY SQL */
$query = "INSERT INTO Corsi
         (CodCorso, Titolo, NumCrediti, DataAttivazione)
VALUES   ('$CodC', '$Tit', '$Cred', '$DataA');
INSERT INTO CONSULENZE
         (CodP, CodCorso, Data, OraInizio, OraFine)
VALUES   ('$CodP', '$CodC', '$Data', '$OraI', '$OraF')";

$result = mysql_query($query);

if (!$result) {
  die("Errore nella query $query: " . mysql_error());
}

// chiudo la connessione a MySQL
mysql_close();


?>
</body>

</html>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
147
63
PR
www.borgo-italia.it
ciao
potresti risolvere così
PHP:
<?php
//...........
$query_1 = "INSERT INTO Corsi
         (CodCorso, Titolo, NumCrediti, DataAttivazione)
VALUES   ('$CodC', '$Tit', '$Cred', '$DataA')";
$query_2 ="INSERT INTO Consulenze
         (CodP, CodCorso, Data, OraInizio, OraFine)
VALUES   ('$CodP', '$CodC', '$Data', '$OraI', '$OraF')";
if(mysql_query($query_2)){
	echo "errore nella query corsi: ".mysql_error());
}else{
	echo "corso inserito";
}
if(mysql_query($query_1)){
	echo "errore nella query consulenze: ".mysql_error());
}else{
	echo "consulenza inserita";
}
//..........
?>

p.s.
perchè usi il metodo GET? il metodo POST è più sicuro.
poi sarebbe opportuno fare dei controlli sui dati ricevuti dal form

edit
mi sembra che la consulenza debba essere legata al nuovo corso (vero?) se è così dopo l'insert del corsi devi leggere last_id (cioè l'id che o stato inseriti nella tabella con l'inserimento) e quindi usarlo nell'insert della consulenza
 
Ultima modifica:

ste902

Utente Attivo
15 Nov 2012
32
0
0
Grazie! Purtroppo la stampata di avvenuto inserimento defo farla in una riga unica come nell'esempio che ho scritto prima. Posso annidare 2 if? Non ho capito cosa intendevi con last_id, sapresti farmi un esempio? COmunque si la consulenza è riferita al nuovo corso che inserisco!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
147
63
PR
www.borgo-italia.it
ciao
prima di proseguire.
mi è venuto un dubbio: potresti postare il dump delle tabelle?
CodP e CodCorso sono gli id univoci del record?
 
Ultima modifica:

ste902

Utente Attivo
15 Nov 2012
32
0
0
Ti allego lo script sql della creazione database:

Codice:
SET storage_engine=InnoDB;
SET FOREIGN_KEY_CHECKS=1;
CREATE DATABASE IF NOT EXISTS Docenti;
USE Docenti;
DROP TABLE IF EXISTS Professori;
DROP TABLE IF EXISTS Corsi;
DROP TABLE IF EXISTS Consulenze;

CREATE TABLE IF NOT EXISTS Professori (
CodP VARCHAR(15) UNIQUE NOT NULL,
Nome VARCHAR(255) NOT NULL,
Cognome VARCHAR(255) NOT NULL,
DataNascita DATE NOT NULL,
NumCel VARCHAR(255) NULL,
PRIMARY KEY (CodP));

CREATE TABLE IF NOT EXISTS Corsi (
CodCorso VARCHAR(15) UNIQUE NOT NULL,
Titolo VARCHAR(255) NOT NULL,
NumCrediti SMALLINT NOT NULL,
DataAttivazione DATE NOT NULL,
PRIMARY KEY (CodCorso)
);

CREATE TABLE IF NOT EXISTS Consulenze (
CodP VARCHAR(15) NOT NULL,
CodCorso VARCHAR(15) NOT NULL,
Data DATE NOT NULL,
OraInizio TIME NOT NULL,
OraFine TIME NULL,
PRIMARY KEY (CodP, CodCorso, Data, OraInizio),
FOREIGN KEY (CodP)
REFERENCES Professori (CodP)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY (CodCorso)
REFERENCES Corsi (CodCorso)
ON DELETE CASCADE
ON UPDATE CASCADE);
 
Discussioni simili
Autore Titolo Forum Risposte Data
P Problema Inserimento nuovo element database... MySQL 3
O [risolto] Inserimento nuovo campo in mysql. Problema PHP 6
S problema con inserimento nuovo record PHP 6
M Problema inserimento parole con apostrofo nel db PHP 5
beatle [Photoshop] problema inserimento immagini Photoshop 1
G inserimento csv in tabella mysql; problema con struttura PHP 11
P [PHP] Problema inserimento nuove chiavi in array PHP 2
giuseppe_123 [WordPress] Problema inserimento widget nel footer WordPress 0
T Problema inserimento dati in phpmyadmin PHP 2
L Problema Inserimento Azioni Su mappa vettoriale Javascript 0
otto9due Problema inserimento ciclo foreach o while in variabile PHP 1
M Problema inserimento dati in sqlite Sviluppo app per Android 1
M Problema con modulo registrazione e inserimento dati in database PHP 8
Marcoingrande Problema inserimento testo in <ul> PHP 0
P Problema inserimento controllo su script multiupload... PHP 2
radioButton Problema inserimento stringa con apostrofo in database sql Database 21
B Problema inserimento dati con apostrofo MySQL 1
Emix Problema query inserimento... PHP 6
N problema inserimento record multipli col tasto f5 PHP 6
P Problema inserimento articolo con piu' tabelle PHP 1
EffeElle Php problema su inserimento dati mysql PHP 47
M problema con l'inserimento di dati in un tag input PHP 3
P problema inserimento dato in rubrica PHP 9
Dexter_90 [AIUTO!] Problema Inserimento Menu Fireworks nell'Header WordPress 11
A problema con l'inserimento di valori in una tabella dopo una ricerca da form Classic ASP 1
E Problema inserimento LIKE BOX facebook HTML e CSS 3
B Problema di inserimento "menu con css" in pagina web "con tabelle" HTML e CSS 5
J Problema con inserimento dati tabella PHP 4
asevenx problema inserimento database nel sito online MySQL 3
asevenx problema con l'inserimento di un record nel database (caratteri non consentiti) PHP 11
G Help - Problema inserimento dati in maschera MySQL 4
T problema inserimento testo attraverso istruzione insert ASP.NET 1
G Problema inserimento dati in una maschera Database 0
N [PHP/MySQL] Problema inserimento stringhe ' or ', ' and ' PHP 2
G problema con inserimento dati PHP 4
A Problema inserimento in puù tabelle Database 1
A problema inserimento foto PHP 0
F Problema inserimento dati Classic ASP 1
F Problema con il modulo inserimento record Classic ASP 1
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 0
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7
S problema salvataggio immagini Photoshop 0
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6

Discussioni simili