MySQL выборочный столбец на основе другого столбца в PHP - PullRequest
0 голосов
/ 14 сентября 2010

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

Опять же, я уверен, что это легко, но я заблудился, поэтому я очень признателен за любую помощь. Спасибо!

Ответы [ 2 ]

4 голосов
/ 14 сентября 2010
$sql = "SELECT username, name FROM table";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)) { 
    echo "This {$row['username']} has the name {$row['name']}\n";
}
0 голосов
/ 14 сентября 2010

ответ Halfdan вроде работает, но он выбирает все строки и отображает их.То, что вам нужно, это предложение WHERE, которое позволяет вам фильтровать содержимое таблицы, чтобы запрос возвращал только те строки, которые вы хотите:

SELECT username, name
FROM sometable
WHERE (username = 'johndoe');

. Это вернет только те строки, где имя пользователяполе равно 'johndoe'Концептуально это эквивалентно:

$results = mysql_query("SELECT username, name FROM table");
while($row = mysql_fetch_assoc($results)) {
    if ($row['username'] == 'johndoe') {
        // do something, this is a row you want
    } else {
        // not a row you want. ignore it, or deal with it some other way
    }
}

основное отличие состоит в том, что для больших наборов данных в базе данных выполнение фильтрации на стороне клиента, как это дорого, так как все содержимое таблицы должно быть передано через,Использование предложения WHERE для ограничения того, что вы хотите, гораздо более эффективно в долгосрочной перспективе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...