2014-08-31 5 views
0

У меня проблема.PHP SQL SELECT, а затем UPDATE значение

$db = JFactory::getDBO(); 

$res2 = $_data['DateSubmitted']; 
//res2 returns 2014-08-31 12:03:02 
$res3 = $_data['UserIp']; 
//res3 returns 109.173.20.143 for example 

$resdate = date('Y-m-d H:i:s', strtotime($res2)); 

$SubmId = $db->query("SELECT `SubmissionId` FROM `rrr_submissions` WHERE `FormId` = '20' AND `DateSubmitted`='".$resdate."' AND `UserIp`='".$res3."'"); 

$db->setQuery("UPDATE `rrr_submission_values` SET `FieldValue` = '".$SubmId."' WHERE `FieldName`='7_Status' AND `SubmissionId`='5682'"); 

$db->query(); 

В rrr_submissions:

  • SubmissionId является INT (11) AUTO_INCREMENT
  • FormID является INT (11)
  • DateSubmitted является DateTime
  • UserIp является VARCHAR (15)

В rrr_submission_values:

  • FieldValue является текст
  • FieldName является текст
  • SubmissionId является INT (11)

Что я сделал не так? В результате я вижу «1» в FieldValue.

+1

Что вы ожидаете, и как это отличается от результатов, которые вы видите сейчас? Что вы пытались решить проблему, и как эта попытка потерпела неудачу? –

+0

Спасибо за ответ. Я хочу, чтобы первый запрос SELECT выбирал значение «SubmissionId» из таблицы «rrr_submissions». Затем я хочу установить это значение в переменную $ SubmId. И последний шаг, который я хочу обновить в таблице «rrr_submission_values» – maxbrus777

+0

Чтобы устранить проблему, я попытался проверить все переменные ($ res2, $ res3, $ resdate, $ SubmId). Я изменил шаг за шагом значение «FieldValue», чтобы узнать, что он возвращает. Например: $ db-> setQuery ("UPDATE' rrr_submission_values' SET 'FieldValue' = '". $ Res2. "' WHERE' FieldName' = '7_Status' AND 'SubmissionId' = '5682'"); – maxbrus777

ответ

1

Попробуйте загрузить строку результатов и затем вызвать значение поля.

$db = JFactory::getDBO(); 

$res2 = $_data['DateSubmitted']; 
//res2 returns 2014-08-31 12:03:02 
$res3 = $_data['UserIp']; 
//res3 returns 109.173.20.143 for example 

$resdate = date('Y-m-d H:i:s', strtotime($_data['DateSubmitted'])); 

$SubmId = $db->query("SELECT `SubmissionId` FROM `rrr_submissions` WHERE `FormId` = '20' AND `DateSubmitted`='".$resdate."' AND `UserIp`='".$res3."'"); 

$row = $db->loadRow(); 

$SubmId = $row['SubmissionId']; 

$db->setQuery("UPDATE `rrr_submission_values` SET `FieldValue` = '".$SubmId."' WHERE `FieldName`='7_Status' AND `SubmissionId`='5682'"); 

$db->query(); 
+0

Благодарим вас за ответ. Я попытался добавить этот код, но теперь он ничего не возвращает. – maxbrus777

+0

Это где-то ошибка. Теперь я пытаюсь это исправить. – maxbrus777

+0

Любые предложения? – maxbrus777

Смежные вопросы