0

必要なオプション値を返すことができないようです。

実行したいSQLクエリは次のとおりです。

SELECT `profile_value` FROM `login_profiles` WHERE `pfield_id` = 1 AND `user_id` = 1 LIMIT 1

私はこれを試しました

<?php $profile->getOption('1', false, true, '1'); ?> 

IDを引用符で囲みませんが、うまくいきませんでした。

/**
 * Retrieves an option value based on option name.
 *
 * @param     string    $option    Name of option to retrieve.
 * @param     bool      $check     Whether the option is a checkbox.
 * @param     bool      $profile   Whether to return a profile field, or an admin setting.
 * @param     int       $id        Required if profile is true; the user_id of a user.
 * @return    string    The option value.
 */
public function getOption($option, $check = false, $profile = false, $id = '') {

    if (empty($option)) return false;

    $option = trim($option);

    if ( $profile ) {
        $params = array(
            ':option' => $option,
            ':id'     => $id
        );
        $sql = "SELECT `profile_value` FROM `login_profiles` WHERE `pfield_id` = :option AND `user_id` = :id LIMIT 1;";
    } else {
        $params = array( ':option' => $option );
        $sql = "SELECT `option_value` FROM `login_settings` WHERE `option_name` = :option LIMIT 1;";
    }

    $stmt = $this->query($sql, $params);

    if(!$stmt) return false;

    $result = $stmt->fetch(PDO::FETCH_NUM);
    $result = $result ? $result[0] : false;

    if($check)
        $result = !empty($result) ? 'checked="checked"' : '';

    return $result;

}

ありがとう

4

1 に答える 1

3

提供されたコードは何もしないはずです:

<?php $profile->getOption('1', false, true, '1'); ?>

私が望むオプション値を返すようにできないように見えることに基づいて推測するのは難しいですが、HTML属性を返すのを見るので、おそらくやりたいことは

<?php echo $profile->getOption('1', false, true, '1'); ?> 
于 2012-08-02T15:53:42.083 に答える