2014-11-07 2 views
0

У меня есть это:Получить информацию колонки на основе другой колонке

//Verification status 
$query = "SELECT name,verified FROM users"; 
$stmt = mysqli_stmt_init($con); 
$stmt->prepare($query); 
$stmt->execute(); 
$result2=$stmt->get_result(); 
$posterInfo = mysqli_fetch_assoc($result2); 

Запрос отвечает что-то вроде:

enter image description here

Я хочу, чтобы вытащить информацию, основанную на слева от (название) и вернуть статус проверки. Это то, что я пробовал:

$posterInfo['dx_dt'] 

Это должно вернуть y. Если бы я использовал:

$posterInfo['NotCheshire'] 

Он должен вернуть n.

Однако это не работает. Что мне делать?

+0

Если я понимаю, это правильно - вы должны иметь массив с именем '$ posterInfo' формы' array ('name' => {name}, 'verified' => {verified}) '... Я не уверен, что такое' $ row', но я предполагаю, повторять попытку чтобы найти что-то вроде '$ posterInfo ['agentnola']' с '$ posterInfo [$ row ['poster']]', который не будет работать - «имя» не является индексом в этом массиве. Вам, вероятно, понадобится петля массива, чтобы найти, где '$ posterInfo ['name'] == $ row ['poster']' и получить соответствующий 'проверенный' статус (или использовать функцию итерации/обратного вызова) – CD001

+0

@ CD001 Я обновил свой пост, чтобы сделать его более понятным, будет ли ваша идея работать с тем, что я имел в виду? Я думаю, что это нужно, но я хочу убедиться (я не могу редактировать свой сайт прямо сейчас) – Frank

ответ

1

Добавить предложение WHERE в запрос SELECT.

$query = "SELECT name,verified FROM users WHERE name = \"agentnola\""; 

Или как ваш код предполагает:

$query = "SELECT name,verified FROM users WHERE name = \"".$ row ["poster"]."\""; 

Редактировать Вы должны создать ассоциативный массив с помощью PHP

$posterInfo = array(); 
while ($row = mysqli_fetch_assoc($result2)) { 
    $posterInfo[$row["name"]] = $row["verified"]; 
} 
+0

Я сделал это в первый раз, однако я не хочу запрашивать базу данных каждый пост, потому что есть несколько сотен, которые запускаются каждый раз, когда страница загружается. – Frank

+0

@Chipperyman Вы должны исправить это с помощью PHP, как показано в отредактированном сообщении – hansmei

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