PHP 및 MySQLiดึงข้อมูลมาแสดงบนหน้าเวป [สำหรับมือใหม่มาก ๆ ]
26495 단어 php
ความรู้พื้นฐานคือ
<table>
) SELECT * FROM ชื่อตาราง
) เครื่องมือที่ใช้งาน
สมมุติว่าเรามีข้อมูลของเมนูกาแฟจำนวนนึงซึ่งอยากจะให้แสดงออกมาในรูปแบบตาราง
일.สร้างตารางและข้อมูลชื่อเมนูและราคาเมนูในที่นี้จะสร้างตารางที่ชื่อ 메뉴และสร้าง 데이터베이스เป็นชื่อ 프레젠테이션โดยใช้คำสั่ง SQLดังนี้
--
-- Database: `demo`
-- สมมุติว่าเรามี database ที่สร้างไว้แล้วให้ชื่อว่า demo
--
-- --------------------------------------------------------
--
-- Table structure for table `menu`
-- สร้างตารางชื่อ menu ดังด้านล่าง
--
CREATE TABLE `menu` (
`ID` int(11) NOT NULL,
`name` varchar(30) NOT NULL,
`prices` int(11) NOT NULL
) ENGINE= InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `menu`
-- เมื่อมีตาราง ก็ทำการ insert ข้อมูลต่าง ๆ ลงไป
--
INSERT INTO `menu` (`ID`, `name`, `prices`) VALUES
(1, 'Espresso', '45'),
(2, 'Amaricano', '55'),
(3, 'Hot Cappuccino', '55'),
(4, 'Iced Cappuccino', '65'),
(5, 'Hot Latte', '55'),
(6, 'Iced Latte', '65'),
(7, 'Hot Mocca', '55'),
(8, 'Iced Mocca', '65'),
(9, 'Hot Matcha Green Tea', '55'),
(10, 'Iced Matcha Green Tea', '65');
--
-- Indexes for dumped tables
--
--
-- Indexes for table `menu`
-- กำหนดให้ ID เป็น Primary Key คือไม่ให้ข้อมูลมันนับซ้ำกัน
--
ALTER TABLE `menu`
ADD PRIMARY KEY (`ID`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `menu`
-- ให้ ID มีค่านับเพิ่มขึ้น
--
ALTER TABLE `menu`
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT;
COMMIT;
หรือจะสามารถดาวน์โหลดไฟล์ 메뉴sqlแล้ว 수입하다ลงบน phpmyadminได้ที่ Link เอาล่ะตอนนี้เรามีข้อมูลที่ 데이터베이스เรียบร้อยแล้วดังรูปตัวอย่าง
ต่อไปเราจะดึงข้อมูลเหล่านี้ขึ้นหน้าเวปที่เราต้องการ
이.เชื่อมต่อ 데이터베이스
เมื่อสร้างไฟล์ที่ชื่อ 지수phpแล้วก็สร้างคำสั่งในการเชื่อมต่อกับ 데이터베이스(ในที่นี้ชื่อ 데이터베이스ที่เราต้องการเชื่อมต่อคือ 프레젠테이션)
<?php
// โดยที่ $ชื่อตัวแปร = new mysqli($servername, $username, $password, $dbname)
$connect = new mysqli('localhost', 'root', '', 'demo');
// ทำการ check connection ว่าถูกต้องหรือไม่
if ($connect->connect_error) {
die("Something wrong.: " . $connect->connect_error);
}
?>
삼.ทำการดึงข้อมูลที่ต้องการมาแสดงไว้ที่ตาราง
ในที่นี้จะเลือกข้อมูลทั้งหมดโดยเราทราบดีว่าใน SQLจะใช้
SELECT * FROM ชื่อตาราง
ดังนั้นจึงเขียนในรูปแบบนี้<?php
$sql = "SELECT * FROM menu";
$result = $connect->query($sql);
?>
사.บรรทัดต่อมาเขียน HTMLในรูปแบบดังนี้
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Coffee Menu</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container"></div>
</body>
</html>
เอาล่ะตอนนี้เราจะ 비밀번호ทั้งหมดที่เราเขียนออกมาแบบนี้<?php
// Create connection
$connect = new mysqli('localhost', 'root', '', 'demo');
// Check Connection
if ($connect->connect_error) {
die("Something wrong.: " . $connect->connect_error);
}
$sql = "SELECT * FROM menu";
$result = $connect->query($sql);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Coffee Menu</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container"></div>
</body>
</html>
오.สร้างตาราง
จาก 비밀번호ด้านบนทำการ 창조หัวข้อ
<h1>
และตาราง <table>
ภายใน class="container"
ดังนี้<div class="container">
<h1>ข้อมูลราคาเมนูของร้าน</h1>
<table>
<thead>
<tr>
<td width="5%">#</td>
<td width="25%">ชื่อเมนู</td>
<td width="25%">ราคา (บาท) </td>
</tr>
</thead>
<tbody>
<!-- ข้อมูลที่เราจะทำการ fetch จากฐานข้อมูล -->
</tbody>
</table>
สร้างตารางคร่าว ๆ ก่อนแล้วเดี๋ยวค่อยเอา cssมาตกแต่งภายหลัง ซึ่งตอนนี้เราก็ได้ตารางส่วนแสดงหัวข้อของแต่ละ 기둥กันไปแล้ว ต่อไปก็จะดึงข้อมูลในฐานข้อมูลที่ต้องการแสดงออกมาใส่ตารางที่เรากำหนดไว้แล้ว육.ดึงข้อมูลมาแสดงที่หน้าเวป
เราจะทำการดึงข้อมูลลงในส่วนของ
<tbody>
โดยข้อมูลที่เราต้องการจะเอามาแสดงประกอบไปด้วย ID
name
prices
โดยจะเรียกใช้ผ่าน fetch_assoc()
เนื่องจากข้อมูลมีหลายแถวจึงใช้ while-loop
เขียนในรูปแบบดังนี้<tbody>
<?php while($row = $result->fetch_assoc()): ?>
<tr>
<td><?php echo $row['ID']; ?></td>
<td class="name">
<?php echo $row['name']; ?>
</td>
<td><?php echo $row['prices']; ?></td>
</tr>
<?php endwhile ?>
</tbody>
ขออธิบาย 비밀번호ด้านบนสักนิดนึงคือ $result->fetch_assoc()
เป็นการดึงข้อมูล (추출)ในแถวหรือ 한 줄โดยจะเก็บข้อมูลในรูปแบบ 무더기โดยเก็บไว้ที่ $row
ดังนั้นแล้วเวลาที่เราจึงประกาศข้อมูลเป็น $row["ชื่อข้อมูล"]
ตอนนี้สามารถนำข้อมูลทั้งหมดมาแสดงที่หน้าเวปเป็นที่เรียบร้อยแล้ว
สรุป 비밀번호ที่เขียนบน
index.php
เป็นดังนี้<?php
// Create connection
$connect = new mysqli('localhost', 'root', '', 'demo');
// Check Connection
if ($connect->connect_error) {
die("Something wrong.: " . $connect->connect_error);
}
$sql = "SELECT * FROM menu";
$result = $connect->query($sql);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Coffee Menu</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<h1>ข้อมูลราคาเมนูของร้าน</h1>
<table>
<thead>
<tr>
<td width="5%">#</td>
<td width="25%">ชื่อเมนู</td>
<td width="25%">ราคา (บาท) </td>
</tr>
</thead>
<tbody>
<?php while($row = $result->fetch_assoc()): ?>
<tr>
<td><?php echo $row['ID']; ?></td>
<td class="name">
<?php echo $row['name'];?>
</td>
<td><?php echo $row['prices']; ?></td>
</tr>
<?php endwhile ?>
</tbody>
</table>
</div>
</body>
</html>
แต่ข้อมูลที่ได้ก็ยังดูไม่สวยเท่าไหร่เราจึงใช้ cssเข้ามาทำให้ข้อมูลมีลักษณะออกมาเป็นตารางที่สวยงาม칠.ตกแต่งตารางให้มีความสวยงาม
* {
margin: 0;
padding: 0;
box-sizing: 0;
}
body {
font-size: 16px;
font-family: Arial, Helvetica, sans-serif;
background-color: #F2F3F4;
color: #273746;
}
.container {
margin: 20px auto;
padding: 0;
width: 980px;
}
h1 {
margin-top: 20px;
margin-bottom: 20px;
}
table {
width: 100%;
/* ผสาน border ระหว่าง table กับ td */
border-collapse: collapse;
}
table,
td {
border: 1px solid #5D6D7E;
text-align: center;
}
thead {
background-color: #273746;
color: #BDC3C7;
}
/* Striped Tables: ทำไฮไล์ในการแบ่ง row */
tr:nth-child(even) {
background-color: #BDC3C7;
}
td {
height: 30px;
vertical-align: center;
}
.name {
text-align: left;
padding-left: 16px;
}
สุดท้ายก็จะได้ตารางข้อมูลแบบนี้Reference
이 문제에 관하여(PHP 및 MySQLiดึงข้อมูลมาแสดงบนหน้าเวป [สำหรับมือใหม่มาก ๆ ]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/supaluckn/php-mysqli-4ke6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)