클라이언트 테이블에서 일부 사용자 데이터를 선택하고 다른 사용자 정의 필드 값을 선택하려고합니다. 내 문제는 결과를 통해 반복되는 것 같습니다. 하나의 사용자 정의 값 필드 당 중복 클라이언트 행이 계속 표시됩니다.whmcs는 하나의 클라이언트 당 2 개의 사용자 정의 필드 값을 선택합니다. PHP mysql
이것은 클라이언트 주소 세부 정보와 클라이언트 당 올바른 값을 다른 테이블 tblcustomfieldvalues
에서 가져 오는 SQL 쿼리입니다.
SELECT
tblhosting.userid,
tblclients.id,
tblclients.firstname,
tblclients.city,
tblclients.state,
tblclients.country,
tblclients.postcode,
tblclients.companyname,
tblclients.ip,
tblcustomfields.id,
tblcustomfields.fieldname,
tblcustomfieldsvalues.fieldid,
tblcustomfieldsvalues.value
FROM tblhosting,tblclients,tblcustomfields,tblcustomfieldsvalues
WHERE tblclients.id IS NOT NULL
AND tblclients.id = tblhosting.userid
AND tblcustomfields.id=tblcustomfieldsvalues.fieldid
AND tblcustomfieldsvalues.relid=tblhosting.id
AND tblcustomfieldsvalues.fieldid between 291 and 292
내 문제는 그래서 각 클라이언트와 tblclients
주소에 대한 tblcustomfieldsvalues
에서 두 개의 행 값을 얻는 방법이다.
쿼리를 분할하고 while 및 forech 루프를 사용했지만 클라이언트 테이블에서 중복 값을 계속 가져 오려고했습니다. 또는 클라이언트 당 하나의 customfield 값.
저는 while 루프로 문제를 해결하고 foreach 루프를 폭발 시켰습니다. 위의 쿼리는 whmcs 데이터베이스 테이블 연결에 대한 문서가없는 클라이언트에서 사용자 정의 필드 값을 얻는 데 적합합니다. – user1797390