aggiornamento dati su tabelle collegate

megarospo

Utente Attivo
25 Set 2007
147
0
0
Ho 2 tabelle. Una chiamata "Utenti" con tre campi: id, nome, Cognome.
Una intitolata "Clienti", con vari campi tra cui: id, ragionesociale, idUtenti (questo campo è collegato a Id della tabella Utenti).
con un form php permetto ad un utente, dopo il login, di inserire un cliente. Tutto bene, solo che il campo IdUtente rimane vuoto.
Come posso far inserire l'Id dell'utente nella tabella clienti?
Grazie!
 

megarospo

Utente Attivo
25 Set 2007
147
0
0


Come lo useresti in questo codice?
<?php require_once('Connections/database.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "",

$theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" :

"NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO clienti (Nome, Cognome, RagSoc) VALUES (%s,

%s, %s)",
GetSQLValueString($_POST['Nome'], "text"),
GetSQLValueString($_POST['Cognome'], "text"),
GetSQLValueString($_POST['RagSoc'], "text"),

mysql_select_db($database_database, $database);
$Result1 = mysql_query($insertSQL, $database) or die(mysql_error());

$insertGoTo = "Agenti/AgentiLoginOK.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

</head>

<body>
<p>Inserimento clienti </p>
<p>&nbsp;</p>

<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">&nbsp;</td>
<td><input name="id" type="hidden" value="" /></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Nome del Referente o Direttore:</td>
<td><input type="text" name="Nome" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Cognome :</td>
<td><input type="text" name="Cognome" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">RagSoc:</td>
<td><input type="text" name="RagSoc" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">&nbsp;</td>
<td><input type="submit" value="Inserisci record"></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1">
</form>
<p>&nbsp;</p>


l'errore finale che ricevo al momento della conferma di diserimento è:
Cannot add or update a child row: a foreign key constraint fails

da cosa è causato?
Grazie.:)
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Ma sbaglio o nel tuo codice viene richiamata una sola tabella?
 

megarospo

Utente Attivo
25 Set 2007
147
0
0
Ma sbaglio o nel tuo codice viene richiamata una sola tabella?

Si. Non sbagli. Essendo le tabelle collegate credevo che l'id dell'utente che inseriva il nuovo record venisse inserito in automatico.
come posso correggerlo?
dell'errore che ricevo che ne pensi? (Cannot add or update a child row: a foreign key constraint fails)
Grazie.
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
1) Dopo che effettui la prima query ne esegui un'altra sulla seconda tabella, per ricarvarti l'id della prima utilizzando mysql_insert_id() semplcemente associandola come valore ad una variabile subito dopo l'esecuzione della INSERT.

2) Cannot add or update a child row si verifica di solito quando cerchi di inserire chiavi esterne in una tabella MyIsam, dovresti attivare il supporto innoDB:
mysqld_safe --user=root --default-storage-engine=InnoDB
 

megarospo

Utente Attivo
25 Set 2007
147
0
0
Grazie Eliox. il fatto è che sono agli inizi e quindi ho molte difficoltà anche a eseguire i tuoi consigli. devo proprio fare pratica.
Grazie per il tuo aiuto.
 
Discussioni simili
Autore Titolo Forum Risposte Data
L non duplicare dati in stato "aggiornamento" PHP 6
fabryx Aggiornamento automatico periodico dati mySQL PHP 6
D Problemi con form aggiornamento dati PHP 4
G Problemi con modifica dati in query di aggiornamento MS Access 6
N Problema aggiornamento dati con foreach PHP 1
Emix Problema Aggiornamento Dati del DB PHP 16
lab php e html - inserimento di dati in database e aggiornamento della pagina html PHP 2
A Ajax php mysql - problema aggiornamento dati Ajax 2
D Problema Aggiornamento Dati Mysql Su Server Aruba Hosting 3
F aggiornamento alternato dei dati da un db da asp Classic ASP 0
E Php aggiornamento tabella PHP 9
A Aggiornamento Windows blocca PC Windows e Software 1
A Tabella con bottoni per aggiornamento record PHP 6
Cosina script data aggiornamento pagina Javascript 1
S Aggiornamento lista record Database 2
C Aggiornamento automatico da un sito ad un’altro WordPress 0
R aggiornamento valore db in base all'orario PHP 1
strambotto Query di aggiornamento MS Access 0
S [PHP] aggiornamento table tramite select senza ricaricare la pagina PHP 5
A [WordPress] Aggiornamento tema - non apre più il sito WordPress 0
L [Javascript] Drag and drop. Aggiornamento Campo Javascript 2
Max 1 Aggiornamento Windows Windows e Software 1
A [HTML] alternative a Google Maps - aggiornamento condizioni giugno 2018 HTML e CSS 6
Y [PHP] Aggiornamento sito PHP 8
N Cerco sviluppatore ASP per aggiornamento sito e-commerce esistente Offerte e Richieste di Lavoro e/o Collaborazione 0
momeraths [WordPress] cURL error: problema aggiornamento/installazione plugin WordPress 4
D [WordPress] Aggiornamento a php 5.6 causa blackout del sito WordPress 2
alessandroz Select ... where... AND... aggiornamento PHP non funziona PHP 9
M [PHP] Far rimanere biffata checkbox dopo aggiornamento pagina PHP 24
M alert dopo aggiornamento automatico pagina php PHP 4
crealatualista [PHP] Aggiornamento data e ora PHP 2
V [PHP] aggiornamento automatico immagini sito web PHP 3
booklisa Errori wordpress personalizzazione tema post aggiornamento 4.7 CMS (Content Management System) 0
Eugene [PrestaShop v.1.6.1.11] Problemi post aggiornamento CMS (Content Management System) 1
P [PHP] Loop WHILE aggiornamento campi e tabelle. PHP 2
M Aggiornamento pagina php con ajax Ajax 2
Monital [Javascript]Barra di aggiornamento in pop pup Javascript 1
S [Javascript] Ultimo aggiornamento Javascript 6
D Creazione, riprogettazione e aggiornamento di siti web Offerte e Richieste di Lavoro e/o Collaborazione 0
E Richiamare funzione Jquery dopo aggiornamento parziale di pagina tramite ajax jQuery 0
P Aggiornamento vecchio sito Webdesign e Grafica 2
PikNuke Query senza aggiornamento pagina Ajax 1
gandalf1959 Aggiornamento di una variabile da un form PHP 7
F Aggiornamento variabili php PHP 1
P Problema tasferimento magento su altro server > mostra pagina "negozio in aggiornamento" Magento 0
T Problema con l'aggiornamento di una tabella <Table> PHP 5
C Aggiornamento automatico tabella db sql PHP 1
I aggiornamento pagina PHP 4
A Aggiornamento Hardware Hardware 1
P Creazione maschera con aggiornamento automatico MS Access 0

Discussioni simili