• 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
557 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 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ź 414 wizyt
pytanie zadane 13 listopada 2018 w SQL, bazy danych przez Micheall Początkujący (420 p.)
0 głosów
0 odpowiedzi 98 wizyt
pytanie zadane 1 listopada 2020 w SQL, bazy danych przez blowing_rocket Nowicjusz (170 p.)
0 głosów
1 odpowiedź 240 wizyt

92,580 zapytań

141,432 odpowiedzi

319,665 komentarzy

61,965 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!

...