有幾個小事情錯了,用你的URL字符串我得到它的工作,見下圖:
$row_Num = 1;
$i = 0;
while ($i <= $row_Num) {
// In the $_REQUEST you were indexing the curly braces, remove them.
${"date_" . $i} = $_REQUEST["date_$i"];
${"text_" . $i} = $_REQUEST["text_$i"];
${"con_name_" . $i} = $_REQUEST["con_name_$i"];
${"con_phone_" . $i} = $_REQUEST["con_phone_$i"];
$values = array(
${"date_" . $i},
${"text_" . $i},
${"con_name_" . $i},
${"con_phone_" . $i}
);
// Not printr() And this is how I print arrays, it is cleaner.
echo '<pre>', print_r($values, true), '</pre>';
$i++;
}
輸出:
Array
(
[0] => 000000
[1] => QWERTY
[2] => iuytre
[3] => 0000000000
)
Array
(
[0] => 111111
[1] => ASDFGHJK
[2] => lkjhgfd
[3] => 1212121212
)
編輯
我我還不清楚你如何設置$row_Num
。
$_SESSION['row_Num'] = $_REQUEST["row_Num"];
這並沒有告訴我,因爲$_REQUEST
字符串你是顯示不包含「ROW_NUM」任何東西。因此,由於您的查詢需要DATE
我做了foreach
循環來計算DATE
出現多少次。嘗試下面的代碼並讓我知道。
$i = 0;
$count = 0;
// I added this line to take care of how many times the loop runs
foreach ($_REQUEST as $key => $value) { (strstr($key, 'date')) ? $count++ : NULL; }
// Changed '<=' to '<' because it would loop 3 times since we start $i at 0.
// $i needs to remain at 0 since your URL substring indexing starts at 0.
while ($i < $count) {
${'date_' . $i} = $_REQUEST["date_$i"];
${'text_' . $i} = $_REQUEST["text_$i"];
${'con_name_' . $i} = $_REQUEST["con_name_$i"];
${'con_phone_' . $i} = $_REQUEST["con_phone_$i"];
$values = array(
${"date_" . $i},
${"text_" . $i},
${"con_name_" . $i},
${"con_phone_" . $i}
);
### Echo for troubleshooting ###
echo '<pre>', print_r($values, true), '</pre>';
$sql = "INSERT INTO `data`.`".$datetoday."` (`KEY`,`DATE`,`COLOR`,`TEXT`,`CON_NAME`,`PHONE`) VALUES
(
'".$i."',
'".$values[0]."',
'FFFFFF',
'".$values[1]."',
'".$values[2]."',
'".$values[3]."'
)";
### Echo for troubleshooting ###
echo '<pre>', $sql, '</pre>';
$result = mysql_query($sql, $link) or die ('Could not insert values: '.mysql_error());
$i++;
}
輸出:
Array
(
[0] => 000000
[1] => QWERTY
[2] => iuytre
[3] => 0000000000
)
INSERT INTO `data`.`280313` (`KEY`,`DATE`,`COLOR`,`TEXT`,`CON_NAME`,`PHONE`) VALUES
(
'0',
'000000',
'FFFFFF',
'QWERTY',
'iuytre',
'0000000000'
)
Array
(
[0] => 111111
[1] => ASDFGHJK
[2] => lkjhgfd
[3] => 1212121212
)
INSERT INTO `data`.`280313` (`KEY`,`DATE`,`COLOR`,`TEXT`,`CON_NAME`,`PHONE`) VALUES
(
'1',
'111111',
'FFFFFF',
'ASDFGHJK',
'lkjhgfd',
'1212121212'
)
Localhost不適用於我們:-)此外,您可能還想回到PHP的基礎知識。這遠不是合乎邏輯的,而是你在這裏試圖做的簡單事情。 printr()也不是一個函數(不是默認的 - > print_r())。以及爲什麼創建變量再次以非常怪異的方式重用它們。 – 2013-03-27 15:16:01
您確認'$ row_Num'大於或等於'1'嗎?換句話說,你確定你正在進入'while'循環嗎? – jnthnjns 2013-03-27 15:19:00
謝謝, 但我仍然不明白爲什麼它不起作用。 需要在數組部分中更改哪些內容? – user2216190 2013-03-27 15:21:46