[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. qW1zer

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    Большая задача!

    В общем задача моя такова,сделать вывод из таблицы в массив,а далее этот массив поместить под конфиг или иначе под еще один массив,ибо я не знаю как еще объяснить выкладываю проблему!
    Есть класс:class_PQ(Вытащен из игровой статистики PsychoStats) с помощью этого класса можно сделать мониторинг серервера,но проблема в том,что надо в ручную записывать айпи:порт
    С выводом в таблицу из базы я уже разобрался,но подставить под этот класс не получается!
    Вот класс:
    http://l1nux.ru/upload/classes_pq.rar
    Вот код подключения к серверу и получения информации,при помощи класса:
    PHP:

     
    include("class_PQ.php"); // Если надо укажите путь.
     
    $pq PQ::create($conf);
     global 
    $pq;
     
    $info$pq->query_info('80.93.48.220:27017'); // Массив информации о сервере

    if (!$info){ echo "Не отвечает!";}

    // $info[serverlocked] - Пароль на сервере 1/2
    // $info[serversecure] - VAC 1/2
    // $info[totalplayers] - Сейчас игровой
    // $info[maxplayers] - Максимум игроков
    // $info[map] - Карта сервера

    А вот код,который из базы хапает все IP и Port
    и выводит в таблицу,код дали здесь и он работает!
    PHP:

    <?php
    $dblocation
    ="localhost";
    $dbname="mdb";
    $dbuser="root";
    $dbpassword="";
    $db_connect mysql_connect($dblocation,$dbuser,$dbpassword);
    $db_select mysql_select_db($dbname,$db_connect);

    $result mysql_query("SELECT * FROM mytable");
    ?>
    <table border="1">
    <?php
    while($row mysql_fetch_array($result)) {
    ?>
        <tr>
            <td><?=$row['ip']?></td>
            <td><?=$row['port']?></td>
        </tr>
    <?php
    }
    ?>
    </table>

    Суть в том,что при вставке вместо IP и PORT в первом коде,$row['ip'] и так же порт ничего не выходит,кому не сложно помогите с этой проблемой!Пробовал разные варианты . . .буду благодарен
     
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    PHP:
    <?php
    $dblocation
    ="localhost";
    $dbname="mdb";
    $dbuser="root";
    $dbpassword="";
    $db_connect mysql_connect($dblocation,$dbuser,$dbpassword);
    $db_select mysql_select_db($dbname,$db_connect);

    $result mysql_query("SELECT * FROM mytable");

     include(
    "class_PQ.php"); // Если надо укажите путь.
     
    $pq PQ::create($conf);
     global 
    $pq;

    ?>
    <table border="1">
    <?php
    while($row mysql_fetch_array($result)) {
    ?>
        <tr>
            <td><?=$row['ip']?></td>
            <td><?=$row['port']?></td>
            <td><pre><?PHP $info$pq->query_info(trim($row['ip']).':'.$row['port']);
    if (!
    $info){ echo "Не отвечает!";} else {var_dump($info);} ?></pre></td>
        </tr>
    <?php
    }
    ?>
    </table>
     
    _________________________
    1 person likes this.
  3. qW1zer

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    Спасибо,вариант работает!Можно сказать спас!
     
  4. qW1zer

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    Еще небольшой вопросец!
    Как вывести кол-во строк в таблице,то есть кол-во записей
     
  5. ANTIHАCK

    ANTIHАCK Member

    Joined:
    20 Jun 2009
    Messages:
    19
    Likes Received:
    7
    Reputations:
    0
    В общем банальный вопрос...

    Скрипт :

    Code:
    $login=$_POST['zovut'];
    $let=$_POST['let'];
    $ip = $_SERVER["REMOTE_ADDR"];
    $base=fopen("base.txt", "a");
    fwrite($base,"$login $let $ip"); 
    fclose($base);
    echo $login;
    echo " ";
    echo $let
    Как сделать так что бы после записи в файл ( fwrite($base,"$login $let $ip"); ) был переход на новую строчку... :rolleyes: пробовал сделать так:

    fwrite($base,"$login $let $ip <br>"); короче это все не правильно)) подскажите....
     
  6. Gray_Wolf

    Gray_Wolf Active Member

    Joined:
    7 Mar 2009
    Messages:
    377
    Likes Received:
    135
    Reputations:
    10
    ANTIHАCK
    Code:
    echo '\n\r';
    в твоём случае видимо fwrite($base,"$login $let $ip\n\r");
     
  7. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    ANTIHАCK
    Code:
    fwrite($base,$login $let $ip."\r\n");
    ______
    0ph.ru
     
    #12327 L I G A, 22 Oct 2009
    Last edited: 10 Dec 2009
  8. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    L I G A
    В одинарных кавычках, переноса не будет. Так и запишет в файл \r\n
     
    1 person likes this.
  9. [K4t]

    [K4t] New Member

    Joined:
    15 Feb 2009
    Messages:
    53
    Likes Received:
    4
    Reputations:
    1
    Вопрос в про "линк бар" ещё в силе ) но тут такаая проблема. Нужно выводить по 3 таблицы за в строке потом br 3 таблицы, онять br итд. вроде:
    Code:
    <table//><table//><table//><br>
    <table//><table//><table//><br>
    <table//><table//><table//><br>
    ...
    <>
    Код написал... ) но работает только двумя ((
    PHP:
    while ($row mysql_fetch_array($query)) {
    $nas++;
    if (
    $nas == 0) echo "<table class=icon><tr>";
    echo 
    "<td>";
    echo 
    "
    <table class=icon align=center valign=center>
    <tr>
    <td>"
    .$row['name']."</td>
    </tr>
    </table>"
    ;
    echo 
    "</td>";
    if (
    $nas !== 0) echo "</tr></table><br>";
    }
    да.. он ещё и какой-то некрасивый ))))
     
  10. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    [K4t]
    Таблицу вынеси за цикл а в теле цикла просто колонки и столбцы в нужных стилях делай.
     
    1 person likes this.
  11. ANTIHАCK

    ANTIHАCK Member

    Joined:
    20 Jun 2009
    Messages:
    19
    Likes Received:
    7
    Reputations:
    0
    Спасибо всем.
     
  12. [K4t]

    [K4t] New Member

    Joined:
    15 Feb 2009
    Messages:
    53
    Likes Received:
    4
    Reputations:
    1
    Оооо! Мысль )))) Щас.. типа так не работает
    PHP:
    $nas 0;
    echo 
    "<center><table class=icon>";
    while (
    $row mysql_fetch_array($query)) {
    if (
    $nas == 0) echo "<tr>";
    echo 
    "<td class=icon>".$row['name']."</td>";
    if (
    $nas == 0) echo "</tr>";
    $nas++;
    }
    echo 
    "</table></center>";
     
    #12332 [K4t], 22 Oct 2009
    Last edited: 22 Oct 2009
  13. [K4t]

    [K4t] New Member

    Joined:
    15 Feb 2009
    Messages:
    53
    Likes Received:
    4
    Reputations:
    1
    Вот так работает, но </tr> не вывожу ( без tr пашет ))
    $nas = 0;
    echo "<center><table class=icon>";
    while ($row = mysql_fetch_array($query)) {
    if ($nas % 3 == 0) echo "<tr>";
    echo "<td class=icon>".$row['name']."</td>";
    //if ($nas % 0 == 0) echo "</tr>";
    $nas++;
    }
    echo "</table></center>";
    }
     
  14. zifanchuck

    zifanchuck Elder - Старейшина

    Joined:
    27 Oct 2008
    Messages:
    396
    Likes Received:
    154
    Reputations:
    3
    Привет. Есть в пхп функция чтобы поднести допустим 5 в 35 степень. знаю что есть квадрат, а вот что бы в 35-ую незнаю. Можно просто цыклом но интересно такое существует?
     
  15. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    http://php.net/manual/en/function.pow.php
     
    _________________________
    1 person likes this.
  16. qW1zer

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    Здравствуйте всем,подскажите пожалуйста,как ограничить вывод из базы например только 30 первых строк,то есть выше мне дали рабочие варианты вывода из таблицы значений,а как сделать так что вывело 30 или 50 к примеру и ссылка,
    Страница 2,и к примеру выглядела она так site.ru/script.php?page=2 и на странице 2 следующие 30-50!
    Это случаем не постраничный вывод?
    Заранее премного благодарен
     
  17. Epic wave

    Epic wave Member

    Joined:
    15 Mar 2009
    Messages:
    105
    Likes Received:
    72
    Reputations:
    -1
    limit ставь
     
  18. Epic wave

    Epic wave Member

    Joined:
    15 Mar 2009
    Messages:
    105
    Likes Received:
    72
    Reputations:
    -1
    pow(5, 35)
     
  19. qW1zer

    qW1zer Member

    Joined:
    24 Aug 2009
    Messages:
    129
    Likes Received:
    15
    Reputations:
    5
    Epic wave
    Можешь поподробнее?И про постраничный вывод что-нибудь!
    Я просто не понимаю так с полуслова
     
  20. Epic wave

    Epic wave Member

    Joined:
    15 Mar 2009
    Messages:
    105
    Likes Received:
    72
    Reputations:
    -1
    PHP:
    <?
    require 
    "config.php";
     require 
    "default/element.php";
     
    $number 50;

    $offset = isset($_GET['offset']) ? (int)$_GET['offset'] : 0;

    $result mysql_query("SELECT COUNT(*) FROM `title`"$link);

    $total mysql_result($result0);
    $menu getMenuofPages($total$number$offset);



    function 
    getMenuofPages($total$number$offset) {
      function 
    getGoodUrl($url$cur) {
          if (
    $_SERVER['QUERY_STRING'] == "") {
             return 
    $url."?offset=".$cur;
          }else {
             if (
    substr_count($_SERVER['QUERY_STRING'], "offset=") > 0) {
                
    $url preg_replace("/offset=\d+/i""offset=".$cur$url);
                return 
    $url;
             }else {
                return 
    $url."offset=".$cur;
             }
          }
       }

     if (
    $total <= $number) {
          return;
       }
       
    $url $_SERVER['REQUEST_URI'];
       
    $int intval($total $number); // Целая часть от деления
       
    $rest $total $number// Остаток от деления
       
    $menu "";
       
    // Сначала перебираем целые части
       
    for ($i 0$i $int$i++) {
          
    $cur $i $number;
          if (
    $cur == $offset) { // Проверка на текущую страницу
             
    $menu .= " | ".($cur 1)."-".($cur $number);
          }else {
             
    $menu .= " | <a href=\"".getGoodUrl($url$cur)."\">".
                      (
    $cur 1)."-".($cur $number)."</a>";
          }
       }
       
    // Потом остаток (если есть)
       
    if ($rest 0) {
          
    $cur += $number;
          if (
    $cur == $offset) { // Проверка на текущую страницу
             
    if ($rest == 1) {
                
    $menu .= " | ".($cur 1)." |";
             }else {
                
    $menu .= " | ".($cur 1)."-".($cur $rest)." |";
             }
          }else {
             if (
    $rest == 1) {
                
    $menu .= " | <a href=\"".getGoodUrl($url$cur)."\">".($cur 1)."</a> |";
             }else {
                
    $menu .= " | <a href=\"".getGoodUrl($url$cur)."\">".
                         (
    $cur 1)."-".($cur $rest)."</a> |";
             }
          }
       }else {
          
    $menu .= " |";
       }
       return 
    $menu;
    }

    $result mysql_query("SELECT * FROM `title` LIMIT $offset$number"$link);

     
    $vivod="$menu<br>";
     
    while (
    $info mysql_fetch_array($result)) {
       
      
    $vivod.=element($info);

    }
     

    return 
    $vivod;


    ?>

    ну вот мой вывод, выводит по 50 элементов на странице. Разбирайся, если есть вопросы по коду, задавай
     
    1 person likes this.
Thread Status:
Not open for further replies.