顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


主題 - oscars80

頁: [1]
1
LDAP 討論區 / ldapsearch的疑問
« 於: 2006-03-31 16:31 »
因為用ldp.exe(windows的ldap tools)可以找到某個cn,
但是用ldapsearch卻找不到該cn的詳細資料。

後來在求證之後,對方的ldap server是iplanet,
很像有限制ldap search的數量(每次只能搜尋兩百筆的樣子),
所以我在client這邊改sizelimit還是沒辦法找的到,
但是用ldp.exe,用分層式的方式就可以找的到,
兩者的總數也不同。

今天用自己寫的程式去跑也是可以找的到啦,
只是想問一下ldapsearch在這方面有沒有什麼參數可以設定,
或者是真的要用shell script來做一些控制呢?

2
PHP程式設計討論區 / xajax 的即時editor
« 於: 2006-03-09 18:39 »
還是有些問題.... @@

因為對xajax還不熟, 所以只用addReplace來做>"<
不過現在這樣子的output是可以達到即時編輯,但是因為用onblur來控制,
所以會變成當游標出現, 然後再點其他地方才會做將input type=text拿掉,
不過在第一次點, 出現input type=text的時候,
游標不會出來.... @@

之前想說用onclick, 不過反而變成沒辦法編輯....

不知道要怎麼修改會比較好 >"<

代碼: [選擇]

        function AddInput($FormA,$div_val)
        {
                $div_val2 = "i".$div_val;
                $objResponse = new xajaxResponse();
                $a = $objResponse->addReplace($div_val,"innerHTML",
                        $FormA[$div_val2]."<input type=hidden name=".$div_val2." value=\"".$FormA[$div_val2]."\">",
                        "<input type=text name=i".$div_val."x size=6 value=\"".$FormA[$div_val2].
                        "\" onchange=\"xajax_ReWrite(xajax.getFormValues('form1'),$div_val,$FormA[$div_val2]);\"".
                        " onblur=\"xajax_ReWrite(xajax.getFormValues('form1'),$div_val,$FormA[$div_val2]);\">");
                return $objResponse;
        }
        function ReWrite($FormA,$div_val,$org_val)
        {
                $div_val2 = "i".$div_val."x";
                $objResponse = new xajaxResponse();
                $objResponse->addReplace($div_val,"innerHTML",
                        "<input type=text name=".$div_val2." size=6 value=\"".$FormA[$div_val2].
                        "\" onchange=\"xajax_ReWrite(xajax.getFormValues('form1'),$div_val,$org_val);\"".
                        " onblur=\"xajax_ReWrite(xajax.getFormValues('form1'),$div_val,$org_val);\">",
                $FormA[$div_val2]."<input type=hidden name=i".$div_val." value=\"".$FormA[$div_val2]."\">");
                return $objResponse;
        }
        $xajax = new xajax();
        $xajax->registerFunction("AddInput");
        $xajax->registerFunction("ReWrite");
        //$xajax->debugOn();
        $xajax->processRequests();

.....
代碼: [選擇]

<table>

<form name=form1 method=post>
<?
for($i=1;$i<20;$i++)
{
 echo "<tr><td>\n";
 echo "<div name='$i' id='$i' onclick=\"xajax_AddInput(xajax.getFormValues('form1'),'$i');\">\n";
 $a = $i+1000;
 echo $a."<input type=hidden name=i".$i." value='".$a."'>\n";
 echo "</div></td></tr>";
}
?>
</form>
</table>


3
database 討論版 / 關於大量的insert / delete
« 於: 2006-02-07 12:08 »
目前我在manual看到的作法:
insert into tbl_name (col1,col2) values (v1-1,v1-2), (v2-1,v2-2).....

delete from tbl_name where col1 = v1-1 or v2-1 ....

問一個簡單的問題, 因為一次delete / insert畢竟會比較快,
但是當後面的v1-2 / v2-1變多的時候, 會不會有個極限的問題存在,
像是在php當中sql command只能到多少個字元這樣,
因為有點考慮把這樣大量的insert / delete寫成一個function來做,
但是怕說因為有字元極限而導致後面的array新增或是砍不到 ^^"

4
database 討論版 / 怎麼用join來作刪除...@@
« 於: 2006-01-25 14:45 »
狀況是,要判斷兩個table當中的三個選項是否相同,
如果相同則會在其中一個table砍除。

我的sql:
select tbl_a.mail from tbl_a left join tbl_b
 on tbl_a.grpid = tbl_b.grpid
 where tbl_a.mail = tbl_b.mail and tbl_a.name = tbl_b.name
 group by(tbl_a.mail)

tbl_a / tbl_b 是兩個table的名稱,要抓出name / mail / grpid相同。

這樣跑是沒有問題,不過因為要在tbl_a當中砍除相同的,
現在是先把資料select出來之後在做:
delete from tbl_a where mail='$mail'

想問一下能不能直接在sql這邊,在找到的同時直接就砍調.... ?
不然每次這樣找,在資料量太大的時候速度會比較慢一些^^"

5
目前碰到的問題:
一個目錄裡面有一千多個檔案,然後目前我要搜尋這個目錄當中的所有檔案中,
出現的關鍵字總共有幾次(關鍵字總共有五百多種)。

本來之前的作法是把關鍵字放入mysql當中,
然後每次fread檔案然後用for迴圈去比對,
可以這樣子一方面來說太操資料庫了,另一方面效率也慢。
(程序:先mysql select => 把關鍵字寫入array => for比對)

後來改用,將關鍵字全部dump出來,變成一個變數list,
每次使用前include檔案。
這樣子可以省去mysql select的時間跟效能,
但是每次都要include一次有點小累。
加上關鍵字改變的時候,去處理那個檔案會有點累人。

現在有個想法,就是把這些關鍵字放到shm當中,
只要是重開機或有變動的時候再去改變就好了,
然後從shm拉資料出來比對。有更動就是shm砍掉再重新load...

我的疑問是,第二種方法跟第三種方法的效率來說,會相差很多嗎?
因為來源的關鍵字會成長,以及比對的檔案數量也會增加,
所以相對的效率來說看能不能增快一點這樣子,
還是說第二種方式就是最佳解了,
或者是有更快的方式可以處理這種的字串搜尋... ? @@

頁: [1]