GORAGOD.com

freelance, web developer, web designer, hosting, domain name

ช่วยหน่อยครับ พอดีมี DB หลายตัวครับ อยากจะวนลูป connect นะครับ

นี่โค้ด connect.php ครับ
 <? $hostname = "localhost"; $user = "root"; $password = "root"; $newDB = $username; $conn = mysql_pconnect($hostname, $user, $password) or trigger_error(mysql_error(),E_USER_ERROR); mysql_query("SET NAMES utf8"); ?>

 ส่วนนี้เป็นโค้ดที่เขียนไว้ครับ username ของแต่ละโรงแรมเป็น DB นะครับ โรงแรมแต่ละโรงแรมจะมี DB เป็นของตัวเอง <? //วนลูปเอา username มาทำการ connect เพื่อหาห้องพักที่ได้จองไว้ $sql="select username from hotel where hotel_id order by hotel_id asc"; $result=mysql_db_query($database_conn,$sql); $N = mysql_num_rows($result); while($hotel_arr=mysql_fetch_array($result)){ $username=$hotel_arr['username'].","; if(preg_match('/,$/',$username)){ // ตรวจสอบตัวสุดท้ายเป็น , $username= preg_replace('/,$/','',$username); // ลบ , ตัวสุดท้ายออก } echo $username; } require_once('../Connections/connect.php'); mysql_db_query($newDB,$conn); $sql="select * from booking where cus_id='$Cus_id'"; $result=mysql_query($sql); //} while($Cbooking=mysql_fetch_array($result)){ $book_id =$Cbooking['book_id']; $hotel_id =$Cbooking['hotel_id']; $check_in =$Cbooking['check_in']; $check_out =$Cbooking['check_out']; ?> ผมอยากให้วนลูปตั้งแต่ DB ตัวแรกเพื่อหาข้อมูล การจองของลูกค้านะครับ ถ้าหากว่าไม่เจอใน DB แรกก็ให้ วนไปยังตัวต่อไป ไม่ทราบว่าผมต้องเขียนแบบไหนครับช่วยแก้ให้หน่อยนะครับที่ผมเขียนมานี่มันจะดึงมาแค่ตัวแรกนะครับมันไม่ยอมวนไปยัง DB ตัวต่อไปนะครับช่่วยทีครับ 
15 พ.ย. 2552 3 2,203

555+++ โค้ดคงเขียนให้ดูแบบเต็มๆ ไม่ได้ เอาหลักการไป

เวลาวนลูปให้วนตั้งแต่ connect ไปจนถึง close เ้ลย โดยกระทำกับ db ทีละตัว

$dbs = ('database1', 'database2');
foreach($dbs AS $database){
  $conn = mysql_connect($database,.......
  // do some thing
  mysql_close($conn);
}


ปัญหาคือ ผลลัพท์แสดงผลทันทีหรือเปล่า ถ้าใช่ โค้ดด้านบนก็สามารถแสดงผลได้ทันทีเลย แต่ถ้ายังต้องเอาผลลัพท์มาทำอย่างอื่นอีก แนะนำให้ นำผลลัพท์ฬส่ array แล้วค่อยประมวลผลต่อ

ถ้าเป็นไปได้ แนะนำให้ใช้ db และ ตารางเดียวกันจะง่ายกว่า การใช้ db หลายตัวอาจมีข้อจำกัดที่ว่า server บางแห่ง อาจจำกัดจำนวน db ของเราครับ

ส่วนในการจัดการ db ถ้าใช้เป็น class ได้ การทำงานก็อาจจะง่ายขึ้นนะครับ (GCMS มี class สำหรับ mysql อยู่ในนั้นครับ)
#1

^
^
สุดยอดเกิ้นครับ พี่กรกด

#2

ขอบคุณพี่ gOragod มากนะครับ
#3
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^