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

sql jak poprawnie zadać pytanie w php żeby otrzymać szukaną informację

Object Storage Arubacloud
0 głosów
221 wizyt
pytanie zadane 26 lutego 2023 w SQL, bazy danych przez gatka84 Bywalec (2,150 p.)

Hej kombinuje i już kończą mi się pomysły tzn mam tabele w której jest nazwa i cena i teraz zliczam sobie wszystko dla nazwy i nie umiem poprawnie zapisać var_dump czy print_r żeby uzyskać wynik może na przykładzie

tabela koszty

cena   pomieszczenie

$results = mysqli_query($con, "SELECT SUM(cena) AS 'Total', pomieszczenie FROM koszty GROUP BY pomieszczenie") or die(mysqli_error());
while ($rows = mysqli_fetch_array($results)) { }

i w sql daje mi tak

5130.939999999997 	mieszkanie
398 	przedpokój
2199 	salon

i teraz kiedy daje

var_dump($results);

otrzymuje

object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(2) ["lengths"]=> array(2) { [0]=> int(17) [1]=> int(10) } ["num_rows"]=> int(3) ["type"]=> int(0) }

object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(2) ["lengths"]=> array(2) { [0]=> int(3) [1]=> int(11) } ["num_rows"]=> int(3) ["type"]=> int(0) }

object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(2) ["lengths"]=> array(2) { [0]=> int(4) [1]=> int(5) } ["num_rows"]=> int(3) ["type"]=> int(0) }

i nie wiem jak się do tego dobrać żeby wyświetlić dane sumowane np z salon

kombinowałam tak żeby zaokrąglić wyniki ale nie wiem jak wskazać że chodzi mi np o salon

<?php echo round($rows['sum(cena)'], 1); ?>

Będę wdzięczna za podpowiedź.

2 odpowiedzi

+1 głos
odpowiedź 26 lutego 2023 przez VBService Ekspert (252,740 p.)
edycja 26 lutego 2023 przez VBService
 
Najlepsza

nie umiem poprawnie zapisać var_dump czy print_r

var_dump(mysqli_fetch_array($results));
print_r(mysqli_fetch_array($results));

lub

while ($row = mysqli_fetch_array($results)) {
    var_dump($row);
    print_r($row);
}

możesz tak, jak zaproponował @SzkolnyAdmin;

$rows['pomieszczenie']=="salon"

zapisz np. tak

$results = mysqli_query($con, "SELECT SUM(cena) AS 'Total', pomieszczenie FROM koszty GROUP BY pomieszczenie") or die(mysqli_error());
while ($row = mysqli_fetch_array($results)) {
    if ($row['pomieszczenie'] == 'salon') {
        echo $row['Total'] . ' ' . $row['pomieszczenie'];
    }
}

 

lub 

$sql = "SELECT SUM(cena) AS 'total', pomieszczenie "
     . "FROM koszty WHERE pomieszczenie = 'salon' ";
$results = mysqli_query($con, $sql) or die(mysqli_error());
if (mysqli_num_rows($results) > 0) {
    $row = mysqli_fetch_array($results)
    echo round($row['total']) . ' ' . $row['pomieszczenie'];
} else {
    // w bazie nie ma pomieszczenia o nazwie 'salon'
}

 

1
komentarz 26 lutego 2023 przez gatka84 Bywalec (2,150 p.)
Dziękuje za odpowiedź bo kombinowałam, a to co w sieci znajdowałam nie rozwiązywało problemu, dokładnie tego szukałam.
+1 głos
odpowiedź 26 lutego 2023 przez SzkolnyAdmin Szeryf (86,360 p.)

Do zaokrąglenia wyniku sumowania w SQL możesz użyć funkcji ROUND()

W PHP możesz użyć funkcji ROUND() lub też funkcji NUMBER_FORMAT()

Jeżeli chodzi o wyświetlenie tylko wyników z wybranego pomieszczenia, sprawdzasz czy np.

$rows['pomieszczenie']=="salon"

 

Podobne pytania

0 głosów
1 odpowiedź 156 wizyt
0 głosów
3 odpowiedzi 3,123 wizyt
0 głosów
1 odpowiedź 308 wizyt
pytanie zadane 2 października 2016 w SQL, bazy danych przez rejzer Użytkownik (680 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

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

...