อยากจะเลิกใช้ฟังก์ชั่นเก่าๆอย่าง mysql ไปเป็น Mysqli แต่แก้ไม่ได้สักทีรบกวนผู้รู้ช่วยหน่อยครับ
โค้ดนี้เป็น Mysql ต้นฉบับที่ยังไม่ได้แปลงไปเป็น Mysqli
Code (PHP)
<?php
session_start();
require_once "connect.php";
$strSQL = "SELECT * FROM female_bag WHERE (productsname LIKE '%".$_GET["txtKeyword"]."%' or productscode LIKE '%".$_GET["txtKeyword"]."%' )";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 10; // Per Page
$Page = $_GET["Page"];
if(!$_GET["Page"])
{
$Page=1;
}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
$strSQL .=" order by productsname ASC LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<!-- Product Shows -->
<table>
<?
$check=1;
while ($meResult = mysql_fetch_assoc($objQuery)) {
if ($check%1 ==1){
echo "<TR>";
}
?>
<td><?
$products_name = substr($meResult[productsname],0,20);
echo " <div itemprop=\"itemListElement\" class=\"listing-product\">
<div itemscope itemtype=\"\" class=\"column clear\">
<a href=products.php?PrdID=$meResult[id] target=_blank>
<div class=\"category-box\">
<div class=\"product-area\"><div class=\"product-l-box\"> </div>
<div class=\"product-s-box\"><ul>
<li><a \" class=\"hvr-glow hvr-border-fade\" title=\"\">
<a href=products.php?PrdID=$meResult[id] target=_blank> <div class=\"thumb horizontal\">
<div class=\"thumb-inner\">
<img src='../Admin/IMG/$meResult[productsphoto]' itemprop=\"image\" </a>
</div>
</div></div>" ; ?>
</td>
<? if ($check % 4== 0) {
echo "</TR>";
$check=0;}
$check++;}
?>
</table>
<!-- End Product Shows -->
</body>
</html>
ส่วนโค้ดด้านล่างนี้แปลงเป็น Mysqli ในแบบมั่วๆของผมเกือบได้แล้วครับแต่ดันติด Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given ทำเอาสะปวดหัวเลย วานผู้รู้ช่วยทีนะครับ
Code (PHP)
<?php
session_start();
require_once "connect.php";
$serverName = "localhost";
$userName = "root";
$userPassword = "123456";
$dbName = "shopping";
$meCon = mysqli_connect($serverName,$userName,$userPassword,$dbName);
$strSQL = "SELECT * FROM female_bag WHERE (productsname LIKE '%".$_GET["txtKeyword"]."%' or productscode LIKE '%".$_GET["txtKeyword"]."%' )";
$objQuery = mysqli_query($meCon,$strSQL);
$Num_Rows = mysqli_num_rows($objQuery);
$Per_Page = 10; // Per Page
$Page = $_GET["Page"];
if(!$_GET["Page"])
{
$Page=1;
}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
$strSQL .=" order by productsname ASC LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<!-- Product Shows -->
<table>
<?
$check=1;
while($meResult = mysqli_fetch_assoc($objQuery)) {
if ($check%1 ==1){
echo "<TR>";
}
?>
<td><?
$products_name = substr($meResult[productsname],0,20);
echo " <div itemprop=\"itemListElement\" class=\"listing-product\">
<div itemscope itemtype=\"\" class=\"column clear\">
<a href=products.php?PrdID=$meResult[id] target=_blank>
<div class=\"category-box\">
<div class=\"product-area\"><div class=\"product-l-box\"> </div>
<div class=\"product-s-box\"><ul>
<li><a \" class=\"hvr-glow hvr-border-fade\" title=\"\">
<a href=products.php?PrdID=$meResult[id] target=_blank> <div class=\"thumb horizontal\">
<div class=\"thumb-inner\">
<img src='../Admin/IMG/$meResult[productsphoto]' itemprop=\"image\" </a>
</div>
</div>
</div>" ; ?>
</td>
<? if ($check % 4== 0) {
echo "</TR>";
$check=0;
}
$check++;
}
?>
</table>
<!-- End Product Shows -->
</body>
</html>
SQL ที่ใช้
Code (SQL)
-- phpMyAdmin SQL Dump
-- version 2.10.3
-- http://www.phpmyadmin.net
--
-- โฮสต์: localhost
-- เวลาในการสร้าง:
-- รุ่นของเซิร์ฟเวอร์: 5.0.51
-- รุ่นของ PHP: 5.2.6
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- ฐานข้อมูล: `shopping`
--
-- --------------------------------------------------------
--
-- โครงสร้างตาราง `female_bag`
--
CREATE TABLE `female_bag` (
`id` int(11) NOT NULL auto_increment,
`productstypecode` varchar(20) NOT NULL,
`productscode` varchar(20) NOT NULL,
`productsname` varchar(100) NOT NULL,
`productsprice` int(11) NOT NULL,
`productsdetail` varchar(1000) NOT NULL,
`productsphoto` varchar(100) NOT NULL,
`readprd` int(11) NOT NULL,
`status` varchar(10) NOT NULL,
`amount` int(11) NOT NULL,
`stats` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=16 ;
--
-- dump ตาราง `female_bag`
--
INSERT INTO `female_bag` VALUES (1, 'PT1', 'PRD1', 'BlackBerry Bold 9780 NOLOGO ', 15900, 'สินค้าคุณภาพดี\r\n', '20110527150953.jpg', 0, 'on', 100, 0);
INSERT INTO `female_bag` VALUES (2, 'PT1', 'PRD2', 'BlackBerry Playbook 16GB WiFi ', 25000, 'สินค้าคุณภาพดี\r\n', '20110527150953.jpeg', 0, 'on', 100, 0);
INSERT INTO `female_bag` VALUES (3, 'PT2', 'PRD3', 'Nokia C5-03', 7500, 'สินค้าคุณภาพดี\r\n', '20110527150953.jpeg', 0, '11111', 100, 0);
INSERT INTO `female_bag` VALUES (15, '8888888', '8888888888', 'play2Bag', 2147483647, 'gjhjkhjkhjh', '', 0, '', 0, 0);
INSERT INTO `female_bag` VALUES (5, 'PT4', 'PRD5', 'Sony Ericsson Xperia X8', 7000, 'สินค้าคุณภาพดีจา\r\n', '20110527150953.jpeg', 0, 'on', 100, 0);
INSERT INTO `female_bag` VALUES (6, 'PT4', 'PRD6', 'Sony Ericsson X10 mini Pro', 9850, 'สินค้าคุณภาพดี\r\n\r\n', '20110527150953.jpeg', 0, '11111', 100, 0);
INSERT INTO `female_bag` VALUES (7, '3435', '56565', 'hghg', 34, 'ghghg', '', 0, '', 0, 0);
INSERT INTO `female_bag` VALUES (8, '6666', 'ghghg', '34', 0, '', '20110527150953.jpg', 0, '', 0, 0);
INSERT INTO `female_bag` VALUES (14, '2355', '234345', 'fgf', 112, '', '', 0, '', 0, 0);
INSERT INTO `female_bag` VALUES (10, '2222', '454564', 'gfhfh', 4545, '', '', 0, '', 0, 0);
INSERT INTO `female_bag` VALUES (11, '66777', '4545', 'fhg', 565, '', '20110527150953.jpeg', 0, '', 0, 0);
INSERT INTO `female_bag` VALUES (12, '45454', '4545', 'ghfghf', 233, '', '', 0, '', 0, 0);
Tag : PHP, MySQL, HTML/CSS, JavaScript, CakePHP, Web (ASP.NET)
ประวัติการแก้ไข 2015-06-04 20:38:17
Date :
2015-06-04 20:35:55
By :
apple1101
View :
990
Reply :
2
ตัวนี้เลยครับ
PHP MySQL Paging/Pagination (mysqli)
Date :
2015-06-05 09:34:00
By :
mr.win
บรรทัดที่ 43 ในส่วนที่แปลงเป็น mysqli ยังเป็น $objQuery = mysql_query($strSQL); อยู่เลยครับ ใส่ให้เหมือนด้านบนครับ $objQuery = mysqli_query($meCon,$strSQL);
หากยังไม่ได้ ก็ดูตัวอย่างตามที่พี่วินแนะนำมานะครับ
Date :
2015-06-05 10:20:34
By :
arm8957
Load balance : Server 01