作者Talenius (Harmonic Inspirations)
看板PHP
标题[请益] phpMyAdmin载入csv後,资料表内容的顺序…
时间Wed Feb 23 20:55:26 2011
使用phpMyAdmin载入csv的设定:
载入档案格式: 选CSV使用LOAD DATA
「栏位分隔」使用字元: ,
「栏位」使用字元: (空白)
「ESCAPE」使用字元: (空白)
其余均未变动
而该csv档是由xls档另存新档产生的
在第一行有依列顺序由上而下编数字: 1, 2, 3...
载入phpMyAdmin後浏览该资料表
很明显可以看到第一行没有依数字排: 5, 6, 7, 1, 2, 3...
( 虽然该列的其它资料没有错)
如果不会影响php读取资料表的正确性
那出现这样的结果也是可以接受
但实际上在php读取该资料表时
也很明显出现资料不符的情况
例如我原本要读取第5列
但取出却是第10列
请问这是不是在载入时出现的问题?
请问要如何解决?
谢谢
这是读取MySQL的程式:
$i = 1;
$j = 0;
while($row = mysql_fetch_row($result)){
for ($r = 0; $r < $table_width; $r++){ // Get data
$wData[$i][$j] = $row[$r];
$j++;
}
if($j == $table_width) { // Change to Next
$i++;
$j = 0;
}
}
$S_NOW = $i;
echo $S_NOW;
echo $wData[$S_NOW-1][0]; // $wData[X][0]依列存放数字1, 2, 3,...
结果:
$S_NOW得到的值为323
而$wData[$S_NOW-1][0]; 得到的值为1 (应为322)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.13.187
※ 编辑: Talenius 来自: 122.116.13.187 (02/23 22:41)
1F:→ MOONRAKER:阿为何不给一个ORDER BY 02/24 12:50
2F:→ Talenius:感谢M大的建议 谢谢 02/24 14:58
3F:→ MOONRAKER:对嘛 你不能随便给个SELECT就预期他的排列一定怎样 02/26 01:15
4F:→ MOONRAKER:其实别人的建议是所有的SELECT都要明确指定ORDER 02/26 01:16