딱 원하는 환경에 게시판 제작을 강의한 유튜버 분이 계셔서
시간이없기에 코드를 그대로 가져옴
if(!$conn) {
echo 'connect error'. mysqli_connect_error();
} else {
echo "connect success<br>";
}
https://dev.mysql.com/doc/workbench/en/wb-generating-php.html
if(something) {
echo "Nah";
error_log(mysqli_error($conn));
} else {
echo "OK";
}
$user_name = $_POST['name'];
$user_msg = $_POST['message'];
$sql = "insert into msg_board (name, message) values ('$user_name', '$user_msg')";
// 간단하게 insert문을 사용하여 구현 가능.
$reuslt = mysqli_query($conn, $sql);
if($result === false) { // 쿼리응답 불린으로 판독
echo "fail<br>";
error_log(mysqli_error($conn));
} else {
echo "saved<br>";
}
mysqli_close($conn);
echo "<hr/><a href='index.php'>move to main page</a>;";
<?php
$conn = mysqli_connect("localhost", "admin", "-", "db");
$view_num = $_GET['number'];
$sql = "select * from msg_board where number = '$view_num'";
//게시글에 해당하는 번호로 매칭되는 값 불러옴
$result = mysqli_query($conn, $sql);
?>
<!DOCTYPE html>
<html>
<head></head>
<body>
<?php
if($row = mysqli_fetch_array($result)) {
?>
<h3>board num: <?=$row['number'] ?></h3>
<h3>name: <?=$row['name'] ?></h3>
<div>
<?= $row['message'] ?>
</div>
<?php
}
mysqli_close($conn);
?>
<p><a href="update.php?number=<?= $row['number'] ?>">EDIT !!</a></p>
<p><a href="index.php">move to previous page</a></p>
</body>
</html>
신기했던 부분이 <?php 구문을 괄호를 잘라서 태그안에 넣어서 작성하는 부분 지금보니까 줄 바꿈이 필요할 듯.
<?php
$conn = mysqli_connect("localhost", "admin", "-", "db");
$view_num = $_GET['number'];
$sql = "select * from msg_board where number = '$view_num'";
$result = mysqli_query($conn, $sql);
?>
<body>
<h1 style="color: green;">UPDATE</h1>
<?php
if($row = mysqli_fetch_array($result)) {
?>
<form action="insert_update.php" method="post">
<input type="hidden" name="number" value="<?= $view_num ?>">
<p>
<label for="name">name: </label>
<input type="text" id="name" name="name" value="<?= $row['name'] ?>">
</p>
<p>
<label for="message">message: </label>
<textarea id="message" name="message" cols="30" rows="10"><?= $row['message'] ?></textarea>
</p>
<input type="submit" value="write">
</form>
<?php
}
mysqli_close($conn);
?>
</body>
히든을 이용하여 $view_num
을 보내줌
받는 쪽은
<?php
$conn = mysqli_connect("localhost", "admin", "-", "db");
$number = $_POST['number'];
$user_name = $_POST['name'];
$user_msg = $_POST['message'];
$sql = "update msg_board set name = '$user_name', message = '$user_msg' where number = '$number'";
$reuslt = mysqli_query($conn, $sql);
if($result === false) {
echo "fail<br>";
error_log(mysqli_error($conn));
} else {
echo "updated<br>";
}
mysqli_close($conn);
echo "<hr/><a href='index.php'>move to main page</a>;";
?>
$_POST['number']
는 태그에
<input type="hidden" name="number" value="<?= $view_num ?>">
매칭되는 값으로 받아짐 POST로받는건 form이 POST로 보내기 때문
<!DOCTYPE html>
<html>
<head></head>
<body>
<h1>BOARD</h1>
<h2>Delete result</h2>
<ul>
<?php
$conn = mysqli_connect("localhost", "admin", "-", "db");
if(!$conn) {
echo 'fail'. mysqli_connect_error();
}
$user_delnum = $_POST['delnum'];
$sqlDEL = "delete from msg_board where number = '$user_delnum'";
mysqli_query($conn, $sqlDEL);
$sql = "select * from msg_board";
$result = mysqli_query($conn, $sql);
$list = '';
while($row = mysqli_fetch_array($result)) {
$list = $list."<li>{$row['number']}: <a href=\"view.php?number={$row['number']}\">{$row['name']}</a></li>";
}
echo $list;
mysqli_close($conn);
?>
</ul>
<p>
<?php
echo "<h2 style=\"color: red;\">board num of '$user_delnum' is deleted </h2>";
?>
</p>
<hr>
<p><a href="index.php"> move to previous page </a></p>
</body>
</html>
더블 쿼터안에 또 더블 쿼터를 쓸 수가 없기 때문에
$list = $list. // php에서 점은 문자열 연결(+)
"<li>
{$row['number']}:
<a href=\"view.php?number= {
$row['number']}\"> {$row['name']}
</a>
</li>";
\"
를 이용하여 백슬러쉬를 앞에다가 명시해주면
백슬러쉬 뒤에있는 문자는 그 문자 스트링으로 인식한다.
그래서 다시 선언 가능
<?php
$test = 3;
?>
<!DOCTYPE html>
<html>
<head></head>
<body>
<div>Is it work?</div>
<?php
$list = "<li>123123</li>";
$list2 = "<li>{$test}</li>";
echo $list;
echo $list2;
?>
</body>
</html>
~
php구문 안에 변수는 { }안에 선언 해줘야 함.