十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
查詢改為:
創(chuàng)新互聯(lián)成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元巴州做網(wǎng)站,已為上家服務(wù),為巴州各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
$sql = mysql_query("SELECT characters.*,departments.name as depname FROM characters left join departments on departments.departmentid=characters.departmentid ORDER BY salary DESC LIMIT 0,20");
部門:/strong? echo $data[depname]; ?
如果還不行,那么你直接在mysql客戶端執(zhí)行一下
SELECT characters.*,departments.name as depname FROM characters left join departments on departments.departmentid=characters.departmentid ORDER BY salary DESC LIMIT 0,20
如果depname沒有值的話,那么就說明數(shù)據(jù)庫里就沒有值了。你自然也取不出來。
也許是我孤陋寡聞了,似乎沒有辦法跨庫關(guān)聯(lián)查詢吧。如果非要跨庫關(guān)聯(lián),我能想到的辦法就是把兩邊的數(shù)據(jù)查詢出來并存入一個(gè)臨時(shí)表,再查詢臨時(shí)表。不過這種方法只是用于不同庫中相同或相似的表,比如有的數(shù)據(jù)量較大的分庫項(xiàng)目。
在回過頭來看你的項(xiàng)目需求,其實(shí)根本不需要跨庫的。首先在任意一個(gè)庫里創(chuàng)建一個(gè)表,在發(fā)送會(huì)議信息給會(huì)員的時(shí)候,除了這個(gè)表的主鍵之外,只需要記錄會(huì)員的id和會(huì)議的id,這兩個(gè)id分別從兩個(gè)庫里獲取。
你如果要查看某條會(huì)議信息發(fā)送的詳情,就通過這兩個(gè)id分別從兩個(gè)庫里獲取會(huì)員信息和會(huì)議信息。
你如果要查詢出列表,用笨辦法,因?yàn)槟氵@個(gè)表肯定和會(huì)員或會(huì)議其中一個(gè)在一個(gè)庫了,可以關(guān)聯(lián),然后在列表循環(huán)中逐條查詢另一個(gè)數(shù)據(jù),雖然這樣有些影響性能,但是也比“跨庫關(guān)聯(lián)查詢”好點(diǎn),況且如果數(shù)據(jù)多的話,一般都是分頁操作的話,一個(gè)列表最多二三十條記錄,一次查詢二三十也不會(huì)有太大影響。
另一個(gè)笨辦法,就是把發(fā)送記錄列表中所有需要列出的字段都記錄在發(fā)送會(huì)議信息的記錄表里,這樣就不需要在循環(huán)查詢另一個(gè)表了。但缺點(diǎn)就是這里面的數(shù)據(jù)就不能和會(huì)員以及會(huì)議信息的數(shù)據(jù)同步,除非你在更新會(huì)員以和會(huì)議信息的數(shù)據(jù)的同時(shí)更新這個(gè)表的數(shù)據(jù)。
但不管用哪種方式,我覺得都比“跨庫關(guān)聯(lián)查詢”要好,即使真的有“跨庫關(guān)聯(lián)查詢”的方法。
大概的基本流程如下:
連接數(shù)據(jù)庫,再加一個(gè)判斷。
選擇數(shù)據(jù)庫
讀取表
輸出表中數(shù)據(jù)
下面是代碼:
?php
$con = mysql_connect("localhost","root","abc123");
/* localhost 是服務(wù)器 root 是用戶名?abc123 是密碼*/?
if (!$con)
{
die("數(shù)據(jù)庫服務(wù)器連接失敗");
}
/*?這就是一個(gè)邏輯非判斷,如果錯(cuò)誤就輸出括號(hào)里的字符串 */?
@mysql_select_db("a",?$con);?
/*?選擇mysql服務(wù)器里的一個(gè)數(shù)據(jù)庫,假設(shè)你的數(shù)據(jù)庫名為?a*/
$sql?=?"SELECT?*?FROM qq";?
/* 定義變量sql,?"SELECT?*?FROM?qq" 是SQL指令,表示選取表qq中的數(shù)據(jù)?*/
$result = mysql_query($sql); //執(zhí)行SQL語句,獲得結(jié)果集
/*下面就是選擇性的輸出打印了,由于不清楚你的具體情況給你個(gè)表格打印吧*/
//打印表格?
echo "table border=1";?
while( $row = mysql_fetch_array($result) )
/*逐行獲取結(jié)果集中的記錄,得到數(shù)組row?*/
{ ?
/*數(shù)組row的下標(biāo)對(duì)應(yīng)著數(shù)據(jù)庫中的字段值?*/
$id = $row['id'];?
$name = $row['name'];?
$sex = $row['sex'];?
echo "tr";?
echo "td$id/td";?
echo "td$name/td";?
echo "td$sex/td";?
echo "/tr";?
}?
echo "table /";
?
如果你的switch是表頭,就定義這個(gè)表頭字段,然后輸出。