Русское сообщество по скриптингу

Помощь по PHP

Флуд, который не касается других разделов форума.

Модератор: Модераторы

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

Помощь по PHP

Сообщение Dmitry Beast » 30 сен 2017, 20:18

Добрый вечер Ув. Форумчане!
Помогите пожалуйста сделать так, чтобы выводило только 15 строк и по возможности, чтобы список нумеровало 1, 2, 3 и т.д.
Это что-то типо веб топа, скрипт был написан Fedcomp, за что ему большая благодарность! :thumbs_up

Код: Выделить всё
<?php
//phpinfo();exit; // Чисто для отладки

// Настройки mysql.
$mysql_host        = '';
$mysql_user        = '';
$mysql_pass        = '';
$mysql_db        = '';


// Подключаемся к базе
if(!$db_link = mysqli_connect($mysql_host, $mysql_user, $mysql_pass, $mysql_db))
    die('Не могу подключиться к mysql: '. mysqli_error());

// Проверяем существует ли разметка базы данных
if (mysqli_num_rows(mysqli_query($db_link, "SHOW TABLES LIKE 'Stats'")) > 0){
// Читаем все данные из базы, учтите что их может быть много.
// сразу сортируем по количеству player_win u win_contr
$result = mysqli_query($db_link, "SELECT * FROM `Stats` ORDER BY `player_win` DESC");
$players = array();

if(
mysqli_num_rows($result) > 0){
    while($players[] = mysqli_fetch_assoc($result));
    array_pop($players);
}

}
?><!DOCTYPE html>
<html lang="ru">
<head>
    <title>Статистика</title>
    <meta charset="utf-8">

</head>

<body>
    <div class="container">
      <div>
        <h1><p><b><span class="label label-success">Статистика</td></span></h1>
        <table class="table table">
        <tr>
            <th>Игрок<</th>
            <th>Побед</th>
            <th>Побед поряд</th>
            <th>Лучшая полоса побед поряд</th>
            <th>Всего игр</th>
            <th>Последняя победа</th>
        </tr>
        <?php if(!count($players)): ?>
        <tr>
            <td colspan="3">Статистики пока еще нет.</td>
        </tr>
        <?php else: ?>
        <?php foreach($players as $player): ?>
        <tr>
            <td><?=$player['player_name']?></td>
            <td><?=$player['player_win']?></td>
            <td><?=$player['win_contr']?></td>
            <td><?=$player['win_contr_two']?></td>
            <td><?=$player['total_user']?></td>
            <td><?=$player['date_win']?></td>

        </tr>
        <?php endforeach; ?>
        <?php endif; ?>
        </table>
      </div>
    </div>
  </body>
</html>
Аватара пользователя
Dmitry Beast
 
Сообщения: 1560
Зарегистрирован: 24 дек 2010, 10:35
Откуда: Египет
Благодарил (а): 440 раз.
Поблагодарили: 207 раз.
Опыт программирования: Больше трех лет
Языки программирования: All Languages

Re: Помощь по PHP

Сообщение Subb98 » 30 сен 2017, 22:16

Код: Выделить всё
$result mysqli_query($db_link"SELECT * FROM `Stats` ORDER BY `player_win` DESC"); 

>>

Код: Выделить всё
$result mysqli_query($db_link"SELECT * FROM `Stats` ORDER BY `id` LIMIT 15"); 

П.с.: не знаю, есть ли в таблице Stats поле id, но предполагаю, что есть.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Помощь по PHP

Сообщение Dmitry Beast » 30 сен 2017, 22:41

Subb98 писал(а):
Код: Выделить всё
$result = mysqli_query($db_link, "SELECT * FROM `Stats` ORDER BY `player_win` DESC"); 

>>

Код: Выделить всё
$result = mysqli_query($db_link, "SELECT * FROM `Stats` ORDER BY `id` LIMIT 15"); 

П.с.: не знаю, есть ли в таблице Stats поле id, но предполагаю, что есть.

это же сортировка и нужна именно по player_win, суть понял, сейчас попробую! :-)

Добавлено спустя 5 минут 8 секунд:
LIMIT 15 - работает, спасибо!
Но! Но статистика перевернулась и берется теперь наоборот с последних значений.

Т.е. обычно топ идёт 1,2,3 и т.д. место
а щас наоборот т.д. 3,2,1..

Добавлено спустя 3 минуты 13 секунд:
Код: Выделить всё
$result = mysqli_query($db_link, "SELECT * FROM `GGWinStats` ORDER BY `player_win` DESC LIMIT 15");

В общем DESC еще нужен и всё ок, спасибо!

Добавлено спустя 6 минут 14 секунд:
остаётся вопрос как их пронумеровать. :-[

Добавлено спустя 1 минуту 51 секунду:
я так понимаю должен быть тоже какой-то аргумент(или как правильно), который автоматом будет выставлять очередные числа рядом с ником
Код: Выделить всё
<td><?=$player['player_name']?></td>


Добавлено спустя 1 минуту 9 секунд:
Ну типо как-то так
Код: Выделить всё
<td><auto_num> <?=$player['player_name']?></td>

Подскажите, пожалуйста :-[
Аватара пользователя
Dmitry Beast
 
Сообщения: 1560
Зарегистрирован: 24 дек 2010, 10:35
Откуда: Египет
Благодарил (а): 440 раз.
Поблагодарили: 207 раз.
Опыт программирования: Больше трех лет
Языки программирования: All Languages

Re: Помощь по PHP

Сообщение Subb98 » 30 сен 2017, 23:37

Код: Выделить всё
<td><?=$player['id']?></td>

Не?

Добавлено спустя 1 минуту 9 секунд:
П.с.: а, хотя, не. Это индекс, это не то.

Добавлено спустя 1 минуту 33 секунды:
Код: Выделить всё
<?php foreach($players as $player): ?>

>>

Код: Выделить всё
<?php foreach($players as $i => $player): ?>

и ещё:

Код: Выделить всё
<td><?=$i 1?></td>
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Помощь по PHP

Сообщение RevCrew » 30 сен 2017, 23:56

Dmitry Beast, есть нумерованные списки в html, зачем тебе на php это делать?

Код: Выделить всё
<ol>
<
li></li>
</
ol
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown

Re: Помощь по PHP

Сообщение Dmitry Beast » 01 окт 2017, 00:27

RevCrew писал(а):Dmitry Beast, есть нумерованные списки в html, зачем тебе на php это делать?

Код: Выделить всё
<ol>
<
li></li>
</
ol>

ну я не сильно в этом, этот уже готовый год дал Fedcomp, пользуюсь тем, что есть. :-)

Добавлено спустя 12 минут:
RevCrew писал(а):Dmitry Beast,
Код: Выделить всё
<ol>
<
li></li>
</
ol


Код: Выделить всё
        <tr>
            <td><ol><li><?=$player['player_name']?></li></ol></td>
            <td><?=$player['player_win']?></td>
            <td><?=$player['win_contr']?></td>
            <td><?=$player['win_contr_two']?></td>
            <td><?=$player['total_user']?></td>
            <td><?=$player['date_win']?></td>

        </tr>

список пронумеровался, но везде 1ки стоят :dntknw:

Добавлено спустя 2 минуты 57 секунд:
Subb98 писал(а):
Код: Выделить всё
<td><?=$player['id']?></td>

Не?

Добавлено спустя 1 минуту 9 секунд:
П.с.: а, хотя, не. Это индекс, это не то.

Добавлено спустя 1 минуту 33 секунды:
Код: Выделить всё
<?php foreach($players as $player): ?>

>>

Код: Выделить всё
<?php foreach($players as $i => $player): ?>

и ещё:

Код: Выделить всё
<td><?=$i + 1?></td>

Прокатило, спасибо!

Добавлено спустя 13 минут 11 секунд:
Блин, всё ваще прям как надо, мужики огромное спасибо!

К сожалению, исходя из этих изменений появилась нужда выдернуть инфу от конкретного игрока.
Т.к. сейчас показывает всего 15 строчек, инфу со следующих не берет.
Можно ли как-то выдернуть date_win у определенной строки из бд и вывести ее?
Т.е. есть игрок, у него свой стим ид. Как можно взять инфу именно от него, ссылаясь на стим ид и вывести?
Последний раз редактировалось Dmitry Beast 01 окт 2017, 00:28, всего редактировалось 1 раз.
Аватара пользователя
Dmitry Beast
 
Сообщения: 1560
Зарегистрирован: 24 дек 2010, 10:35
Откуда: Египет
Благодарил (а): 440 раз.
Поблагодарили: 207 раз.
Опыт программирования: Больше трех лет
Языки программирования: All Languages

Re: Помощь по PHP

Сообщение Subb98 » 01 окт 2017, 00:29

RevCrew, а какая разница, если у нас всё равно php задействован? Он так или иначе будет html-код генерировать с разницей только в том, будет это li элемент или значение переменной. А если мы уже используем таблицу, то зачем там список?

Добавлено спустя 1 минуту 9 секунд:
Dmitry Beast, учи SQL :-)
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Помощь по PHP

Сообщение Dmitry Beast » 01 окт 2017, 00:32

Subb98 писал(а):RevCrew, а какая разница, если у нас всё равно php задействован? Он так или иначе будет html-код генерировать с разницей только в том, будет это li элемент или значение переменной. А если мы уже используем таблицу, то зачем там список?

Супчик, твой код работает как надо, примерно так себе это и представлял.
Но за попытку помочь Ревке тоже большое спасибо! :thumbs_up

Добавлено спустя 2 минуты 7 секунд:
Subb98 писал(а):Dmitry Beast, учи SQL :-)

Я понимаю, что наглею с готовой помощью, просто этот вопрос вылез уже исходя из новых изменений, его я не ожидал.
Но всё же... :-[
Аватара пользователя
Dmitry Beast
 
Сообщения: 1560
Зарегистрирован: 24 дек 2010, 10:35
Откуда: Египет
Благодарил (а): 440 раз.
Поблагодарили: 207 раз.
Опыт программирования: Больше трех лет
Языки программирования: All Languages

Re: Помощь по PHP

Сообщение Subb98 » 01 окт 2017, 00:34

Псевдокод:

Код: Выделить всё
select date_win from Stats where steamid 'тут_стимайди' 
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Помощь по PHP

Сообщение Dmitry Beast » 01 окт 2017, 00:40

Я себе прдеставил это так, но это конечно же не прокатило! :-D

Код: Выделить всё
<h2>Дата <?=$select date_win from Stats where steamid 'STEAM__SERVER_ID' ['date_win']?></h2>
Аватара пользователя
Dmitry Beast
 
Сообщения: 1560
Зарегистрирован: 24 дек 2010, 10:35
Откуда: Египет
Благодарил (а): 440 раз.
Поблагодарили: 207 раз.
Опыт программирования: Больше трех лет
Языки программирования: All Languages

След.

Вернуться в Болтовня

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10