[英]WordPress Login (User ID) & Specific Table Data
首先,感謝您來嘗試幫助我解決當前構建客戶用戶系統時遇到的問題。
首先,對我要構建的系統的簡要說明可能會闡明我的方法背后的含義。
我正在嘗試構建一個系統,使用戶可以通過WordPress登錄和注冊系統登錄網站,但是隨后,根據其WordPress ID,將從另一個MySQL表中獲得與該ID相關的信息。
這樣做的原因是,我們希望將特定數據存儲到另一個表上的用戶,例如體重,身高,性別等。
之所以需要在另一個表中,是因為來自另一個服務的API會將數據直接放入(並保持最新)在我們要創建的特定表中。
編碼:
$servername = 'server';
$username = 'username';
$password = 'password';
$conn = mysql_connect($servername, $username, $password);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT pacientes.Id, wp_users.ID, pacientes.nombre
FROM pacientes
RIGHT JOIN wp_users
ON pacientes.Id = wp_users.ID';
mysql_select_db('database');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
echo "Fetched data successfully";
mysql_close($conn);
到目前為止,一切似乎都按預期進行。 所有die命令使我一清二楚,所以我不懷疑查找或定位數據庫以及我提到的表沒有任何問題。
守則(第2部分)
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo "WordPress ID: {$row['ID']} <br> ".
"Patient Id: {$row['ID']} <br> ".
"Patient First Name: : {$row['nombre']} <br> ".
"Patient Second Name : {$row['apellidos']} <br> ";
}
現在,這可以正確地回顯數據。 如您所見,Patient ID和WordPress ID已正確關聯。 患者表中的第四位用戶確實是Manuel。
您可以在此處查看快速屏幕截圖: https : //gyazo.com/300af05da9afc8bcffa8f7efac628691
因此,我的問題是使該系統僅從“患者表”中提取數據,該數據與WordPress用戶ID選擇的與當前用戶的ID有關。
我看過各種資料,這些資料我也將在下面鏈接,但是到目前為止,還沒有任何資料提供我嘗試創建的內容。
再次; 這里的目的是用戶可以使用WordPress登錄,並基於與患者表中ID一致的WordPress ID,應該根據患者ID中的ID匹配向他們顯示患者表中的特定數據表。
目前的研究:
我非常感謝您可以為我提供的任何幫助,建議或指南。 謝謝。
因此,經過更多的工作,我找到了解決方案
代碼(數據庫連接和SQL查詢)
$servername = 'YourServer';
$username = 'YourUsername';
$password = 'YourPassword';
$conn = mysql_connect($servername, $username, $password);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
// Get the current User ID of the person logged into WordPress.
$currentUser = get_current_user_id();
$sql = 'SELECT wp_users.ID, sharedID, pacientes.nombre, pacientes.peso
FROM pacientes
RIGHT JOIN wp_users
ON pacientes.Id = wp_users.ID';
mysql_select_db('Sql918293_2');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
echo "Fetched data successfully";
mysql_close($conn);
這些代碼從數據庫中提取所有相關數據,並將它們連接在一起,以便您可以使用兩個表,只要它們具有公共ID。 在這種情況下,WordPress用戶的ID需要與患者表中的ID匹配。
代碼(僅將數據回顯給相關用戶)
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
if ($row['Id'] == $currentUser)
{
echo
"WordPress ID: {$row['ID']} <br> ".
"Patient Id: {$row['Id']} <br> ".
"Patient First Name: : {$row['nombre']} <br> ".
"Patient Second Name : {$row['apellidos']} <br> ".
"----------------------------------------<br>";
}
}
修復實際上非常容易,我不知道為什么它突然出現在我的腦海中。 我所要做的就是應用$ currentUser = get_current_user_ID(); 從WordPress獲取ID,並將其放入變量中。
然后,我做了一個簡單的If語句進行檢查,並且僅在變量正確的情況下回顯信息。
if ($row['Id'] == $currentUser)
如上所述,這基本上是根據ID(患者ID)進行檢查的,並且它是否與當前用戶相同(因為您已經登錄WordPress),然后打印信息。
希望對大家有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.