thaiall logomy background
coding : postgresqlworking.php.
my town
Source : Perl | PHP | ASP | JSP | HTML | HTML5 | JavaScript | Java | COBOL | C++ | MS Access | VBNet | VB | Python | โค้ดดี
File : postgresqlworking.php. ID : 9145
Skin : Default | Sons-of-obsidian | Sunburst | Highlighter | Full
<?php
// PostgreSQL in UTF-8 charset
ini_set('max_execution_time', 86400); // 86400 = 60 * 60 * 24 seconds = 24 Hours
/* Section 1 : Configuration */
// 1.1 Main configuration
$db = parse_url(getenv("DATABASE_URL"));
$connect = new PDO("pgsql:" . sprintf("host=%s;port=%s;user=%s;password=%s;dbname=%s",$db["host"],$db["port"],$db["user"],$db["pass"],ltrim($db["path"], "/")));
$host = $db["host"];
$db =  ltrim($db["path"], "/");
$tb = 'car';
$user = $db["user"];
$password =  $db["pass"];
$file = "postgresqlworking.php"; // index.php
$start = microtime();
// 1.2 Security option
$protect_sql_injection = false; // true = safe; false = unsafe
$phpinfo_function_allow = true; // true = can use phpinfo()
// 1.3 Database connection
// $connect = new mysqli($host,$user,$password,$db);
if ($connect->connect_error) die("Connection Database :failed"); 
$tb_found = reccount("select count(*) from information_schema.tables where table_name like '$tb'");
// 1.4 phpinfo function
if (isset($_GET{'action'}) && ($_GET{'action'} == "phpinfo") && ($phpinfo_function_allow == true)) {  phpinfo(1);  exit; }
// 1.5 start html
echo '<html><head><title>PostgreSQL Working</title><meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<style type="text/css">
textarea{font-size:10px;color:blue;scrollbar-base-color:red;scrollbar-arrow-color:white;background-color:#ffffdd;}
input{font-family:microsoft sans serif;font-size:16px;color:black;background:#ffffdd;}
</style></head><body>';
?> 
<!-- Section 2 : Menu screen -->
<form action="" method="post">
<table style="background-color:blue;border-width:15px;border-style:solid;width:740px;margin-left:auto;margin-right:auto;text-align:center;">
<?php if ($tb_found == 0) { ?>
<tr><td style="background-color:white">
<input type="submit" value="Create table" name="action" style="width:350px;height:50px;">
</td></tr>
<?php } else { ?>
<tr><td style="vertical-align:top;background-color:white;width:100;text-align:center;">
<input type="submit" value="post 1000" name="action" style="width:100px;background-color:yellow;">
<input type="submit" value="post_recs" name="action" style="width:100px;background-color:#dddddd;">
<input name="recs" value="1000" size="6">
</td>
<td style="background-color:#dddddd"><input type="submit" value="postmany" name="action" style="width:100px;background-color:#ddffdd;"> 
ข้อมูลข้างล่างนี้สามารถ copy จาก excel มา paste ได้<br/>
<textarea name="manyrecord" rows="4" cols="120" wrap="off">
1	2547		หจก.	กองเกตุเอ๊กซ์เปรส	20	11	2551	8/1 ม.2 แขวงทุ่งครุ 	ทุ่งครุ	กรุงเทพฯ			17		14			3						1		3
2	2547		หจก.	ดาวคะนองการท่องเที่ยว	5	1	2552	10/223 ม.4 แขวงดินแดง	ห้วยขวาง	กรุงเทพฯ			2		2											3
3	2547		บจ.	ธรรมนูญ โพธิ์ทอง	5	1	2552	1407/6 ซ.ตากสิน 7 ถ.สมเด็จพระเจ้าตากสิน แขวงบุคคโล	สายไหม	กรุงเทพฯ			4		2					2						3
4	2547		บจ.	นิติพงษ์ ไพบูลย์ทรานสปอร์ต	6	1	2552	15/20 ถ.นวลจันทร์ แขวงคลองกุ่ม	สายไหม	กรุงเทพฯ			1						1							3
5	2547		นาย	บางแคการท่องเที่ยว	6	1	2552	209/718 ม.ปรีชา 8 ถ.รามคำแหง แขวงหัวหมาก	สะพานสูง	กรุงเทพฯ			1											1		3
6	2547		นาย	ผาน  ตอลบรัมย์	6	1	2552	4/33 ม.6 แขวงสายไหม 	สวนหลวง	กรุงเทพฯ			1						1							3
7	2547		บจ.	วิจิตรประกอบ	7	1	2552	25 ซ.อ่อนนุช 10 ถ.อ่อนนุช แขวงสวนหลวง	ลาดพร้าว	กรุงเทพฯ		02-2743222-3	3		3											3
8	2547		หจก.	สตาร์แปซิฟิคทรานสปอร์ต	26	1	2552	41/9 ม.9 ถ.วิภาวดีรังสิต แขวงสีกัน 	บึงกุ่ม	กรุงเทพฯ			21		1					19	1					3
9	2547		นาย	สมนึก ผลดีนานา	12	1	2552	43 ซ.บรมราชชนนี 14 ถ.บรมราชชนนี แขวงบางบำหรุ 	บางพลัด	กรุงเทพฯ			1							1						3
10	2547		บจ.	สวัสดิภาพทัวร์	13	1	2552	44/73 ม.7 แขวงลาดพร้าว 	บางกะปิ	กรุงเทพฯ			2											2		3
11	2547		นาย	สุชาติ ภรมงคลธรรม	13	1	2552	52/4 ม.13 ถ.กรุงเทพกรีฑา แขวงสะพานสูง	บางกะปิ	กรุงเทพฯ			1											1		3
12	2547		นาย	เสวกทัวร์	13	1	2552	55 ม.9 ซ.ปรีชา แขวงฉิมพลี	ธนบุรี	กรุงเทพฯ			1							1						3
13	2547		หจก.	ไสว วรรณรังสี	24	1	2552	55/4 ม.3 ซ.ประชาอุทิศ 76 ถ.ประชาอุทิศ แขวงทุ่งครุ	กรุงเทพฯ			10							10						3
</textarea>
</td></tr></table>
<table style="background-color:black;border-spacing:5px;text-align:center;width:760px;margin-left:auto;margin-right:auto;"><tr>
<td bgcolor="white" align="center"><input type="submit" value="listall" name="action" style="width:60px;background-color:#ffdddd;">
เริ่ม <input name="begin" value="0" size="1">
จำนวน <input name="total" value="100" size="2">
</td>
<td style="background-color:white;text-align:center;">
<input type="submit" value="findname" name="action"><input name="name" value="หจก." size="3" style="width:60px;background-color:#ffddff;">
</td>
<td style="background-color:white;text-align:center;">
<input type="submit" value="deleterecord" name="action" style="width:100px;background-color:#ddddff;">
<input name="did" value="1" size="1"><input name="dyear" value="2547" size="4">
</td>
<td style="background-color:white;text-align:center;">
<input type="submit" value="deletetable" name="action" style="width:100px;background-color:red;color:white;">
</td></tr>
<?php } ?>
</table>
</form> 
<!-- Section 3 : Activity -->
<table style="background-color:gray;width:760px;margin-left:auto;margin-right:auto;">
<tr><td style="background-color:white;">
<?php
### Start of 10 Activity ###
if (isset($_POST{'action'})) {
###########################
# 1 # create table
###########################
if ($_POST{'action'} == "Create table") {
  $query = "create table $tb (";
  for ($i=1;$i<=26;$i++) $query = $query . "f" . $i . " char(100),";
  $query .= "f27 char(100)";
  $query .= ")";
  echo $query."<br/>";
  if ($connect->query($query)) echo "process : completely<br/>"; else { echo "error to create table<br/>"; exit; }
  echo "<meta http-equiv='refresh' content=\"3;URL='$file'\" />";
  exit;
}
###########################
# 2 # delete table
###########################
if ($_POST{'action'} == "deletetable") {
  $query = "drop table $tb;";
  if ($connect->query($query)) echo "process : completely<br/>"; else { echo "table remove : error<br/>$query"; exit; }
  echo "<meta http-equiv='refresh' content=\"3;URL='$file'\" />";    
  exit;
}
###########################
# 3 # search from keyword
###########################
if ($_POST{'action'} == "findname") {
  if(strlen($_POST{'name'}) > 1) {
    $query    = "select * from $tb where f4 like '". $_POST{'name'} ."%'"; 
    $result = $connect->query($query); 
    if (!$result) { echo "Finding : error<br/>$query"; exit;}
    $rows = $result->fetchAll(PDO::FETCH_OBJ); // $num_rows = count($rows);
    foreach ($rows as $object) {
      echo "<br/>";
      foreach ($object as $o) echo "$o ";
    }
  } else {
    echo '<b>Error</b> : Keyword required > 1 character';
  }
}
###########################
# 4 # delete record
###########################
if ($_POST{'action'} == "deleterecord") {
  $before = reccount("select count(*) from $tb"); 
  $query    = "delete from $tb where f1 = '". $_POST{'did'}."' and f2 = '". $_POST{'dyear'}."'";
  $result = $connect->query($query); 
  $after = reccount("select count(*) from $tb"); 
  if ($result) echo "delete : ". ($before - $after) ." records<br/>"; else { echo "delete : error<br/>$query"; }
}
###########################
# 5 # list all records
###########################
if ($_POST{'action'} == "listall") {
  // $query    = "select * from $tb limit " . $_POST{'begin'}  . "," . $_POST{'total'} ;
  $query    = "select * from $tb limit " . $_POST{'total'}  . " offset " . $_POST{'begin'} ;
  $result = $connect->query($query); 
  if (!$result) { echo "listing : error<br/>$query"; exit;}
  $rows = $result->fetchAll(PDO::FETCH_OBJ); // $num_rows = count($rows);
  echo "<ol start=" . ($_POST{'begin'} + 1) . ">";
  foreach ($rows as $object) {
    echo "<li>";
    foreach ($object as $o) echo "$o ";
  }
  echo "</ol>";  
  /* while ($object = $result->fetch_object()) { echo "<li>"; foreach ($object as $o) echo "$o "; } */
}
###########################
# 6 # post records
###########################
if ($_POST{'action'} == "postmany") {
  $getline = explode("\r\n",$_POST{'manyrecord'});
  for ($j=0;$j<count($getline);$j++) {
    $l = $j + 1;
    $getfield = explode("\t",$getline[$j]);   
    # echo "$l $getfield[0] - $getfield[26]<br/>";
  }
  if ($connect) {
    echo "post from textarea : completely<br/>";
    for ($j=0;$j<count($getline);$j++) {
      if (strlen($getline[$j]) > 1) {
        $l = $j + 1;
        $getfield = explode("\t",$getline[$j]);      
        $query = "insert into $tb values(";
        for ($i=0;$i<=25;$i++) $query = $query . "'$getfield[$i]',";
        $query = $query . "'$getfield[26]'";
        $query = $query . ");";
        echo $query."<br/>";
        $result = $connect->query($query);
      }
    }  
  } else {
    echo "connect : fail"; 
  }
}
###########################
# 7 # post 1000
###########################
if ($_POST{'action'} == "post 1000") {
  if ($connect) {
    echo "Post 1000 : completely";
    for ($j=0;$j<1000;$j++) {
      if(!function_exists("iconv")) {
        $c1 = chr(rand(65,91));
        $c2 = chr(rand(65,91));
        $c3 = chr(rand(65,91));
      } else { //phpversion()
        $c1 = iconv("TIS-620","UTF-8",chr(rand(161,206))); // 196 = ฤ ทำให้มี 45 ตัว
        $c2 = iconv("TIS-620","UTF-8",chr(rand(161,206)));
        $c3 = iconv("TIS-620","UTF-8",chr(rand(161,206)));
      }
      $query = "insert into $tb (f1,f2,f4) values( $j , $j, '" . $c1.$c2.$c3 . "');";
      $result = $connect->query($query);
    }
  } else {
    echo "connect : fail"; 
  }
}
// echo iconv("TIS-620","UTF-8",chr(161)); // output = ก
// echo ord(iconv("UTF-8","TIS-620","ก")); // output = 161
###########################
# 8 # post_recs
###########################
if ($_POST{'action'} == "post_recs") {
  if ($connect) {
    echo "Post " . $_POST{'recs'} ." : completely";
    // echo "iconv:" . function_exists("iconv"); // 000webhosting.com จะ return 1 กลับมา
    for ($j=0;$j<$_POST{'recs'};$j++) {
      if(!function_exists("iconv")) { // ป้องกันการเรียกใช้ iconv ที่ 5GBFree.com
        $c1 = chr(rand(65,91));
        $c2 = chr(rand(65,91));
        $c3 = chr(rand(65,91));
      } else {
        $c1 = iconv("TIS-620","UTF-8",chr(rand(65,91))); // ที่ 5GBFree.com หากเรียกใช้ iconv จะหยุดการทำงาน
        $c2 = iconv("TIS-620","UTF-8",chr(rand(65,91))); // ตรวจสอบการ support ของ iconv ด้วย phpinfo() ได้
        $c3 = iconv("TIS-620","UTF-8",chr(rand(65,91)));
      }
      $query = "insert into $tb (f1,f2, f4) values( $j , $j, '" . $c1.$c2.$c3 . "');";
      $result = $connect->query($query);
    }  
  } else {
    echo "connect : fail"; 
  }
}
###########################
# 9 # Total records
###########################
echo "<hr style='display:block;height:1px;border:0;border-top:1px solid#ccc;margin:1em0;padding:0;' />Total records : ". reccount("select count(*) from $tb");
$connect->close();
### Stop of 10 Activity ###
} // end of isset : action from post
?>
</td></tr></table> 
<!-- Section 4 : Introduction -->
<table style="margin-left:auto;margin-right:auto;width:760px;border-width:5px;border-style:solid;">
<tr><td style="background-color:#ddffdd;">
<fieldset><legend><b>Suggestion about this script</b></legend>
<ol>
<?php if($phpinfo_function_allow) { ?>
<li>เรียกใช้ <a href="?action=phpinfo">phpinfo()</a> เพื่อดูค่าต่าง ๆ ของ server เช่น version ของ php หรือ mysql
<?php } ?>
</ol>
</fieldset>
</td></tr>
<tr><td style="background-color:white;">
<?php
$demo = array("https://myapp630306.herokuapp.com/postgresqlworking.php");
for($demo_no=0;$demo_no<count($demo);$demo_no++) {
  echo "<b>Demo site</b> : <a href='$demo[$demo_no]'>$demo[$demo_no]</a><br/>";
}
list($u_start,$s_start) = explode(" ",$start);  
list($u_stop,$s_stop) = explode(" ",microtime());  
$tstart = $u_start + $s_start;
$tstop = $u_stop + $s_stop;
echo "Page loading in " . ($tstop - $tstart) . " seconds";
?>
</td></tr></table>
</body></html>
<?php
###########################
# 10 # Function
###########################
function reccount ($q) {
  global $connect;	
  $result = $connect->query($q);
  return $result->fetchColumn();	
}	
/* http://thaiabc.ueuo.com/ http://thaiabc.000webhostapp.com/mysqlworking.php */
?>
จำนวน : 273 บรรทัด
าษาเฮชทีเอ็มแอล (HTML = HyperText Markup Language) คือ ภาษาคอมพิวเตอร์ที่ออกแบบมาเพื่อใช้ในการสร้างเว็บเพจที่เรียกดูผ่านทางเว็บเบราว์เซอร์ (Web Browser) เริ่มพัฒนาโดย ทิม เบอร์เนอรส์ ลี (Tim Berners Lee) ในปัจจุบัน HTML ล่าสุดคือ รุ่น 5 เป็นมาตรฐานหนึ่งของ ISO ซึ่งจัดการโดย World Wide Web Consortium (W3C) ในปัจจุบัน ทาง W3C ผลักดัน รูปแบบของ HTML แบบใหม่ ที่เรียกว่า XHTML รุ่นแรกคือ 1.0 (ม.ค.2543) ซึ่งมีโครงสร้างเป็นแบบ XML (eXtensible Markup Language)
าษาพีเอชพี (PHP Language) คือ ภาษาคอมพิวเตอร์ประเภทโอเพนท์ซอร์ท (Open Source Computer Language) สำหรับพัฒนาเว็บเพจแบบไดนามิก เมื่อเครื่องบริการได้รับคำร้องจากผู้ใช้ก็จะส่งให้กับ ตัวแปลภาษา ทำหน้าที่ประมวลผลและส่งข้อมูลกลับไปยังเครื่องของผู้ใช้ที่ร้องขอ ในรูปเอชทีเอ็มแอล ภาพ หรือแฟ้มดิจิทอลอื่นใด ลักษณะของภาษามีรากฐานคำสั่งมาจากภาษาซี เป็นภาษาที่สามารถพัฒนาให้ใช้งานแบบโต้ตอบกับผู้ใช้ได้
าษาไพทอน (Python Language) คือ ภาษาคอมพิวเตอร์ประเภทโอเพนท์ซอร์ท (Open Source Computer Language) สำหรับพัฒนาแอพพลิเคชั่นโดยไม่ยึดติดกับแพลตฟอร์ม (Platform) และใช้ในงานได้หลายประเภท ทั้งใช้ในการประมวลผลผ่านคอมมานด์ไลน์ หรือเป็นเว็บเพจแบบไดนามิก เมื่อเครื่องบริการได้รับคำร้องจากผู้ใช้ก็จะส่งให้โค้ดให้กับตัวแปลภาษา เพื่อทำหน้าที่ประมวลผลและส่งข้อมูลกลับไปยังเครื่องของผู้ใช้ที่ร้องขอ ในรูปข้อความ เอชทีเอ็มแอล ภาพ หรือแฟ้มดิจิทอลอื่นใด ลักษณะของภาษามีรากฐานคำสั่งมาจากภาษาซี เป็นภาษาที่สามารถพัฒนาให้ใช้งานแบบโต้ตอบกับผู้ใช้ได้ จุดที่แตกต่างกับภาษาอื่น คือ การรวบรวมจุดเด่นของแต่ละภาษามารวมเข้าด้วยกัน
อสคิวแอล (SQL = Structured Query Language) คือ ภาษาสอบถามข้อมูล หรือภาษาจัดการข้อมูลอย่างมีโครงสร้าง มีการพัฒนาภาษาคอมพิวเตอร์ และโปรแกรมฐานข้อมูลที่รองรับมากมาย เพราะจัดการข้อมูลได้ง่าย เช่น MySQL, MariaDB, MsSQL, PostgreSQL หรือ MS Access เป็นต้น สำหรับโปรแกรมฐานข้อมูลที่ได้รับความนิยมคือ MySQL หรือ MariaDB เป็น Open Source ที่ใช้งานได้ทั้งใน Linux และ Windows
วัสดีชาวโลก (Hello World) คือ ผลลัพธ์ครั้งแรกที่นักพัฒนาโปรแกรมนิยมเลือกใช้แสดงผลในโปรแกรมแรกที่เขียนขึ้นเพื่อทดสอบการทำงาน ข้อความนี้ทำให้นึกถึงมนุษย์ต่างดาวที่มาเยือนโลกและกล่าวกับมนุษย์เมื่อพบกันครั้งแรกในภาพยนตร์
ตัวอย่าง Hello World
ปรับปรุงโปรแกรม source.pl : 2565-07-24
Thaiall.com