Supponiamo che tu abbia la tua pagina index.html con il form per inserire i nomi separati da una virgola e il tuo script ajax per l'invio dei dati:
<input type="text" class="form-control mb-2" name="nomi" placeholder="Nomi" value="Mario, Sara, Antonio, Lucia ">
a questo punto creerai la tua pagina insert.php per la ricezione e inserimento dei dati nel tuo database:
include("database.php");
$nomi = explode(",", $_POST['nomi']);
foreach($nomi as $nome) {
$stmt = $conn->prepare("INSERT INTO nomi(nome) VALUES (?)");
$stmt->bind_param("s", $nome );
$nome = trim($nome);
$stmt->execute();
}
in seguito la tua tabella nomi potrà essere popolata in questa maniera:
Come funziona lo script?
Innanzitutto dovrai intercettale la tua variabile POST['nomi'] e memorizzarla in un' altra variabile $nomi:
$nomi = explode(",", $_POST['nomi']);
e cosi utilizzare la funzione explode() di php per spezzare la stringa in un array grazie al separatore ( ", " ) , dopodiché passare la variabile array $nomi[] in un ciclo di foreach.
In questo ciclo la variabile $nomi verrà passata al valore corrispondente:
$nomi[0] //mario
$nomi[1] //sara
$nomi[2] //antonio
...
sempre nel ciclo foreach eseguireno la nostra query di inserimento:
$stmt = $conn->prepare("INSERT INTO nomi(nome) VALUES (?)");
$stmt->bind_param("s", $nome );
$nome = trim($nome);
$stmt->execute();
Ho inserito la funzione trim() per eliminare eventuali spazi prima o dopo ogni nome da inserire.