Ciao a tutti...
Ho voluto creare un sistema per fare lq query in automatico, cosi da evitare ogni volta di dover scrivere tutto... ve lo passo nel caso possa esservi utile...
Codice PHP:
$tabella = $_POST['tabella']; // Recupero il nome della tabella
$Escluso = array ('Submit', 'tabella', 'gg', 'mm', 'aaaa'); // Creo l'array degli elementi che non vanno inseriti nell'array $InsertData creato nel passo dopo
// ESTRAGGO I DATI RICEVUTI E LI METTO NELL'ARRAY $InsertData
foreach ($_POST as $key => $val){ // Creo un ciclo per estrarre sia gli indici che i rispettivi valori degli elementi mandati via POST
if (!in_array ($key, $Escluso)) { // Se il valore di $key non è presente nell'array $Escluso allora fammi:
$InsertData [$key] = $val; // Inserisco i dati nel mio nuovo array che poi inserirò nella tabella
}
}
/////// nel caso ci fossero dei dati che hanno bisogno di elaborazione speciale, li elaboro e poi li inserisco nell'array... per es:
///////////////////////////////////////////////////// DATA
$gg=$_POST['gg'];
$mm=$_POST['mm'];
$aaaa=$_POST['aaaa'];
$dataIn = @checkdate($mm, $gg, $aaaa);
if (!$dataIn){
echo "La data inserita non è valida. <a href=\"javascript:history.back()\">INDIETRO.</a>";
exit;
}
$data = $aaaa.$mm.$gg; // creo la variabile $data da inserire nell'array
$InsertData ['data'] = $data;
unset ($Escluso); // Elimino gli array che non mi servono più
////////////////////////////////////////////// FORMATTO I DATI E LI INSERISCO NELL'ARRAY $FormatData
foreach ($InsertData as $key => $val){
$val = trim(addslashes(stripslashes($val)));
$val = str_replace ("<", "<", $val);
$val = str_replace (">", ">", $val);
$val = str_replace ("\"", """, $val);
$val = nl2br($val);
$val = str_replace ("\n", "", $val);
$FormatData [$key] = $val;
}
// CREO DALL'ARRAY $InsertData LA STRINGA SQL
$sql = "INSERT INTO " . $tabella . " (";
$sql .= implode (", " , array_keys($FormatData)); // Implode con array_keys mi restituisce una stringa delle key separate da virgole
$sql .= ") VALUES (";
$sql .= "'" . implode ("', '" , $FormatData) . "'"; // Implode mi restituisce una stringa dei valori separati da virgole
$sql .= ")";
// PASSO ALLA CONNESSIONE CON IL DB E ALL' INSERIMENTO DATI
include ("include/conn.inc.php");
mysql_db_query($db_name, $sql, $db) or die ("
Non riesco a inserire i dati.");
echo "
Inserimento dati avvenuto correttamente.";
mysql_close();
La stessa cosa si può fare per un UPDATE.
Spero per una volta di esservi stato io d'aiuto.
Consigli e modifiche sono ben accette!