|
|
|
ต้องการแทนที่คำที่ต้องการ ในเรคคอร์ดที่อยู่ในตาราง ทำไงดีค่ะ ขอความช่วยเหลือด้วยนะ |
|
|
|
|
|
|
|
เลือกขอมูลในตารางนั้น เอาฟิลดที่เก็บเบอร์โทร และที่เป็น primary key มา
แล้ววนรอบด้วย while จากนั้น ใช้ str_replace เหมือนที่คุณทำอะแหละ แล้วก็ update ลงฐานข้อมูลที่เก็บเบอร์โทร where primary key ที่ดึงออกมาด้วย
งง ไหม
ถ้า งง เอาชื่อ ฟิลด์ที่เก็บเบอร์โทร ชื่อฟิลด์ที่เป็น primary key แล้วชื่อตารางมา เดี๋ยวเขียนให้
|
|
|
|
|
Date :
2009-08-09 20:17:55 |
By :
monotakari |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอรบกวนช่วยด้วยนะค่ะ ส่ง Database มาเลยนะค่ะ
---------------------------------
-- phpMyAdmin SQL Dump
-- version 2.10.2
-- http://www.phpmyadmin.net
--
-- โฮสต์: localhost
-- เวลาในการสร้าง: 10 ส.ค. 2009 น.
-- รุ่นของเซิร์ฟเวอร์: 5.1.25
-- รุ่นของ PHP: 5.2.6
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- ฐานข้อมูล: `db_employee`
--
-- --------------------------------------------------------
--
-- โครงสร้างตาราง `tb_user`
--
CREATE TABLE `tb_user` (
`idUser` int(11) NOT NULL AUTO_INCREMENT,
`userName` varchar(255) NOT NULL,
`position` varchar(255) NOT NULL,
`contact` varchar(255) NOT NULL,
PRIMARY KEY (`idUser`)
) ENGINE=InnoDB DEFAULT CHARSET=tis620 AUTO_INCREMENT=497 ;
--
-- dump ตาราง `tb_user`
--
INSERT INTO `tb_user` VALUES (1, 'Wuttipong Rungseesantivanon', 'Laboratory Officer', '025646500ต่อ4301');
INSERT INTO `tb_user` VALUES (2, 'Bunpot Mai-ngam', 'Specialist-Near Net Shape Metal Manufacturing', '025646500ต่อ4570');
INSERT INTO `tb_user` VALUES (3, 'Kongkiat Kongsuwan', 'Researcher', '025646500ต่อ4115');
INSERT INTO `tb_user` VALUES (4, 'Sorranant Tulyanon', 'Manager (Management Information System Section)', '025646500ต่อ4446');
INSERT INTO `tb_user` VALUES (5, 'Siriporn Tanodekaew', 'Computer System Analyst', '025646500ext4417');
INSERT INTO `tb_user` VALUES (6, 'Chanpen Thanomboon', 'Researcher', '025646500ต่อ4323');
INSERT INTO `tb_user` VALUES (7, 'Kuljira Sujirote', 'Manager (Policy&Planning Section)', '025646500ต่อ4402');
INSERT INTO `tb_user` VALUES (8, 'Jiradech Nakngoenthong', 'Computer System Analyst', '025646500ext4106');
INSERT INTO `tb_user` VALUES (9, 'Anan Daraphan', 'Assistant Researcher', '025646500ext4307');
INSERT INTO `tb_user` VALUES (10, 'Wanngam Weeraphasuk', 'Coordinator (Manager)', '025646500ต่อ4204');
INSERT INTO `tb_user` VALUES (11, 'Jintamai Suwanprateeb', 'Project Analyst', '0-2564-6500ext4100');
INSERT INTO `tb_user` VALUES (12, 'Pairote Jittham', 'Engineer', '025646500ต่อ4230');
INSERT INTO `tb_user` VALUES (13, 'Kittinan Unnanon', 'Engineer', '025646500ext4242');
INSERT INTO `tb_user` VALUES (14, 'Warunee Borwornkiatkaew', 'Coordinator', '025646500ext4352');
INSERT INTO `tb_user` VALUES (15, 'Teerapong Harnwirojkun', 'Researcher', '02564 6500 ต่อ 4051');
---------------------------------
ลองเขียนไปแล้ว งงง เลย
|
|
|
|
|
Date :
2009-08-10 01:44:31 |
By :
LukNam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
$result=mysql_query("select * from tb_user");
while($a=mysql_fetch_array($result)){
$id=$a['idUser'];
$contact=$a['contact'];
$b=str_replace("ต่อ"," ext. ",$contact);
$update=mysql_query("UPDATE tb_user set contact='$b' where idUser = '$id' ");
}
?>
ประมาณนี้
|
|
|
|
|
Date :
2009-08-10 02:58:26 |
By :
monotakari |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอขอบคุณพี่มากเลยนะค่ะ
หนูจะลองทำดูก่อน แล้วจะกลับมาบอกผลอีกทีนะ
|
|
|
|
|
Date :
2009-08-12 14:41:56 |
By :
LukNam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่รู้จะถูกอ้ะป่าว กลับมาบอกผลด้วยนะจ้ะ
|
|
|
|
|
Date :
2009-08-13 02:18:31 |
By :
monotakari |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เรียน พี่ ๛อร่อยจัง๛ อีกครั้งนะค่ะ
แบบว่าหนูได้เขียนโค๊ดตามคำแนะนำของพี่ไปแล้ว แต่พอรันดูมันจะขึ้นหน้าจอว่าง ๆ แล้วก็ไปดูข้อมูลในฐานก็มันเหมือนเดิมเลยนะค่ะ???
ยังไงก็ขอรบกวนอีกครั้งละนะค่ะ...ขอขอบคุณอย่างสูง
--------------------------------------
<?php
$hostName = "localhost";
$userName = "user";
$passWord = "user";
$conn = mysql_connect($hostName, $userName, $passWord) or die ("Cannot DataBase Server");
mysql_query("SET NAMES utf8", $conn);
mysql_query("USE db_employee");
//
$result = mysql_query("SELECT * FROM tb_user");
while($a = mysql_fetch_array($result)){
$id = $a['idUser'];
$contact = $a['contact'];
$b = str_replace("ต่อ"," ext. ",$contact);
$update = mysql_query("UPDATE tb_user set contact='$b' where idUser = '$id'");
}
?>
---------------------------------
|
|
|
|
|
Date :
2009-08-13 20:10:26 |
By :
LukNam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ฟีล idUser เป็น ตัวเลขป่าวคับ ถ้าเป็นตัวเลข ต้องเอา ' ' ที่ครอบออกด้วยนะครับ
$update = mysql_query("UPDATE tb_user SET contact='$b' where idUser = $id");
ประมาณนี้กระมัง
http://gunner.freetzi.com/newVer
|
|
|
|
|
Date :
2009-08-13 20:15:37 |
By :
pjgunner |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
$hostName = "localhost";
$userName = "user";
$passWord = "user";
$conn = mysql_connect($hostName, $userName, $passWord) or die ("Cannot DataBase Server");
@mysql_select_db("db_employee") ;//เลือกฐานข้อมูล เลือกอย่างนี้นะจ้ะ mysql_query("USE db_employee"); เอามาจากไหนเนี้ย มะเคยใช้
@mysql_query("SET NAMES TIS620");
//
$result = mysql_query("SELECT * FROM tb_user");
$count=1;
while($a = mysql_fetch_array($result)){
$id = $a['idUser'];
$contact = $a['contact'];
$b = str_replace("ต่อ"," ext. ",$contact);
$update = mysql_query("UPDATE tb_user set contact='$b' where idUser = '$id'");
if($update){
print"update record ที่ $count สำเร็จ";
}else{
print"update record ที่ $count ไม่สำเร็จและหยุดดำเนินการแล้ว กรุณาลองใหม่อีกครั้ง";
exit;
}
$count++;
}
?>
ลองดูใหม่นะ เดี๋ยวกลับเข้ามาดูเรื่อยๆ
|
|
|
|
|
Date :
2009-08-13 20:20:28 |
By :
monotakari |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คำสั่ง mysql_query("USE DatabaseName"); เอามาจากหนังสือ "คู่มือการพัฒนาเว็บด้ย PHP5 และ MySQL5" ผู้เขียน บัญชา ปะสีละเตสัง (เล่มสีส้ม)
http://www.se-ed.com/eShop/Products/Detail.aspx?No=9789742125455
----------------------------------
เขียนไว้ว่า...
อย่างไรก็ตามโดยทั่วไปเราไม่นิยมใช้ฟังก์ชั่น mysql_select_db() นัก เพราะในการกำหนดชื่อฐานข้อมูลนั้น เราสามารถใช้รูปแบบคำสั่ง USE แทนก็ได้เช่น
mysql_query("USE DatabaseName");
เป็นการเข้าใช้ฐานข้อมูลที่เร็วกว่าการใช้ฟังก์ชั่น mysql_select_db()
--------------------------------------
หนูได้สรุปให้เท่านี้ค่ะ
แต่ปัญหาที่หนูพบที่ขึ้นหน้าจอว่าง ๆ นั้น ก็เจอปัญหาแล้ว คือว่าข้อมูลในตารางจะอ่านได้เป็นคำว่า "ต่อ"
แต่พอแสดงออกมาบนหน้าเว็บจะอ่านไม่ออกเลย พยายามอยู่ได้จนพบว่าต้องกำหนด
mysql_query("SET NAMES utf8", $conn); มาเป็น
mysql_query("SET NAMES tis620", $conn);
ก็จะทำการเปลี่ยนคำที่ต้องการได้เลยนะค่ะ
อย่างไรก็แล้วแต่ หนูต้องขอขอบคุณพี่ ๛อร่อยจัง๛ อย่างมากเลยนะ ที่กรุณาช่วยอย่างรวดเร็วเหลือกัน (ที่เพิ่งเขียนไปสักครู่นี้เองเลยค่ะ) และขอขอบคุณพี่ เอี่ยว(Rest) อีกคนด้วยนะ ที่ช่วยเหลือมาโดยตลอดทุกครั้งเลย....เท่านี้ก่อนนะค่ะ...
|
|
|
|
|
Date :
2009-08-13 20:38:55 |
By :
LukNam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มิเป็นไรครับ
สรุปแล้ว มันได้ไหม
|
|
|
|
|
Date :
2009-08-13 21:08:36 |
By :
monotakari |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หวัดดี พี่ ๛อร่อยจัง๛ อีกครั้งนะค่ะ
ก็คือว่ารันได้นะค่ะ ข้อมูลในฐานก็อัพเดททั้งหมด แต่ก็คิดไปมาว่าข้อมูลที่เป็นตัวเลขหมายเลขโทรศัพท์นั้น มันติดกันยาวเลย ไม่เป็นรูปแบบของหมายเลขโทรศัพท์ มันจะสามารถจะเอาออกมาแสดงเป็น
เช่น 025646522 ต่อ 3245 มาเป็น 02-5-6522 ext. 3245 ในรูปแบบอย่างนี้ทุก ๆ เรคคอร์ดได้หรือไม่
เพราะแต่ละเรคคอร์ทที่ได้มาจาก ผู้ใช้เป็นคนกรอกจากหน้าฟอร์มลงฐาน และกำชับแล้วว่าให้กรอกให้มีรูปแบบสักหน่อย แต่ก็มีการมั่ว ๆ มาทุกทีเลยนะค่ะ
แล้วมันจะสามารถเอามาจัดรูปแบบเหมือนกันหมดทุก ๆ เรคคอร์ดเลยได้ป่าวค่ะ ขอขอบคุณมากเลยค่ะ....
|
|
|
|
|
Date :
2009-08-14 18:04:09 |
By :
LukNam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอลองก่อน คิดฟังก์ชั่นที่จะใช้ไม่ออก รอแปปนะ เพิ่งได้ใช้คอม
|
|
|
|
|
Date :
2009-08-14 20:11:06 |
By :
monotakari |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รูปแบบนี้ทุกฟิลด์ป้ะครับ >> 02-5-6522 ext. 3245
|
|
|
|
|
Date :
2009-08-14 20:17:15 |
By :
monotakari |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถามผิดแฮะ
โทษทีครับ
เป็นเบอร์บ้านทุกเบอร์ แล้ว มี ต่อ ทุกเบอร์รึป่าวครับ
|
|
|
|
|
Date :
2009-08-14 20:19:55 |
By :
monotakari |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
function telephone($number){
$array=array();
$count=strlen($number);
for($i=0;$i<$count;$i++){
$cut=substr($number,$i,1);
if
($cut=="0"||$cut=="1"||$cut=="2"||$cut=="3"||$cut=="4"||$cut=="5"||
$cut=="6"||$cut=="7"||$cut=="8"||$cut=="9"){
array_push($array,$cut);
}
}
$return_number="$array[0]$array[1]-$array[2]$array[3]$array[4]-
$array[5]$array[6]$array[7]$array[8] ext. $array[9]$array[10]
$array[11]$array[12]$array[13]";
return $return_number;
}
?>
ลองเอาฟังก์ชั่นนี้ไปใช้ดู เอาฟังก์ชั่นนี้ตรวจสอบดูก่อน แล้วก็ค่อยเพิ่งลงฐานข้อมูล
เอาฟังก์ชั่นนี้ไปไว้ตรวจสอบที่หน้าเพิ่มลงฐานข้อมูลด้วยก็ดีนะครับ จะได้ไม่ต้องมาแก้เองทีหลัง
ได้หรือไม่ได้อย่างไร กลับมาบอกด้วยนะจ้ะ
ปล เขียนเป็นแต่แบบง่ายๆอะครับ เพิ่งหัดเหมือนกัน
ลองดูนะ ถ้าติดปัญหาอะไรก็มาโพสใหม่ละกัน
ไม่ก็แอดมานะ bandwagon at windowslive.com
|
|
|
|
|
Date :
2009-08-14 21:40:49 |
By :
monotakari |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คิดว่าน่าจะได้แล้วนะ พอดีนึกขึ้นมาได้
mysql_query("UPDATE tb_user SET contact = REPLACE(contact, 'ต่อ', ' ext ')");
http://gunner.freetzi.com/newVer/
|
|
|
|
|
Date :
2009-08-14 22:06:53 |
By :
pjgunner |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รูปแบบของผมคือ มองหาแต่ตัวเลข แล้วเอามาจัดรูปแบบตามที่กำหนด โดยไม่สนว่า รูปแบบครั้งแรกที่ป้อนข้อมูลมานั้นจะถูกอยู่แล้วหรือไม่
สมมติ ถ้าป้อนข้อมูลเข้าไปเป็น 02dfdf123พ7890ต่ออะไรก็ไม่รู้123
ผลก็จะออกมาเป็น 02-123-7890 ext. 123
เสมอ
|
|
|
|
|
Date :
2009-08-14 22:12:12 |
By :
monotakari |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไปเดินเล่นก่อนเด้อ เดี๋ยวกลับมาตอบใหม่
|
|
|
|
|
Date :
2009-08-14 22:32:37 |
By :
monotakari |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|