Здравствуйте, мне необходимо найти в Mysql базе пользователей с определённым параметром. К примеру вывести в список только имена всех пользователей имеющих параметр 'Money' 99 Как это организовать в php mysql?
PHP: $query = mysqli_query($link, "SELECT `name` FROM `table_name` WHERE 'money' = 99"); $result = mysqli_fetch_assoc($query); foreach ($result as $arr) { echo $arr['name']; }
$link для чего здесь? И как мне сложить 2 числа? У меня в базе есть 2 пункта money и cash нужно сложить их и вывести общую сумму только 10 строк
[лайвхак] можно клацнуть мышкой по буковкам "mysqli_query" в коде и почитать, что там написано. [/лайвхак] а гугл его знает...
Ну это то я понял, только структура стоит так... В базе есть таблицы name cash bankacc Нужно вывести в html таблицу name и cash+banacc 10 ползователей с сортировкой больше.. Т.е. вывести 10 пользователей у которых самая большая сумма cash+bankacc
При запросе PHP: $query = mysqli_query($dblink, "SELECT * FROM players ORDER BY bankacc+cash DESC LIMIT 10"); $result = mysqli_fetch_assoc($query); foreach ($result as $arr) { echo $arr['name']; } Выдает такую страницу... http://prntscr.com/f56c0s
В том то и дело, что ошибок нет, коннект с базой имеется... Код (Text): <?php $server = '185.125.218.29'; $user = 'ihor'; $password = 'Genrih11'; $dblink = mysql_connect($server, $user, $password); $database = 'altislife'; $selected = mysql_select_db($database, $dblink); $query = mysqli_query($dblink, "SELECT * FROM players ORDER BY bankacc+cash DESC LIMIT 10"); $result = mysqli_fetch_assoc($query); foreach ($result as $arr) { echo $arr['name']; } ?>
Так используй либо mysql_, либо mysqli_ (лучше второе), а не вперемешку. --- Добавлено --- Ошибки полюбому есть. Включи отображение. Если на хостинге, то error_log должен быть файлик.
я тебе говорою, что в твоей предыдущей версии кода не может не быть ошибок. Просто они у тебя не отображаются. вот такую штуку пропиши в начале скрипта: PHP: error_reporting(E_ALL);
Ошибок не выводит ни где... Но страница так и не грузится --- Добавлено --- Причём если удалить запрос и оставить только коннект к базе, то страница грузится как пустая(В принципе и должна быть пустой без запроса) Код (Text): $query = mysqli_query($dblink, "SELECT * FROM players ORDER BY bankacc+cash DESC LIMIT 10"); $result = mysqli_fetch_assoc($query); foreach ($result as $arr) { echo $arr['name']; }
PHP: <?php error_reporting(E_ALL); $server = 'localhost'; $user = 'i****'; $password = '3324****'; $dblink = mysqli_connect($server, $user, $password); $database = '*****'; $selected = mysqli_select_db($database, $dblink); $query = mysqli_query($dblink, "SELECT * FROM players ORDER BY bankacc+cash DESC LIMIT 10"); $result = mysqli_fetch_assoc($query); foreach ($result as $arr) { echo $arr['name']; } ?>
я тебе сказал их поменять местами не для "танца с бубном". в мануале так написано. Говорю еще раз, ошибок не может не быть. почитай про фореач. там косяк серьезный.
Разделил файлы запроса и подключения, появилась ошибочка... Код (Text): [08-May-2017 19:19:49 UTC] PHP Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /home/public_html/con.php:6 Stack trace: #0 {main} thrown in /home/public_html/con.php on line 6 В итоге страница запроса грузится, но белая А вот со страницей запроса такая же фигня.. Так же есть такая панелька http://prntscr.com/f5l1ct
Проблему решил, долбаный хостинг закрывал мне mysqli... В общем сейчас проблема только в том, что выводит запрос только 1 строки из таблицы... А надо вывести сортировку... Т.е. взять всех пользователей, сложить их 2 переменные и отсортировать 10 пользователей с самой большой суммой этих переменных