[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выбор значений, входящих в массив
Betcoll
Добрый день. Есть строка вида 1.2.3
Получаю из нее массив

$param_type_array = explode(".",$param_type);


Теперь мне надо выбрать из БД записи, в которых переменная result входит в этот массив. Что я не так делаю?


SELECT bets.*,sports.name AS sport_name, bookmakers.name AS bookmaker_name,bookmakers.img_path AS bookmaker_img FROM `bets` 
LEFT JOIN `bookmakers` ON bookmakers.id=bets.id_bookmaker
RIGHT JOIN `sports` ON sports.id=bets.id_sport WHERE bets.id_user='".$id_user."'
AND bets.result IN ('".$param_type_array."') ORDER BY bets.add_date DESC LIMIT $max_bets_on_page
Kusss
IN (". implode(',', $param_type_array) .")
sergeiss
Betcoll, я еще добавлю, что когда возникают такие проблемы, то надо ту переменную, в которую ты записал запрос, просто вывести куда-нибудь и попробовать запустить этот запрос руками. А может и просто сразу увидишь, что в нем не так - когда уже всё подставлено, что ты хотел подставить.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Kusss
а можно вообще без массива обойтись
IN (". str_replace('.', ',', $param_type) .")
comolov
$arr = explode('.', '1.21.3.four.5five.six6');
var_dump(implode(',', array_map('intval', $arr)));
echo '<br>';
var_dump(implode(',', array_diff(array_map('intval', $arr), [0])));

string(12) "1,21,3,0,5,0" 
string(8) "1,21,3,5"
Valick
Цитата (Betcoll @ 18.09.2019 - 18:23)
Есть строка вида 1.2.3

откуда эта строка?

_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.