Category

PHP

Category
Coding

เคยเจอปัญหา ID ใน MySQL ซ้ำกันไหมครับ พอมันซ้ำกันมันจะเกิดปัญหาที่ว่า เวลาเราสั่งลบข้อมูลใน Database มันจะ ลบทุก ID ที่ซ้ำกันเลย วิธีแก้ไขไม่ยากครับ ทำ Column ID ใน MySQL ให้เป็น AUTO_INCREMENT

ให้เราเลือก ID กด Change นะครับ แล้วเลือก Default เป็น None และ เลือก A.I. ครับ ถ้าใครเลือกไม่ได้ให้ตั้งเป็น Primary ก่อนครับ

Coding

พอดีช่วงนี้ ได้ทำงานเว็บที่เก็บข้อมูลลงบน My SQL แล้ว ลูกค้าอยากได้ที่มันสามารถ Export ข้อมูลเป็น Excel ได้ และผมคิดว่าเป็นประโยชน์กับคนที่ต้องการ Export CSV แบบง่ายๆ ขั้นตอนมีดังนี้ครับ

1.สร้างไฟล์ db.php เพื่อตั้งค่าเชื่อมต่อกับฐานข้อมูลครับ

<?php

$con = mysqli_connect("โฮสเนม","ชื่อผู้ใช้",รหัส","ชื่อฐานข้อมูล");
if (mysqli_connect_errno())
{
echo "เชื่อมต่อไม่ได้" . mysqli_connect_error();
}
?>

2.สร้างไฟล์ Export.php เพื่อกำหนดค่าให้ Export เป็น CSV ได้ครับ

<?php //อ้างอิงไปยัง database require("db.php"); // เลือกตารางที่ต้องการ Export $query = "SELECT * FROM new_record"; if (!$result = mysqli_query($con, $query)) { exit(mysqli_error($con)); } $users = array(); if (mysqli_num_rows($result) > 0) { while ($row = mysqli_fetch_assoc($result)) { $users[] = $row; } } //กำหนดชื่อไฟล์ header('Content-Type: text/csv; charset=utf-8'); header('Content-Disposition: attachment; filename=ชื่อไฟล์.csv'); $output = fopen('php://output', 'w'); //คอลัมน์ที่ต้องการ เรียงลำดับตามตารางบน Database fputcsv($output, array('No', 'วันที่', 'ชื่อ', 'อายุ', 'อีเมล', 'โทร', 'ขนาดห้องที่สนใจ', 'วัตถุประสงค์', 'งบประมาณ')); if (count($users) > 0) { foreach ($users as $row) { fputcsv($output, $row); } } ?>

Coding

ในกรณีที่ เราพิมพ์ www.keng.ws หรืออะไรก็ตามแต่ลงไป บนช่อง Textarea แล้วต้องการเปลี่ยนเป็น URL แบบคลิกได้ ให้ใช้คำสั่ง preg_replace ตัวเดียวเอาอยู่

$content = preg_replace('@((https?://)+([-\w]+\.[-\w\.]*[ก-๙]*)+\w(:\d+)?(/([-\w/_\.]*[ก-๙]*(\?\S+)?)?)*)@', '$1', $content);

หมายเหตุ $Content คือตัวแปร ที่เรากำหนดขึ้น เปลี่ยนไปตามที่เราตั้งไว้ครับ ก็จะได้ตัวอย่างแบบนี้ครับ