SleepyCod dediği gibi, meme bahis foreach
çalışıyor, ancak cevap üzerine genişletilmiş gerekiyor:
- Form alanları tabloya eşdeğer var mı?
- Is each form being used to
UPDATE
or INSERT
into more than table?
Bu benim web sayfası için yaptığım bir şey çünkü ben sormak nedenidir. Ben, şema alınır tablo söz sorgulanan dinamik bir formu yapı oluşturduk ve bir foreach
+ switch()
alan kullanılacak NE belirlemek için kullanılır.
Ama bu ne soruyorsun değil.
Yani, yerine sana vermek:
// Assuming one table:one form, and each input-name = column name.
//strip array $_POST into its key and value.
foreach($_POST as $key => $val) {
$vals .= "'$val', ";
$keys .= "`$key`, ";
}
// Lest we want to generate errors, shave off the trailing comma and whitespace.
$keys_strip = substr($keys, 0, -2);
$vals_strip = substr($vals, 0, -2);
$sql = mysql_query("INSERT INTO t1 ($keys_strip) VALUES ($vals_strip)");
Birden fazla tablo için, biraz yanıltıcıdır var. Her formun başında belirlemek hızlı kullanmayı tercih ediyorum, bu yüzden aşağıdakileri yapabilirsiniz:
// Assuming two+ table:one form, for each input, name='t1:column_name'; assume tables are defined in an array per form for easy reference.
//strip array $_POST into key and value, then separate the key into two separate fields. This will ONLY work for t1:column-name set up; an if statement can be put in to deal with the remaining information.
foreach ($_POST as $key as val) {
// This will result in keys_t1 = key and vals_t1 = val.
if (preg_match('/^(\w.+):(\w.+)$/', $key, $t_key)) {
${"keys_".$t_key[1]} = "$t_key[2], ";
${"vals_".$t_key[1]} = "$var, ";
}
}
// Assume $tables array, containing tables for THIS insert.
foreach ($tables AS $table) {
$keys_strip = substr(${"keys_".$table}, 0, -2);
$vals_strip = substr(${"vals_".$table}, 0, -2);
$sql = mysql_query("INSERT INTO table ($keys_strip) VALUES ($vals_strip)");
}
Bazı takım bu doğru işe almak için gerekli olabilir, ama gitmek için gereken yere götürmeliyiz. Bu olacak sadece INSERT
formu-tabanlı bilgi aslında sakıncası. Bir şeye ihtiyacın varsa ... iyi ... Ben kuvvetle gizli bir giriş türü kullanmanızı öneririz.