Я пытаюсь получить данные из взорванных значений, но я терплю неудачу, и я совершенно не знаю, несмотря на все исследования, которые я делал. Вот как выглядит код:
$array = explode(",", $hos['prop_owner']);
list($a) = $array;
$gu = $db->prepare("SELECT * FROM users WHERE user_id = :id");
$gu->execute(array(':id' => $a));
$dau = $gu->fetch();
echo $hos['prop_name']."<br><small>";
if(end($array)){
echo "<a href='/user/view/".$dau['user_id']."' style='color:#".$dau['user_colour']."'>".$dau['user_name']."</a></small><br>";
} else {
echo "<a href='/user/view/".$dau['user_id']."' style='color:#".$dau['user_colour']."'>".$dau['user_name']."</a>,";
}
В настоящее время поле базы данных $hos['prop_owner']
содержит значения "2,20", которые являются идентификаторами пользователей (это поле потенциально может содержать больше идентификаторов в будущем). То, что я хочу сделать, - это получить все пользовательские данные от взорванных значений, в этом случае 2 и 20, а затем эхо-информацию также в порядке.
Повторное объяснение:
У меня есть поле в моей базе данных, называемое prop_owner
которое должно содержать неограниченное количество идентификаторов пользователей, разделенных запятой. Формат: 1,2,3,4.
Я хочу взять значение из этого поля, а затем каким-то образом отделить идентификаторы пользователя и отдельно получить имена пользователей и вывести их из системы.
Пример результата: Даррен, Ева, Майлз, Лизбет
Надеюсь, я объяснил себе достаточно хорошо, чтобы понять, где я пытаюсь это сделать.
Заранее спасибо!
Прежде всего, запрос будет похож на
SELECT * FROM users WHERE user_id in (2,20)
Вам нужны данные обоих пользователей, чтобы запрос возвращал все данные всех идентификаторов, которые передаются здесь. Вы можете прямо передать здесь, но вам нужно позаботиться о безопасности... или, может быть, вы можете проверить, как безопасно передавать значения в таких запросах...
foreach
для запуска массива и сортировки его с новыми значениями, которые вы пытаетесь добавить ?$array
идентификаторов пользователей с вашим запросом.