• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

jak wyjąć kilka rekordów z bazy naraz

Object Storage Arubacloud
0 głosów
571 wizyt
pytanie zadane 8 kwietnia 2016 w SQL, bazy danych przez Jaroslaw Roj Obywatel (1,990 p.)

hejka,

 

chciałbym wyjąć kilka rekordów naraz z bazy sql..dokładniej to mam 3 kolumny value,value2,value3 w tabeli sensor   

Chcę uzyskać min i max rekordy z każdej kolumny osobno jak i ostatnie rekordy.....dwoma zapytaniami jeśli jest to możliwe dało by radę np.:

SELECT MAX(value) AS maximum , MIN(value) AS minimum ,
MAX(value2) AS maximum2, MIN(value2) AS mimimum2 
,MAX(value3) AS maximum3, MIN(value3) AS mimimum3  FROM sensor 

a drugie byłoby

$result = mysqli_query($con,'SELECT * FROM sensor ORDER BY id DESC LIMIT 1');

nie wiem ale czy mogę jednym zapytaniem wszystkie rekordy naraz wyświetlić, jeśli tak prosiłbym o pomoc

2 odpowiedzi

–1 głos
odpowiedź 8 kwietnia 2016 przez GaCeL Dyskutant (7,500 p.)
wybrane 8 kwietnia 2016 przez Jaroslaw Roj
 
Najlepsza

Najpierw wyciągasz pojedyńczo dane a później wyciągasz wszystkie dane, nie wiem jaki jest w tym sens.
Lepiej jest już skorzystać z pojedyńczego zapytania:

SELECT * FROM sensor

A następnie odpowiednimi funkcjami w PHP pobrać najmniejszą i największą wartość pobranych danych z bazy.

Przykład:

$connection = new mysqli("localhost", "root", "root", "atccargo");
$sql = $connection->query("SELECT * FROM workers");

while($output = mysqli_fetch_array($sql)){
    $avatar[] = $output['avatar'];
}
$testMinimum = min($avatar);
echo $testMinimum; //Pokaze ci najmniejsza liczbe z kolumny avatar



http://php.net/manual/pl/function.max.php
http://php.net/manual/pl/function.min.php

komentarz 8 kwietnia 2016 przez Jaroslaw Roj Obywatel (1,990 p.)
Tak dzięki wielkie to jest to...tylko jakim poleceniem dostanę ostatni wpisany record,., min i max działa super
komentarz 8 kwietnia 2016 przez GaCeL Dyskutant (7,500 p.)
Dodaj do zapytania SORT BY id
komentarz 9 kwietnia 2016 przez Jaroslaw Roj Obywatel (1,990 p.)

Hallo jakoś to nie działa ja chcę

CODE

<?php
        $connection = new mysqli("127.0.0.1","joshi","gorol11","test");

        $sql = $connection->query("SELECT * FROM sensor ORDER BY id DESC");
 
        while($output = mysqli_fetch_array($sql))
        {
            $tempWewn[] = $output['value'];
            $tempPiec[] = $output['value2'];
            $tempZewn[] = $output['value3'];
          
 //$ostatniRekord[] =  ["SELECT MAX('id') AS id FROM ('$tempWewn')"];
        }
$testMinimum = min($tempWewn);
echo $testMinimum ." minimalna"; // najmniejsza liczbe z kolumny

echo "<br>";
$testMaximum = max($tempWewn);
echo $testMaximum  ." maxymalna";//najwieksza liczba z kolumny

?>

minimalny i maxymalny rekord wyskakuje, ale do tego chciałbym jeszcze ostatni rekodr wyświetlić....bardzo prosiłbym do pomoc co tam mam jeszcze dopisać

komentarz 9 kwietnia 2016 przez GaCeL Dyskutant (7,500 p.)
Pokaż strukturę bazy i powiedz który rekord ma wyciągnąć.
komentarz 9 kwietnia 2016 przez Jaroslaw Roj Obywatel (1,990 p.)
Struktura jest prostaNazwa

bazy test

tabela sensor

ID(auto Increment) +trzy kolumny value,value2,value3

są tam wartości temperatury które co 15sec są nowe dodawane...

jak juz pisałem chcę wyciągać z każdej kolumny wartość minimalną ,maxymalną i ostatnio dadaną,., ma to wyglądać mniej więcej tak na stronie

http://scr.hu/1ssr/zdipl
komentarz 9 kwietnia 2016 przez GaCeL Dyskutant (7,500 p.)
edycja 9 kwietnia 2016 przez GaCeL
<?php
        $connection = new mysqli("127.0.0.1","joshi","gorol11","test");

        $sql = $connection->query("SELECT * FROM sensor ORDER BY id DESC");
 
        while($output = mysqli_fetch_array($sql))
        {
            $tempWewn[] = $output['value'];
            $tempPiec[] = $output['value2'];
            $tempZewn[] = $output['value3'];
        }
$testMinimum = min($tempWewn);
echo $testMinimum ." minimalna"; // najmniejsza liczbe z kolumny

echo "<br>";
$testMaximum = max($tempWewn);
echo $testMaximum  ." maxymalna";//najwieksza liczba z kolumny

$tempWewn //Tu trzyma ostatni rekord wyciagany
$tempPiec //Tak samo tu
$tempZewn // i tu

?>

 

komentarz 9 kwietnia 2016 przez Jaroslaw Roj Obywatel (1,990 p.)
edycja 9 kwietnia 2016 przez Jaroslaw Roj

dostaję błąd Parse error: syntax error, unexpected '$tempPiec' (T_VARIABLE) in C:\xampp\htdocs\time\wczytanie.php on line 33

 

nie wiem dlaczego ale nie chce wypluć ostatniego rekordu

komentarz 9 kwietnia 2016 przez GaCeL Dyskutant (7,500 p.)
Nie wiem która to linia 33.
komentarz 9 kwietnia 2016 przez Jaroslaw Roj Obywatel (1,990 p.)

 

  1. <?php
    $url=$_SERVER['REQUEST_URI'];
    header("Refresh: 10; URL=$url");  // Refresh the webpage every x seconds
    ?>
    <html>
    <head>


    </head>
        <body>
            <h1>Odczyt temperatury z sql</h1>


    <?php
            $connection = new mysqli("127.0.0.1","joshi","gorol11","test");

            $sql = $connection->query("SELECT * FROM temp ORDER BY id DESC ");
     
            while($output = mysqli_fetch_array($sql))
            {
                $tempWewn[] = $output['value'];
                $tempPiec[] = $output['value2'];
                $tempZewn[] = $output['value3'];
                
                }
    $testMinimum = min($tempWewn);
    echo $testMinimum ." minimalna"; // najmniejsza liczbe z kolumny

    echo "<br>";
    $testMaximum = max($tempWewn);
    echo $testMaximum  ." maxymalna";//najwieksza liczba z kolumny
    $tempPiec
    $tempWewn //Tu trzyma ostatni rekord wyciagany
    $tempPiec//Tak samo tu
    echo "<br>";
        echo "<pre>";
        print_r($tempPiec);
        echo "</pre>";

    ?>
       </body>
    </html>

chodz tu dokładnie o

$tempWewn //Tu trzyma ostatni rekord wyciagany

 

komentarz 9 kwietnia 2016 przez GaCeL Dyskutant (7,500 p.)
Dodaj średnik na końcu zmiennych
komentarz 9 kwietnia 2016 przez Jaroslaw Roj Obywatel (1,990 p.)
edycja 10 kwietnia 2016 przez Jaroslaw Roj

niestety to też nie przynosi żadnego skutku, oprócz że nie ma błędu, ale też nic nie wyświetla, ale po dodaniu do kkodu

   echo '<pre>';
    print_r($tempWewn);
    echo '</pre>';

wyświetla mi $tempWewn jako Array czyli pokazuje mi wszystkie wartości teraz tylko wyciągnąć ten ostatni  sad

komentarz 10 kwietnia 2016 przez Jaroslaw Roj Obywatel (1,990 p.)

chyba znalazłem dodałem  echo array_shift($tempWewn)."<br>"; nie wiem dlaczego ale zadziałałosmiley

0 głosów
odpowiedź 8 kwietnia 2016 przez Patryk L Bywalec (2,000 p.)

Ostatnie rekordy to:

$pyt = mysqli_query($con,"SELECT * FROM tabela");

$ile = mysqli_fetch_assoc($pyt);

$pyt2 = mysqli_query($con, "SELECT * FROM tabela WHERE id='$ile'");

Chyba o to ci chodziło ;)

komentarz 8 kwietnia 2016 przez Jaroslaw Roj Obywatel (1,990 p.)
nie wiem czy to mi wyda wszystkie minimalne i maxymalne oraz ostatnie rekordy (byłoby ich 9 naraz)...dopiero co się uczę z bazami więc nie za bardzo to rozumiem
komentarz 17 kwietnia 2016 przez Patryk L Bywalec (2,000 p.)
Sorka. Nie oto mi chodzilo. Musisz w pierwszym pytaniu posegregowac je za pomoca order by i Limit 1. Potem wyjac wynik i juz masz najwiekszy. I to samo tylko ze innym rodzajem segregowania i masz na odwrot. Taka troche amatorska metoda ale ja tez sie dopiero ucze :). Ps. Pomylilo mi sie wtedy ;)

Podobne pytania

0 głosów
1 odpowiedź 426 wizyt
pytanie zadane 13 listopada 2018 w SQL, bazy danych przez Micheall Początkujący (420 p.)
0 głosów
0 odpowiedzi 99 wizyt
pytanie zadane 1 listopada 2020 w SQL, bazy danych przez blowing_rocket Nowicjusz (170 p.)
0 głosów
1 odpowiedź 243 wizyt

92,628 zapytań

141,491 odpowiedzi

319,861 komentarzy

62,010 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...