Ho creato un database con nome "prova", con tre campi.
1) id auto incrementante
2) nome
3) descrizione
una pagina form con questo codice:
form.php
<!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" />
<title>Documento senza titolo</title>
</head>
<body>
<p>inserimento di massa</p>
<form id="form1" name="form1" method="post" action="inserisci.php">
<label>inserisci il Testo:<br />
<textarea name="textfield" cols="100" rows="10"></textarea>
</label>
<p>ATTENZIONE: PRIMA DI CLICCARE CONTROLLA ACCURATAMENTE SE NO FAI UN GRAN CASINO!!</p>
<p>
<label>
<input type="submit" name="Submit" value="PERICOLO DI MORTE" />
</label>
</p>
</form>
<p> </p>
</body>
</html>
/////////////////////////////////////////////////////////////////
e poi il nostro file per l'inserimento di massa - inserisci.php
<?php
if (!isset($_SESSION)) {
session_start();
}
require_once('database.php');
//inserire codice per limitare l'accesso se non è stato fatto il login
//richiamo e creo la variabile $testo dal form.
if (isset($_SESSION['testo'])) {
$_SESSION['testo'];
}
else {
echo "variabile $testo non inizializzata. Controlla lo script";
}
$db = mysql_connect($db_host, $db_user, $db_password);
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database.");
//la variabile $testo puo venire da un form o dalla lettura di un file.txt. (in questo caso proviene da form)
//da verificare quanto è la lunehezza massima di una stringa php, non so se ci sono dei limiti (credo che non ci siano limiti se non in impostazioni del php.ini ma comunque altissime)
//eventualmenti si può spezzare il txt in tanti txt più corti
$record=explode("|",$testo);//divido i record
foreach($record as $value){//comincio a ciclare i record
$campo=explode("*", $value); //suddivido il record in campi
//verifico se il record esiste
$esiste=mysql_num_rows(mysql_query("SELECT * FROM prova WHERE nome='$campo[0]'"))
if($esiste == 0){//non esiste e quindi inserisco
//devo trimmare i valori (vedi sotto)
$campo[0]=trim($campo[0]);
$campo[1]=trim($campo[1]);
$query="INSERT INTO prodotti(nome,descrizione) VALUES(nome='$campo[0]', descrizione='$campo[1]'";
mysql_query($query);
}//fine if esiste
}//fine forech
?>
<!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" />
<title>Documento senza titolo</title>
</head>
<body>
</body>
</html>
///////////////////////////////////////////////////////////
manca sicuramente qualcosa, ma per il momento il tempo a mia disposizione è finito
Intanto vi invio quello che ho potuto buttar giù. :book:
Ciao!