Page 1 of 1

รบกวนอธิบายโค๊ดหน่อยครับ นิดเดียว

Posted: 13/04/2007 6:19 pm
by เอาดะคุง
foreach($_POST as $key => $value) {
$$key = $value;
}

หมายความว่าอย่างไรครับ เพราะมันอยู่บนสุดของโค๊ดครับ

////////// ข้างล่างนี้คือโค๊ดแบบเต็ม ๆ ครับ


foreach ($_POST as $key => $value){
$$key = $value;
}
$conn = mysql_connect (SQL_HOST,SQL_USER,SQL_PASS)
or die ('Could not connect to Mysql database. ' .mysql_error());
mysql_select_db(SQL_DB,$conn);

switch ($action){

case "Create Character":
$sql = "INSERT IGNORE INTO char_zipcode (id, city, state) " .
"VALUES ('$zip', '$city', '$state')";
$result = mysql_query($sql)
or die(mysql_error());

$sql = "INSERT INTO char_lair (id, zip_id, lair_addr) " .
"VALUES (NULL, '$zip', '$address')";
$result = mysql_query($sql)
or die(mysql_error());
if ($result) {
$lairid = mysql_insert_id($conn); //* mysql_insert_id ให้เพิ่ม ID ใน Mysql Auto นะก๊าบ
}

$sql = "INSERT INTO char_main (id,lair_id,alias,real_name,align) " .
"VALUES (NULL, '$lairid', '$alias', '$name', '$align')";
$result = mysql_query($sql)
or die(mysql_error());

if ($result) {
$charid = mysql_insert_id($conn);
}

if ($powers != "") {
$val = "";
foreach ($powers as $key => $id) {
$val[] = "('$charid', '$id')";
}

$values = implode(',', $val);
$sql = "INSERT IGNORE INTO char_power_link (char_id, power_id) " .
"VALUES $values";
$result = mysql_query($sql)
or die(mysql_error());
}
if ($enemies != '') {
$val = "";
foreach ($enemies as $key => $id) {
$val[] = "('$charid', '$id')";
}
$values = implode(',', $val);
if ($align = 'good') {
$cols = '(good_id, bad_id)';
} else {
$cols = '(bad_id, good_id)';
}
$sql = "INSERT IGNORE INTO char_good_bad_link $cols " .
"VALUES $values";
$result = mysql_query($sql)
or die(mysql_error());
}
$redirect = 'charlist.php';
break;

Posted: 13/04/2007 7:48 pm
by mindphp
foreach ($_POST as $key => $value){
$$key = $value;
}
เป็น การ วน loop ตัวแปล array ( $_POST) ที่รับ มาจาก form post แล้ว ใส่ ค่าที่ได้ไว้ ในตัวแปล $key
ซึ่ง ตัว แปล $key จะเป็นตัวแปลที่ชื่อ เหมื่อน index ของ ตัวแปล $_POST เปลี่ยน ค่าไป เรื่อยๆ จนหมด loop

ถ้างง กับคำอธิบาย ก็ ลอง
ใส่ echo ตัวแปลที่งง เข้าไปใน Loop ดูได้คับ

Posted: 13/04/2007 10:46 pm
by เอาดะคุง
มีตัวอย่างแบบง่าย ๆ หรือเปล่าครับ รบกวนด้วยนะครับผมมือใหม่ แต่ฝักไฝ่ PHP มาก ๆ เลยครับ

Posted: 13/04/2007 10:50 pm
by mindphp
foreach ($_POST as $key => $value){
$$key = $value;
echo $$key;
echo $value;
}

Posted: 14/04/2007 10:57 am
by เอาดะคุง
ขอบคุณมาก ๆ คร๊าบ :-D