Вывод данных из базы (php, mysqli, mysql)

Уроки по PHP, Javascript и т.п.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Вывод данных из базы (PHP + MySQL)

Сообщение Александр »

Sasha

Код: Выделить всё

SELECT * FROM `'.$table_name.'` WHERE `uid`='ОПРЕДЕЛЕННЫЙ ID';
Sasha
Сообщения: 53
Зарегистрирован: 18 дек 2010, 20:48

Re: Вывод данных из базы (PHP + MySQL)

Сообщение Sasha »

спасибо, а вот если у меня есть переменная содержащая id пользователя это так записывается :

Код: Выделить всё

'SELECT * FROM `'.$table_name.'` WHERE `uid`=$viewer_id';
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Вывод данных из базы (PHP + MySQL)

Сообщение Александр »

Sasha

Код: Выделить всё

'SELECT * FROM `'.$table_name.'` WHERE `uid`='.$viewer_id;
Чтобы проверить какой у тебя получается запрос, просто выводи его и смотри (echo).
-O-J-A-
Сообщения: 2
Зарегистрирован: 10 фев 2011, 20:28

Re: Вывод данных из базы (PHP + MySQL)

Сообщение -O-J-A- »

Вопрос таков: как реализовать для строки, к примеру score, что бы при при следующем запросе записывался результат если он больше предыдущего.
То есть: у игрока 100 очков, он набрал 80, нужно чтобы 100 не заменилось на 80.
Nick Lisogor
FL Team
FL Team
Сообщения: 119
Зарегистрирован: 12 дек 2010, 14:08

Re: Вывод данных из базы (PHP + MySQL)

Сообщение Nick Lisogor »

Код: Выделить всё

<?php$db_host="localhost";       //Хост$db_user="root";        //Имя пользователя$db_password="pass";        //Пароль$db_name = "database";      //Имя базы данных$table_name = "table";       //Имя таблицы статистики  //Скорее всего, твои очки тоже привязаны к id пользователя, поэтому нужно отправлять его в скрипт$viewer_id = (int)$_POST['viewer_id']; //Это последние набранные пользователем очки$last_points = (int)$_POST['last_points'];     //Соединяемся с БД    mysql_connect($db_host, $db_user, $db_password);    mysql_select_db($db_name);    mysql_query("SET NAMES 'utf8'");     //Есть ли такой ИД в БД, возвращает 0 или 1 так, как больше 1 пользователя с одинаковым ИД не будет    $get_id_from_db = mysql_query("SELECT count(*) FROM `$table_name` WHERE `название_столбца_с_id_пользователя`='$viewer_id'");    $num_id_from_db = mysql_result($get_id_from_db,0);     //Если такой пользователь есть    if($num_id_from_db==1)    {      //Узнаем его предыдущие очки       $get_points = mysql_query("SELECT `название_столбца_с_рекордом_пользователя` FROM `$table_name` WHERE `название_столбца_с_id_пользователя`='$viewer_id'");      $latest_points = mysql_result($get_points,0);       //И если они меньше, чем новые      if($last_points>$latest_points){        //Обновляем их новыми        $query = 'UPDATE `'.$table_name.'` SET `название_столбца_с_рекордом_пользователя` = '.$last_points.' WHERE `название_столбца_с_id_пользователя` = '.$viewer_id.';';      }       else       {        //Если же нет, то просто выходим из скрипта        exit;      }    }    //Отправляем запрос в БД    $sql = mysql_query($query);    echo "OK";?>
Писал недавно, пробуй
Foxmen
Сообщения: 80
Зарегистрирован: 03 сен 2010, 19:58

Re: Вывод данных из базы (PHP + MySQL)

Сообщение Foxmen »

Спасибо за урок.

А вы не подскажете как вывести случайный id?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Вывод данных из базы (PHP + MySQL)

Сообщение Александр »

Foxmen
Выбрать из базы количество записей, в php сгенерировать случайное число от 1 до количества записей и выбрать из базы значение по этому случайному id.
ORDER BY RAND() лучше не использовать. С большой базой будет медленно работать.
Foxmen
Сообщения: 80
Зарегистрирован: 03 сен 2010, 19:58

Re: Вывод данных из базы (PHP + MySQL)

Сообщение Foxmen »

почитал про ORDER BY BAND действительно от него только хуже.
Буду вашим методом пользоваться.
Со случайным числом и выводом не будет проблем я думаю, а вот как узнать количество записей в столбце uid?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Вывод данных из базы (PHP + MySQL)

Сообщение Александр »

Foxmen писал(а):как узнать количество записей в столбце uid
выполнить запрос

Код: Выделить всё

SELECT COUNT(*) FROM TABLE
maksimn
Сообщения: 59
Зарегистрирован: 26 мар 2011, 10:46

Re: Вывод данных из базы (PHP + MySQL)

Сообщение maksimn »

Александр, а как сделать чтобы выводились данные по двум полям? Например, нужно вывести пользователя с определенным именем и фамилией:

Код: Выделить всё

 $query = 'SELECT * FROM `stat` WHERE `last_name`= "Павел";`last_name`= "Дуров";'; 
Ответить