Grazie in anticipo.
Ho bisogno di una mano per l'inserimento di record in mysql.
Caratteristiche della tabella:
L' indice primario della tabella è un contatore automatico.
Nella tabella tutti clienti inseriscono le varie righe dell'ordine.
Per l'inserimento delle righe dell'ordine ho pensato di creare un indice univoco formato dai seguenti campi (codcliente, codzona e idrigaordine) dove i campi codcliente e codzona nella fase di inserimento righe avranno lo stesso valore per ciascun cliente e cio che distingue ogni rigaordine dall'tra è il campo idrigaordine che incremento manualmente.
il codice è questo: gli indici li ho impostati direttamente nella tabella.
Non so se il codice è corretto, forse manca qualcosa, ad ogni modo il problema che mi sono posta è che se due persone con lo stesso codcliente e codzona inseriscono un ordine nello stesso preciso momento, so che magari è insolito ma se succede io potrei generare dei valori duplicati per il campo idrigaordine, causando una serie di errori a catena, nel database e nella lettura dell 'ordine...come posso evitarlo?
grazie per tutte le eventuali dritte.
grata. :love:
Ho bisogno di una mano per l'inserimento di record in mysql.
Caratteristiche della tabella:
L' indice primario della tabella è un contatore automatico.
Nella tabella tutti clienti inseriscono le varie righe dell'ordine.
Per l'inserimento delle righe dell'ordine ho pensato di creare un indice univoco formato dai seguenti campi (codcliente, codzona e idrigaordine) dove i campi codcliente e codzona nella fase di inserimento righe avranno lo stesso valore per ciascun cliente e cio che distingue ogni rigaordine dall'tra è il campo idrigaordine che incremento manualmente.
il codice è questo: gli indici li ho impostati direttamente nella tabella.
Codice:
//di seguito prendo il valore piu alto del campo idrigaordine e poi lo incremento per il prossimo inserimento
$querymax = "SELECT *,MAX(INDICEART) as idrigaordine FROM insart WHERE (codcliente= '$codcli' AND codzona = '$coddest')";
$resultindice =mysqli_query($connessione,$querymax) or die (mysqli_error($connessione));
$row = mysqli_fetch_array($resultindice);
//questo è il contatore che incremento
$ID_RIGA_ORD=($row[idrigaordine ]+1);
//ora inserisco le righe dell'ordine di un determinato cliente.
$query = "INSERT INTO insart (codcliente,codzona ,idrigaordine,CODART,DESCRIZIONE)VALUES('$codcliente,'$codzona ,'$idrigaordine,'$CODART,'$DESCRIZIONE')";
$resultriga = mysqli_query($connessione,$query);
if(!$resultriga)
die(mysqli_error($connessione));
mysqli_close;
// faccio il close una volta sola giusto?
Non so se il codice è corretto, forse manca qualcosa, ad ogni modo il problema che mi sono posta è che se due persone con lo stesso codcliente e codzona inseriscono un ordine nello stesso preciso momento, so che magari è insolito ma se succede io potrei generare dei valori duplicati per il campo idrigaordine, causando una serie di errori a catena, nel database e nella lettura dell 'ordine...come posso evitarlo?
grazie per tutte le eventuali dritte.
grata. :love: