За последние 24 часа нас посетили 17580 программистов и 1713 роботов. Сейчас ищут 928 программистов ...

Самая простая задачка не работает

Тема в разделе "PHP для новичков", создана пользователем Михаил_Влад, 9 мар 2018.

  1. Михаил_Влад

    Михаил_Влад Новичок

    С нами с:
    4 фев 2017
    Сообщения:
    36
    Симпатии:
    1
    Капец ничего не понимаю.... при запросе с Мускл часть данных куда-то теряется, код простейший...

    PHP:
    1. <?php
    2.        include("connect.php");
    3.    
    4.        $link=Connection();
    5.  
    6.      
    7.         $result = mysql_query("SELECT * FROM tempLog WHERE temperature !='1' " ,$link);
    8.         if (mysql_num_rows($result)>0)
    9.  
    10.         {
    11.                 do
    12.                 {
    13.                     $row = mysql_fetch_array($result);
    14.  
    15.                     echo $row["temperature"];
    16.                     echo "<br/>" ;
    17.  
    18.                 }
    19.                 while($row = mysql_fetch_array($result));
    20.      
    21.         }
    22.      
    23.  
    24.  
    25.  
    26. ?>
    --- Добавлено ---
    http://arduino.fuchs42.ru/add.php

    A в базе
    Код (Text):
    1. <?php
    2.  
    3.     include("connect.php");  
    4.  
    5.     $link=Connection();
    6.  
    7.     $result=mysql_query("SELECT * FROM `tempLog` ORDER BY `timeStamp` DESC",$link);
    8. ?>
    9.  
    10. <html>
    11.    <head>
    12.       <title>Sensor Data</title>
    13.    </head>
    14. <body>
    15.    <h1>Temperature / moisture sensor readings</h1>
    16.  
    17.    <table border="1" cellspacing="1" cellpadding="1">
    18.         <tr>
    19.             <td>&nbsp;Timestamp&nbsp;</td>
    20.             <td>&nbsp;Temperature 1&nbsp;</td>
    21.             <td>&nbsp;Moisture 1&nbsp;</td>
    22.         </tr>
    23.  
    24.       <?php
    25.           if($result!==FALSE){
    26.              while($row = mysql_fetch_array($result)) {
    27.                 printf("<tr><td> &nbsp;%s </td><td> &nbsp;%s&nbsp; </td><td> &nbsp;%s&nbsp; </td></tr>",
    28.                    $row["timeStamp"], $row["temperature"], $row["humidity"]);
    29.              }
    30.              mysql_free_result($result);
    31.              mysql_close();
    32.           }
    33.          
    34.       ?>
    35.  
    36.    </table>
    37. </body>
    38. </html>
    --- Добавлено ---
    http://arduino.fuchs42.ru/ - вот что в базе
    --- Добавлено ---
    http://arduino.fuchs42.ru/
    --- Добавлено ---
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    PHP:
    1. while ( $row = mysql_fetch_array ( $result ) )
    2. {
    3.     echo mysql_fetch_array ( $result )['temperature'] . '<br>' . PHP_EOL;
    4. }
    --- Добавлено ---
    ?
     
    Михаил_Влад нравится это.
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Конечно теряется. mysql_fetch_array делаете два раза, а вывод один раз. Потому что Попов с его do-while там, где он нафиг не сдался, рушит мозги бедных нубов :(

    И расширение mysql устарело, надо использовать mysqli
    --- Добавлено ---
    @MouseZver, у тебя тоже будет теряться, по той же причине... Если в условии цикла ты уже получил row, зачем ещё раз делать mysql_fetch_array?
     
    Михаил_Влад нравится это.
  4. Михаил_Влад

    Михаил_Влад Новичок

    С нами с:
    4 фев 2017
    Сообщения:
    36
    Симпатии:
    1
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.818
    Симпатии:
    1.333
    Адрес:
    Лень
    @mkramer потому что гладиолус