La scelta di usare il nominativo è dettata dal fatto che quella tabella verrà usata per fare dei ricorrenti import/export di file csv..
Non è così che funziona una base di dati relazionale.
Hai diverse entità in gioco, e queste sono o possono essere in relazione tra loro. In questo caso hai degli users e delle persone (qualunque sia il modo in cui hai chiamato la tabella). Queste persone hanno un consulente, che è uno degli users: una persona quindi è relazionata ad un user, non ad un nominativo.
Non si tratta solo di un concetto filosofico, ci sono implicazioni concrete: supponiamo tu abbia almeno due users con lo stesso nominativo. Se nella tabella persone inserisci solo il nominativo, non puoi più identificare univocamente il consulente, e questo è un problema.
Altra implicazione: si verifica un errore accidentale durante la scrittura dei dati nella tabella persone e, al posto del nominativo di uno degli users viene inserito un nome falso. Col tuo approccio sei fregato. Prima o poi -forse- ti accorgerai dell'errore se ispezioni manualmente i dati. Se anziché il nominativo usi, invece, un id (o una qualsiasi altra chiave), puoi avvalerti degli strumenti che la base di dati ti mette a disposizione per prevenire questi errori. Per la precisione si tratta di definire una chiave esterna.
La normalizzazione delle basi di dati è una tecnica standard, non c'è motivo di non seguirla (anzi...).
quindi come faccio a passare anche un altra var?
Come già accennato, non puoi.
mi potresti fare un esempio di quello che intendi?
Pagina con il form:
Codice PHP:
<select name="consulente">
<?php
$query = "SELECT id, nominativo FROM users ORDER BY nominativo";
$result = mysqli_query($conn, $query) or die (mysqli_error($conn));
while ($row = mysqli_fetch_assoc($result)) {
echo '<option value="' . $row['id'] . '">' . $row['nominativo'] . '</option>';
}
?>
</select>
Pagina che riceve i dati:
Codice PHP:
...
$id_consulente = $_POST['consulente'];
$query = "SELECT * FROM users WHERE id = $id_consulente";
$result = mysqli_query($conn, $query) or die(mysqli_error($conn));
$consulente = mysqli_fetch_assoc($result) or die("Wrong user ID");
...
$corpo_email = "Il consulente è " . $consulente['nominativo']
. ", il suo numero di telefono è " . $consulente['telefono']
. " ed il suo numero di scarpe è " . $consulente['calzature'];
...
$query = "INSERT INTO persone(nome, cognome, citta, consulente) VALUES('$nome', '$cognome', '$citta', $id_consulente)";
mysqli_query($conn, $query) or die(mysqli_error($conn));
...
Infine, nella pagina che esporta il CSV:
Codice PHP:
$query = "SELECT * FROM persone JOIN users ON persone.consulente = users.id";
...