|
|
|
PHP ถามเรื่องดึงข้อมูลของ USER จาก LDAP ลองแล้วแต่ดึงมาได้สูงสุด 1000 คน ทั้งที่ใน LDAP มีมากกว่า 1000 คน จะทำยังไงค่ะ |
|
|
|
|
|
|
|
ดึงข้อมูลของ USER จาก LDAP ตามโค๊ดนี้ค่ะ
Code (PHP)
<?php
$host = "192.168.0.1"; //ip server
$user = "[email protected]"; //username admin of server
$pswd = "12345"; //password server
$ad = ldap_connect($host) or die("Could not connect!");
ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3) or die ("Could not set ldap protocol");
$bd = ldap_bind($ad, $user, $pswd) or die ("Could not bind");
$dn = "DC=test,DC=com"; //มาตาม server คือ test.com หากมีมากกว่านี้ก็ใช้ DC เพิ่มเข้าไปอีก เช่น crop.test.com จะได้ "DC=crop,DC=test,DC=com"
$filter = "cn=*";
$search = ldap_search($ad, $dn, $filter) or die ("Search failed");
$entries = ldap_get_entries($ad, $search);
echo "<strong>FINE NUMBER : ".$entries["count"]." USER</strong><br><br>";
for ($i=0; $i<$entries["count"]; $i++) {
echo "dn is: ". $entries[$i]["dn"] ."<br>";
echo "first cn entry is: ". $entries[$i]["cn"][0] ."<br>";
echo "first email entry is: ". $entries[$i]["mail"][0] ."<br>";
echo "Title entry is: ". $entries[$i]["title"][0] ."<br>";
echo "Username is: ". $entries[$i]["samaccountname"][0] ."<br>";
echo "====================================================<br>";
}
?>
ผลที่ได้ มี 1000 คน ถ้าต้องการมากกว่า 1000 คน จะต้องแก้ยังไงค่ะ และถ้าต้องการเอาข้อมูลที่ดึงมาได้ INSERT ลงใน MySQL จะต้องทำยังไงค่ะ ขอบคุณค่ะ
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2012-08-01 15:16:31 |
By :
jittiporn.puk |
View :
3086 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง echo $entries["count"]; มีกี่ Record ครับ ส่วน Insert ก็แค่แทรกคำสั่ง Insert ใน Loop แค่นั้นครับ
|
|
|
|
|
Date :
2012-08-01 21:12:06 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เขียนให้ดูครับ
Code (PHP)
<?php
for ($i=0; $i<$entries["count"]; $i++) {
echo "dn is: ". $entries[$i]["dn"] ."<br>";
echo "first cn entry is: ". $entries[$i]["cn"][0] ."<br>";
echo "first email entry is: ". $entries[$i]["mail"][0] ."<br>";
echo "Title entry is: ". $entries[$i]["title"][0] ."<br>";
echo "Username is: ". $entries[$i]["samaccountname"][0] ."<br>";
echo "====================================================<br>";
$strSQL = " INSERT INTO ..... ";
mysql_query($strSQL);
}
?>
ส่วนคำสั่ง INSERT ดูได้ในบทความครับ
|
|
|
|
|
Date :
2012-08-01 21:13:42 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณพี่ mr. win ค่ะ
ส่วนค่าของ echo $entries["count"]; นั้นเท่ากับ 1000 แต่ ค่าใน LDAP จริงๆ มีมากกว่านั้นค่ะ จะต้องทำยังไงให้แสดง User ทั้งหมดค่ะ
ขอบคุณค่ะ
|
|
|
|
|
Date :
2012-08-06 16:59:09 |
By :
jittiporn.puk |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|