Я пытаюсь получить конкретный счет на основе двух условий, а именно:
если 'Fieldname'='Centrum'
имеет 'FieldValue'='Reinier de Graaf, Delft'
сочетании с 'Fieldname'='Participate
", имеет " FieldValue'='Ja'
.
Что-то вроде:
$database = JFactory::getDBO();
$database->setQuery("SELECT COUNT('SubmissionId') FROM #__rsform_submission_values WHERE ('FieldName'='Participate' AND 'FieldValue'='Ja') AND ('FieldValue'='Reinier de Graaf Gasthuis, Delft')");
$formLayout = "Reinier de Graaf Gasthuis, Delft: <strong>".$database->loadResult()."</strong>";
Однако в этом случае он не дает мне правильного номера. Наверное, я что-то перемешиваю.
Это никогда не дает правильных результатов. Вы делаете так:
FieldValue
= 'Ja' AND FieldValue
= 'Reinier de Graaf Gasthuis, Delft'
выше - ошибка. вы можете использовать OR в одном случае
Ваш запрос должен быть:
SELECT COUNT('SubmissionId') FROM #__rsform_submission_values
WHERE 'FieldName'='Participate' AND
('FieldValue'='Ja' OR 'FieldValue'='Reinier de Graaf Gasthuis, Delft');
Это связано с тем, что невозможно иметь данные с значением поля, которое одновременно содержит два значения. Или вам лучше использовать функцию INSTR, чтобы проверить, содержит ли поле FieldValue искомые строки:
SELECT COUNT('SubmissionId') FROM #__rsform_submission_values
WHERE 'FieldName'='Participate' AND
(INSTR('FieldValue','Ja')>0 OR INSTR('FieldValue','Reinier de Graaf Gasthuis, Delft')>0);