stai facendo una echo per definire una espressione, sono 2 cose diverse
Se $array_col e' un' array bidimensionale dove definisci il nome delle colonne puoi fare cosi:
Codice PHP:
$array_col = array("colonna1"=>"nome", "colonna2"=>"cognome");
$sql = "INSERT INTO ". $_GET['table']. " (colonna_autoincrement,";
//questo per capire se sei all' ultimo ciclo
$c = 1;
foreach ($array_col as $key => $col)
{
if ($key != "PRI")
{
//inserisci la virgola solo se $c = al numero degli elementi di $array_col
$virgola = $c == count($array_col) ? "" : ",";
$sql .= $col.$virgola;
//Ad ogni ciclo il contatore aumenta di 1
$c++;
}
}
//Stessa cosa per i valori, immagino tu abbia chiamato i campi del modulo come le colonne
//Do per scontato che tu abbia una colonna autoincrement, quindi aggiungo '' come valore iniziale
$sql .= ") VALUES ('',";
$c = 1;
foreach ($array_col as $key => $value)
{
$virgola = $c == count($array_col) ? "" : ",";
$sql .= "'" . $_POST[$value] . "'" . $virgola; $c++;
}
$sql .= ")";
mysql_query($sql);
se fai un print di $sql vedi che la stringa è perfetta, non ti preoccupare per gli apici con i numeri perchè mysql li accetta lo stesso