โตโต้

Mon 5 Jun 2006 12:19:30
Mon 5 Jun 2006 12:19:30
เราสามารถก็อปปี้จากเท็กซ์ไฟล์เข้าตารางได้หรือไม่ครับ ผมลองพยายามหลายครั้งแล้วปรากฎว่าไม่ได้ครับ ลองดูโค้ดข้างล่างนี้นะครับ
ถ้าให้มันแสดงออกมาทางหน้าจอไม่มีปัญหาสามารถแสดงได้ทุกบรรทัดหรือจะกำหนดให้แสดงกี่บรรทัดก็ได้ โดยแก้ไขค่าที่ใช้วนลูป
แต่มันไม่สามารถ insert เข้าตารางได้ครับ ไม่ทราบว่าปัญหามันอยู่ตรงไหน
<html>
<head>
<title>Exam Online</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
</head>
<body background="images/bg.gif" bgproperties=fixed>
<br><br><br><br>
<form action="" method="post">
<?
function createTable($tableName)
{
$hostname = "localhost";
$username = "root";
$password = "";
$dbname = "";
$conn = mysql_connect( $hostname, $username, $password );
mysql_query("SET NAMES TIS620");
if ( ! $conn )
die( "ไม่สามารถติดต่อกับ MySQL ได้" );
mysql_select_db( $dbname, $conn )
or die ( "ไม่สามารถเลือกใช้งานฐานข้อมูล $dbname ได้" );
$sql = "DROP TABLE IF EXISTS ".$tableName;
mysql_query($sql, $conn);
$create_tb = "CREATE TABLE ".$tableName." (
Number int(5) NOT NULL auto_increment,
Question text NOT NULL,
Choice1 text NOT NULL,
Choice2 text NOT NULL,
Choice3 text NOT NULL,
Choice4 text NOT NULL,
Answer text NOT NULL,
PRIMARY KEY (Number)
)ENGINE=MyISAM;" ;
mysql_query($create_tb, $conn);
}
function insertExam($tbname, $Q, $C1, $C2, $C3, $C4, $A)
{
$hostname = "localhost";
$username = "root";
$password = "";
$dbname = "";
$conn = mysql_connect( $hostname, $username, $password );
mysql_query("SET NAMES TIS620");
if ( ! $conn )
die( "ไม่สามารถติดต่อกับ MySQL ได้" );
mysql_select_db( $dbname, $conn )
or die ( "ไม่สามารถเลือกใช้งานฐานข้อมูล $dbname ได้" );
$strSQL1 = "INSERT INTO ".$tbName." (Number, Question, Choice1, Choice2, Choice3, Choice4, Answer)";
$strSQL1 = $strSQL1." VALUES('','$Q','$C1','$C2','$C3','$C4','$A')";
if(!mysql_query( $strSQL1, $conn ))
{
$dberr = mysql_error();
return false;
}
return true;
mysql_close($conn);
}
echo "<table cellpadding=\"4\" cellspacing=\"0\" border=\"1\" width= \"30%\" align=\"center\" bordercolor=\"blue\">";
echo "<tr>";
echo "<td align=\"center\"><b>ชื่อตาราง: </b><input type=\"text\" name=\"lesson\" size=\"30\"></td>";
echo "</tr>";
echo "<tr>";
echo "<td align=\"center\"><input type=\"file\" name=\"cFile\"></td>";
echo "</tr>";
echo "<tr>";
echo "<td align=\"center\"><input type=\"submit\" name=\"send\" value=\" ตกลง \"></td>";
echo "</tr>";
echo "</table>";
if( $send )
{
createTable($lesson);
$fs = "$cFile";
$fp = fopen($fs, "r") or die ("ไม่สามารถเปิดแฟ้ม $fs ได้");
$y = 0;
while(! feof($fp))
{
$line = fgets($fp);
++$y;
}
fclose($fp);
$m = $y / 6;
$lines = file($fs);
$start = 0;
$stop = 6;
$a0 = 0;
$a1 = 1;
$a2 = 2;
$a3 = 3;
$a4 = 4;
$a5 = 5;
for($z=0; $z<$m; $z++)
{
for($x=0; $x<$m; $x++)
{
for($i = $start; $i<$stop; $i++)
{
if($z == $a0)
$Q = $lines[$i];
if($z == $a1)
$C1 = $lines[$i];
if($z == $a2)
$C2 = $lines[$i];
if($z == $a3)
$C3 = $lines[$i];
if($z == $a4)
$C4 = $lines[$i];
if($z == $a5)
$A = $lines[$i];
insertExam($lesson, $Q, $C1, $C2, $C3, $C4, $A);
}
$start = $start + 6;
$stop = $stop + 6;
}
$a0 = $a0 + 6;
$a1 = $a1 + 6;
$a2 = $a2 + 6;
$a3 = $a3 + 6;
$a4 = $a4 + 6;
$a5 = $a5 + 6;
}
}
?>
</form>
</body>
</html>
ถ้าให้มันแสดงออกมาทางหน้าจอไม่มีปัญหาสามารถแสดงได้ทุกบรรทัดหรือจะกำหนดให้แสดงกี่บรรทัดก็ได้ โดยแก้ไขค่าที่ใช้วนลูป
แต่มันไม่สามารถ insert เข้าตารางได้ครับ ไม่ทราบว่าปัญหามันอยู่ตรงไหน
<html>
<head>
<title>Exam Online</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
</head>
<body background="images/bg.gif" bgproperties=fixed>
<br><br><br><br>
<form action="" method="post">
<?
function createTable($tableName)
{
$hostname = "localhost";
$username = "root";
$password = "";
$dbname = "";
$conn = mysql_connect( $hostname, $username, $password );
mysql_query("SET NAMES TIS620");
if ( ! $conn )
die( "ไม่สามารถติดต่อกับ MySQL ได้" );
mysql_select_db( $dbname, $conn )
or die ( "ไม่สามารถเลือกใช้งานฐานข้อมูล $dbname ได้" );
$sql = "DROP TABLE IF EXISTS ".$tableName;
mysql_query($sql, $conn);
$create_tb = "CREATE TABLE ".$tableName." (
Number int(5) NOT NULL auto_increment,
Question text NOT NULL,
Choice1 text NOT NULL,
Choice2 text NOT NULL,
Choice3 text NOT NULL,
Choice4 text NOT NULL,
Answer text NOT NULL,
PRIMARY KEY (Number)
)ENGINE=MyISAM;" ;
mysql_query($create_tb, $conn);
}
function insertExam($tbname, $Q, $C1, $C2, $C3, $C4, $A)
{
$hostname = "localhost";
$username = "root";
$password = "";
$dbname = "";
$conn = mysql_connect( $hostname, $username, $password );
mysql_query("SET NAMES TIS620");
if ( ! $conn )
die( "ไม่สามารถติดต่อกับ MySQL ได้" );
mysql_select_db( $dbname, $conn )
or die ( "ไม่สามารถเลือกใช้งานฐานข้อมูล $dbname ได้" );
$strSQL1 = "INSERT INTO ".$tbName." (Number, Question, Choice1, Choice2, Choice3, Choice4, Answer)";
$strSQL1 = $strSQL1." VALUES('','$Q','$C1','$C2','$C3','$C4','$A')";
if(!mysql_query( $strSQL1, $conn ))
{
$dberr = mysql_error();
return false;
}
return true;
mysql_close($conn);
}
echo "<table cellpadding=\"4\" cellspacing=\"0\" border=\"1\" width= \"30%\" align=\"center\" bordercolor=\"blue\">";
echo "<tr>";
echo "<td align=\"center\"><b>ชื่อตาราง: </b><input type=\"text\" name=\"lesson\" size=\"30\"></td>";
echo "</tr>";
echo "<tr>";
echo "<td align=\"center\"><input type=\"file\" name=\"cFile\"></td>";
echo "</tr>";
echo "<tr>";
echo "<td align=\"center\"><input type=\"submit\" name=\"send\" value=\" ตกลง \"></td>";
echo "</tr>";
echo "</table>";
if( $send )
{
createTable($lesson);
$fs = "$cFile";
$fp = fopen($fs, "r") or die ("ไม่สามารถเปิดแฟ้ม $fs ได้");
$y = 0;
while(! feof($fp))
{
$line = fgets($fp);
++$y;
}
fclose($fp);
$m = $y / 6;
$lines = file($fs);
$start = 0;
$stop = 6;
$a0 = 0;
$a1 = 1;
$a2 = 2;
$a3 = 3;
$a4 = 4;
$a5 = 5;
for($z=0; $z<$m; $z++)
{
for($x=0; $x<$m; $x++)
{
for($i = $start; $i<$stop; $i++)
{
if($z == $a0)
$Q = $lines[$i];
if($z == $a1)
$C1 = $lines[$i];
if($z == $a2)
$C2 = $lines[$i];
if($z == $a3)
$C3 = $lines[$i];
if($z == $a4)
$C4 = $lines[$i];
if($z == $a5)
$A = $lines[$i];
insertExam($lesson, $Q, $C1, $C2, $C3, $C4, $A);
}
$start = $start + 6;
$stop = $stop + 6;
}
$a0 = $a0 + 6;
$a1 = $a1 + 6;
$a2 = $a2 + 6;
$a3 = $a3 + 6;
$a4 = $a4 + 6;
$a5 = $a5 + 6;
}
}
?>
</form>
</body>
</html>
อ่านจากทั้งหมดแล้วผิดตรงที่
<form action="" method="post">
ถ้าต้องการให้มีการ upload เกิดขึ้นต้องระบุ Attribute enctype="multipart/form-data"
if( $send )
{
createTable($lesson);
$fs = "$cFile";
$fp = fopen($fs, "r") or die ("ไม่สามารถเปิดแฟ้ม $fs ได้");
$y = 0;
.......
เนื่องจากเมื่อมีการส่งค่าไปเป็นเพียงที่อยู่ของไฟล์ต้นทางเท่านั้นซึ่งทาง server ไม่สามารถเข้ามาเปิดไฟล์ในเครื่อง Client ได้ครับ ต้องทำการ upload ขึ้นไปบนเครื่อง Server ก่อนแล้วเปิดไฟล์นั้นขึ้นมาอ่านครับ
<form action="" method="post">
ถ้าต้องการให้มีการ upload เกิดขึ้นต้องระบุ Attribute enctype="multipart/form-data"
if( $send )
{
createTable($lesson);
$fs = "$cFile";
$fp = fopen($fs, "r") or die ("ไม่สามารถเปิดแฟ้ม $fs ได้");
$y = 0;
.......
เนื่องจากเมื่อมีการส่งค่าไปเป็นเพียงที่อยู่ของไฟล์ต้นทางเท่านั้นซึ่งทาง server ไม่สามารถเข้ามาเปิดไฟล์ในเครื่อง Client ได้ครับ ต้องทำการ upload ขึ้นไปบนเครื่อง Server ก่อนแล้วเปิดไฟล์นั้นขึ้นมาอ่านครับ

















