запрос не может найти данные в базе данных wp / gravity

Я надеюсь, что это простой вопрос для кого-то, хотя я пытаюсь понять это и не получить ничего. Все, что я пытаюсь сделать, — это заставить некоторый PHP-код запрашивать базу данных wordpress, чтобы извлечь некоторую информацию из таблицы, в которой хранятся записи для плагина гравитационных форм. Вот мой код:

global $wpdb;
foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=1.1") as $key200 => $row200) {
$street_address = $row200->value;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=1.3") as $key200 => $row200) {
$city = $row200->value;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=1.4") as $key200 => $row200) {
$state = $row200->value;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=1.5") as $key200 => $row200) {
$zip_code = $row200->value;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=7") as $key200 => $row200) {
$credit = $row200->value;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id") as $key200 => $row200) {
$form_id = $row200->form_id;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=2") as $key200 => $row200) {
$financing_type = $row200->value;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=3") as $key200 => $row200) {
$home_worth = $row200->value;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=4") as $key200 => $row200) {
$to_borrow = $row200->value;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=6") as $key200 => $row200) {
$down_payment = $row200->value;
}

foreach( $wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id=$entry_id AND field_number=5") as $key200 => $row200) {
$purchase_price = $row200->value;
}

Я использую объект $ wpdb для доступа к базе данных WordPress. Большинство из этих запросов работают нормально. Три из них не работают (город, штат и улица)

Я почти уверен, что это как-то связано с оператором выбора запроса, имеющим «AND field_number = 1.3». Тот факт, что искомое значение по какой-то причине равно 1,3, вызывает проблемы. есть четвертый запрос, подобный этому, который работает — это «zip_code», где номер поля равен 1,5, и он тянет его в OK …

Я знаю, что эти номера полей верны (1.1, 1.3 и 1.4), так как я могу видеть их в базе данных таким образом. Поэтому я думаю, что мне нужно как-то изменить свои запросы (по крайней мере, для этих трех элементов), чтобы они могли правильно указывать значения. Я попробовал несколько вещей, и ничто, кажется, не помогает.

Поэтому я надеюсь, что кто-то здесь может внести свой вклад в это и то, что я делаю неправильно.

Всего наилучшего, Джерард

0

Решение

Хлоп! Gravity Forms использует FLOAT значения для field_number колонка.

WTF? WTF? Разве разработчики Gravity Forms не знают, что это чисто случайный когда-нибудь FLOAT или же DOUBLE значение выходит точно равным другому? Как это могло сработать?

Попробуй это.

... AND ROUND(field_number,1) = 1.3

Это преобразует число с плавающей запятой как сохраненное в значение, которое может соответствовать.

Бывает, что 1.5 с чистой плавающей точкой выходит чистым, а 1.1 — нет. Ни 1.3, ни 1.4,

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]