Важно !

Discussion in 'Болталка' started by Zmii666, 10 Jul 2018.

  1. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    Есть две таблицы characters и items в этих таблицах очень много строк, мне очень нужно сделать выборку из обоих таблиц так чтоб
    Это все дело выглядело примерно так

    из таблицы characters (admin- root -(12.апреля.2017)- онлайн -титул)
    из таблицы items (455-5)
    Значения obj_id и значение owner_id совпадают для каждого пользователя.

    [​IMG][​IMG]
     
  2. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    Народ как реализовать чтоб инфа выводилась в скрипте на страничку с 2ух таблиц
     
  3. Evan

    Evan Banned

    Joined:
    19 Aug 2016
    Messages:
    79
    Likes Received:
    203
    Reputations:
    0
    Code:
    SELECT t1.account_name,t1.char_name,t1.createtime,t1.online,t1.title,items.item_type FROM characters as t1,items WHERE characters.obj_id = items.owner_id
    Если я правильно понял.
     
    #3 Evan, 11 Jul 2018
    Last edited: 11 Jul 2018
    Triton_Mgn and DartPhoenix like this.
  4. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    вот спасибо!
    Извиняюсь конечно а как пхп скрипт будет выглядеть?
     
  5. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    И вот еще вопросик, в этом столбце дата хранится в юникс тайм как ее переконвертировать в человека читаемую ?
     
  6. cat1vo

    cat1vo Level 8

    Joined:
    12 Aug 2009
    Messages:
    375
    Likes Received:
    343
    Reputations:
    99
  7. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
  8. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    я понимаю что олень в программировании ну очень хочу понять как это реализовывается, накатал вот такой код
    Code:
    <?php
    $host = ''; // адрес сервера
    $database = ''; // имя базы данных
    $user = ''; // имя пользователя
    $password = ''; // пароль
    
    
    // подключаемся к серверу
    $link = mysqli_connect($host, $user, $password, $database)
        or die("Ошибка " . mysqli_error($link));
     
    $info = mysql_query ('SELECT t1.account_name,t1.char_name,t1.createtime,t1.online,t1.title,items.item_type FROM characters as t1,items WHERE characters.obj_id = items.owner_id');
      
    $myrow = mysql_fetch_array ($info);
    echo $myrow ["account_name"];
      
       // закрываем подключение
    mysqli_close($link);
      
      
    ?>
    только вот нихрена не показывает чистая страничка (
     
    #8 Zmii666, 11 Jul 2018
    Last edited: 11 Jul 2018
  9. Evan

    Evan Banned

    Joined:
    19 Aug 2016
    Messages:
    79
    Likes Received:
    203
    Reputations:
    0
    Возможно из-за того, что смешаны функции из набора MySQli c функциями из устаревшего набора MySQL, то есть без буквы "i". В любом случае выбери какой-то один набор, лучше конечно с "i".
     
  10. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    Сделал как ты сказал без "i" попробовал тоже ничего не выводится
    Code:
    <?php
    $host = ''; // адрес сервера
    $database = ''; // имя базы данных
    $user = ''; // имя пользователя
    $password = ''; // пароль
    
    
    // подключаемся к серверу
    $link = mysql_connect($host, $user, $password, $database)
        or die("Ошибка " . mysql_error($link));
      
    $info = mysql_query ('SELECT t1.account_name,t1.char_name,t1.createtime,t1.online,t1.title,items.item_type FROM characters as t1,items WHERE characters.obj_id = items.owner_id');
    
        
    $myrow = mysql_fetch_array ($info);
    echo $myrow ["t1.account_name"];
        
       // закрываем подключение
    mysql_close($link);
        
        
    ?>
     
  11. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    100% не правильная реализация кода(
     
  12. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    Сделал вот так
    Code:
    <?php
    
    $ipuser = $_SERVER["REMOTE_ADDR"];
    $host = '';
    $passwd = '';
    $login = '';
    $dbname = '';
    
    $dbc = @mysql_connect($host,$login,$passwd);
    if (!$dbc)
    {
      echo( "<P>В настоящий момент сервер базы данных не доступен, поэтому
                корректное отображение страницы невозможно.</P>" );
      exit();
    }
    if (!@mysql_select_db($dbname, $dbc))
    {
      echo( "<P>В настоящий момент база данных не доступна, поэтому
                корректное отображение страницы невозможно.</P>" );
      exit();
    }
    
    
    $tableIP = mysql_query("SELECT t1.account_name, t1.char_name, t1.createtime, t1.online, t1.title, items.item_type FROM characters as t1, items WHERE characters.obj_id = items.owner_id");
     
    if($tableIP)
    {
      // Определяем таблицу и заголовок
      echo "<table border=1>";
      echo "<tr><td>вывод1</td><td>вывод2</td></tr>";
      // Так как запрос возвращает несколько строк, применяем цикл
     while($accounts = mysql_fetch_array($tableIP))
      {
        echo
        "<tr>
        <td>".$accounts['t1.account_name']."&nbsp;</td>
        <td>".$accounts['t1.char_name']."&nbsp;</td>
        </tr>";
      }
      echo "</table>";
    }
    else
    {
      echo "<p><b>Error: ".mysql_error()."</b><p>";
      exit();
    }
    выдает ошибку Error: Unknown column 'characters.obj_id' in 'where clause'
     
  13. Evan

    Evan Banned

    Joined:
    19 Aug 2016
    Messages:
    79
    Likes Received:
    203
    Reputations:
    0
    Функция mysql_connect(), не принимает имя базы данных четвертым параметром. Такой синтаксис как у тебя, именно для варианта mysqli_connect. Поэтому чтобы не менять скрипт, ты наоборот к другим функциям добавь "i".
     
  14. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    тут я хочу остальные значения еще вывести
     
  15. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    спасиб, ща попробую
     
  16. Evan

    Evan Banned

    Joined:
    19 Aug 2016
    Messages:
    79
    Likes Received:
    203
    Reputations:
    0
    пока я пост писал, я смотрю ты уже скрипт переделал)). поэтому оставь уже этот вариант с набором без i. там судя по ошибке проблема теперь именно с самим запросом
     
  17. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    ок, я вот не могу вникнуть в эти запросы к бд ( вообще ни идет зараза!
     
  18. Evan

    Evan Banned

    Joined:
    19 Aug 2016
    Messages:
    79
    Likes Received:
    203
    Reputations:
    0
    короче в последнем варианте скрипта, который выдал ошибку SQL попробуй characters.obj_id заменить t1.obj_id
     
  19. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    Code:
    $ipuser = $_SERVER["REMOTE_ADDR"];
    $host = '3.';
    $passwd = '';
    $login = '';
    $dbname = '';
    
    $dbc = @mysql_connect($host, $login, $passwd);
    if (!$dbc)
    {
      echo( "<P>В настоящий момент СЕРВЕР БЫЗЫ данных не доступен, поэтому
                корректное отображение страницы невозможно.</P>" );
      exit();
    }
    
    if (!@mysql_select_db($dbname, $dbc))
    
    {
      echo( "<P>В настоящий момент БАЗА ДАННЫХ не доступна, поэтому
                корректное отображение страницы невозможно.</P>" );
      exit();
     
    }
    $tableIP = mysql_query("SELECT t1.account_name, t1.char_name, t1.createtime, t1.online, t1.title, items.item_type, items.amount FROM characters as t1, items WHERE t1.obj_id = items.owner_id AND t1.online = 1");
    
    if($tableIP)
    
    {
      // Определяем таблицу и заголовок
      echo "<table border=3>";
      echo "<tr><td>____Account____</td><td>___Имя чара___</td><td>___Дата создания___</td><td>___Online?___</td><td>___Титул___</td><td>___Предмет___</td><td>___Количество___</td></tr>";
     
      // Так как запрос возвращает несколько строк, применяем цикл
     while($accounts = mysql_fetch_array($tableIP))
      {
        echo
        "<tr>
        <td><center>".$accounts['account_name']."&nbsp;</center></td>
        <td><center>".$accounts['char_name']."&nbsp;</center></td>
        <td><center>".$accounts['createtime']."&nbsp;</center></td>
        <td><center>".$accounts['online']."&nbsp;</center></td>
        <td><center>".$accounts['title']."&nbsp;</center></td>
        <td><center>".$accounts['item_type']."&nbsp;</center></td>
        <td><center>".$accounts['amount']."&nbsp;</center></td>
        </tr>";
      }
      echo "</table>";
    }
    else
    {
       
     echo "<p><b>Error: ".mysql_error()."</b><p>";
      exit();
    }
    
    ?>
    
    </html>
     
  20. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    Спасибо тебе все работает!
    Как сделать чтобы столбцы "
    'account_name' 'char_name' 'createtime' 'online' 'title'
    " выводились только один раз а вот "'item_type' 'amount'" выводились до конца пока работает условие !?
     
    #20 Zmii666, 19 Jul 2018
    Last edited: 20 Jul 2018
Loading...