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

Wyciąganie danych z bazy mysql i wykorzystywanie ich w funkcji javascript

Object Storage Arubacloud
0 głosów
203 wizyt
pytanie zadane 28 stycznia 2022 w PHP przez trixter310 Obywatel (1,440 p.)
edycja 29 stycznia 2022 przez trixter310
php musi być zwyczajnie uszkodzone spróbowałem wszystkiego i nic nie działa
komentarz 28 stycznia 2022 przez CubeStorm Pasjonat (15,020 p.)
Musisz wyciągnąć z bazy danych płeć i ją użyć, czego konkretnie nie potrafisz zrobić? Nie widzę kodu odpowiadającego za łączenie z bazą.
komentarz 28 stycznia 2022 przez trixter310 Obywatel (1,440 p.)
nie wiem jak się połączyć z bazą w java scripcie
2
komentarz 28 stycznia 2022 przez SzkolnyAdmin Szeryf (86,360 p.)
AJAX.
komentarz 28 stycznia 2022 przez CubeStorm Pasjonat (15,020 p.)
Również dobre rozwiązanie
komentarz 28 stycznia 2022 przez trixter310 Obywatel (1,440 p.)

@SzkolnyAdmin, znalazłem już godzinny kurs i z chęcią przerobię dziękuję i pozdrawiam

2 odpowiedzi

0 głosów
odpowiedź 28 stycznia 2022 przez CubeStorm Pasjonat (15,020 p.)

Wydaje mi się, że nie masz pojęcia o podstawowym schemacie podziału strony internetowej na Frontend oraz Backend. W dużym skrócie frontend to warstwa widoku aplikacji, czyli to co widzisz (html, css, js), backend to kod, którego nie jest w stanie zobaczyć przeglądarka i tam wykonuje się takie działania jak łączenie z bazą, rejestracja, logowanie etc.

W twoim przypadku za backend odpowiada język PHP, więc to w nim musisz utworzyć połączenie z bazą, pobrać informacje, a następnie przekazać je do warstwy widoku (czyli do miejsca gdzie wykonujesz obliczenia).

komentarz 28 stycznia 2022 przez trixter310 Obywatel (1,440 p.)
mam plik connect.php gdzie jestem połączony z bazą danych używałem go do systemu rejestracji i logowania. to teraz mam php pobrać z bazy tą płeć użytkownika, następnie wstawić ją jakoś do scryptu js i wtedy powinno działać?
komentarz 28 stycznia 2022 przez CubeStorm Pasjonat (15,020 p.)
Tak, do javascriptu przekazujesz ją w podobny sposób do wyświetlania danych w html. Gdyby coś niedziałało odpal sobie devtoolsy (Ctrl + Shift + I) i zobacz tam swój kod js.
komentarz 28 stycznia 2022 przez trixter310 Obywatel (1,440 p.)
dziękuję bardzo
komentarz 28 stycznia 2022 przez CubeStorm Pasjonat (15,020 p.)
Ewentualnie Ajax, o którym wspomniał SzkolnyAdmin, ale myślę, że w tym wypadku może być to gorsze rozwiązanie, ze względu na asynchroniczność i konieczność utworzenia endpointu dla requesta ajaxowego.
komentarz 28 stycznia 2022 przez trixter310 Obywatel (1,440 p.)

Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\testjs\kalkulator.php on line 476 

po dodaniu połączenia

komentarz 28 stycznia 2022 przez trixter310 Obywatel (1,440 p.)
a 476 linia to koniec pliku
komentarz 28 stycznia 2022 przez trixter310 Obywatel (1,440 p.)
 require_once "connection.php";
    mysqli_report(MYSQLI_REPORT_STRICT);
    
    try 
    {
        $polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
        if ($polaczenie->connect_errno!=0)
        {
            throw new Exception(mysqli_connect_errno());
        }
        else
        {
           
        }

dodałem to do php na górze

2
komentarz 28 stycznia 2022 przez SzkolnyAdmin Szeryf (86,360 p.)

@trixter310, pewnie masz coś niedomkniętego i parser najpierw znalazł koniec pliku niż domknięcie.

komentarz 28 stycznia 2022 przez trixter310 Obywatel (1,440 p.)
sorry, że jeszcze wam głowę męczę, ale teraz usunąłem to połączenie i jakby wyświetla mi rzeczy z bazy w sensie tylko zmienną $_SESSION['user']

a wszystkie inne nie działają
0 głosów
odpowiedź 28 stycznia 2022 przez VBService Ekspert (252,660 p.)

Możesz po prostu zapisać np., tak

przykład

kalkulator.php

<?php
 
    session_start();
     
    if (!isset($_SESSION['zalogowany']))
    {
        header('Location: index.php');
        exit();
    }

    require_once "connection.php";

    $polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
    if ($polaczenie->connect_errno)
    {
       throw new Exception(mysqli_connect_errno());
    }
    else
    {
       // przykładowy sql
       $sql = "SELECT plec FROM zarejestrowani WHERE id=$_SESSION['zalogowany_id']";
       if ($rezultat = $polaczenie->query($sql))
       {
          $wynik = $rezultat->fetch_assoc();
          $plec = $wynik['plec'];
       }  else {
          // problem z wynikiem zapytania sql
          // dopisz tu sobie sam kod
          $plec = '';
       }   
    }
    $polaczenie->close();
 
?>
<!DOCTYPE html>
<html lang="pl">
<head>
<?php include('templates/head.php'); ?> 

<script>
    function calc() {
    let A = document.getElementById("age").value;
    let W = document.getElementById("weight").value;
    let H = document.getElementById("height").value;
 
    let S, R, activity;
    let P = "<?php echo $plec; ?>";
 
 
  
    if (document.getElementById("age").value.length == 0) {
 
        document.getElementById("ATT").style = "color: red;"
        document.getElementById("WTT").style = "display: none;"
        document.getElementById("HTT").style = "display: none;"
 
        return
 
    }
 
    if (document.getElementById("weight").value.length == 0) {
 
        document.getElementById("ATT").style = "display: none;"
        document.getElementById("HTT").style = "display: none;"
        document.getElementById("WTT").style = "color: red;"
         
        return
 
    }
 
    if (document.getElementById("height").value.length == 0) {
 
        document.getElementById("ATT").style = "display: none;"
        document.getElementById("WTT").style = "display: none;"
        document.getElementById("HTT").style = "color: red;"
         
        return
 
    }
 
    if (document.getElementById("male").checked) {
        S =  Math.round((9.99*W)+(6.25*H)-(4.92*A)+5)
        //P = "mężczyzna"
    } 
    else if (document.getElementById("female").checked) {
        S =  Math.round((9.99*W)+(6.25*H)-(4.92*A)-161)
        //P = "kobieta"
    }
 
   
    if (document.getElementById("0").selected) {
        R = S
    }
 
   
    if (document.getElementById("1").selected) {
        R = S*1.2
        activity = "1. Niewielka/Brak treningów"
 
    }
 
  
    if (document.getElementById("2").selected) {
        R = S*1.35
        activity = "2. Niska aktywność (treningi 1-3 razy/tydzień)"
    }
 
    
    if (document.getElementById("3").selected) {
        R = S*1.55
        activity = "3. Średnia aktywność (codzienna aktywność lub intensywne treningi 3-4 razy/tydzień)"
 
    }
     
   
    if (document.getElementById("4").selected) {
        R = S*1.75
        activity = "4. Wysoka aktywność (intensywne treningi 6-7 razy/tydzień)"
 
    }
 
 
    if (document.getElementById("5").selected) {
        R = S*1.95
        activity = "5. Bardzo wysoka aktywność (codzienne bardzo intensywne treningi lub praca fizyczna)"
 
    }
 
    document.getElementById("ATT").style = "display: none;"
    document.getElementById("HTT").style = "display: none;"
    document.getElementById("WTT").style = "display: none;"
 
    document.getElementById("age").placeholder = " "
    document.getElementById("weight").placeholder = "Kg"
    document.getElementById("height").placeholder = "Cm"
 
    document.getElementById("a").innerHTML = Math.round(R)
    document.getElementById("b").innerHTML = Math.round(R*0.80)
    document.getElementById("c").innerHTML = Math.round(R*1.20)
 
 
    document.getElementById("ak").innerHTML = Math.round(R)
    document.getElementById("ak-2").innerHTML = Math.round(S)
    document.getElementById("a-1k").innerHTML = Math.round((R*0.80)*0.25)
    document.getElementById("a-1g").innerHTML = Math.round(((R*0.80)*0.25)/4)
    document.getElementById("a-2k").innerHTML = Math.round((R*0.80)*0.50)
    document.getElementById("a-2g").innerHTML = Math.round(((R*0.80)*0.50)/4)
    document.getElementById("a-3k").innerHTML = Math.round((R*0.80)*0.25)
    document.getElementById("a-3g").innerHTML = Math.round(((R*0.80)*0.25)/9)
 
 
 
 
 
    document.getElementById("bk").innerHTML = Math.round(R)
    document.getElementById("bk-2").innerHTML = Math.round(S)
    document.getElementById("b-1k").innerHTML = Math.round((R*0.80)*0.25)
    document.getElementById("b-1g").innerHTML = Math.round(((R*0.80)*0.25)/4)
    document.getElementById("b-2k").innerHTML = Math.round((R*0.80)*0.50)
    document.getElementById("b-2g").innerHTML = Math.round(((R*0.80)*0.50)/4)
    document.getElementById("b-3k").innerHTML = Math.round((R*0.80)*0.25)
    document.getElementById("b-3g").innerHTML = Math.round(((R*0.80)*0.25)/9)
    document.getElementById("bs").innerHTML = Math.round(R-(R*0.80))
 
 
    document.getElementById("ck").innerHTML = Math.round(R)
    document.getElementById("ck-2").innerHTML = Math.round(S)
    document.getElementById("c-1k").innerHTML = Math.round((R*1.20)*0.25)
    document.getElementById("c-1g").innerHTML = Math.round(((R*1.20)*0.25)/4)
    document.getElementById("c-2k").innerHTML = Math.round((R*1.20)*0.50)
    document.getElementById("c-2g").innerHTML = Math.round(((R*1.20)*0.50)/4)
    document.getElementById("c-3k").innerHTML = Math.round((R*1.20)*0.25)
    document.getElementById("c-3g").innerHTML = Math.round(((R*1.20)*0.25)/9)
    document.getElementById("cs").innerHTML = Math.round((R*1.20)-R)
 
    document.getElementById("Final").style = " margin: auto; margin-top: 1em; border-radius: 20px; margin-bottom: 30px"
 
 
    if (document.getElementById("more").selected) {
        document.getElementById("less-text-1").style = "display: none;"
        document.getElementById("less-text-2").style = "display: none;"
        document.getElementById("constant-text-1").style = "display: none;"
        document.getElementById("constant-text-2").style = "display: none;"
        document.getElementById("more-text-1").style = "display: block;"
        document.getElementById("more-text-2").style = "display: table-row;"
        document.getElementById("more-text-1").scrollIntoView();
        dataLayer.push({
            'event': 'calc',
            'cel': 'chce przytyć',
            'waga': W,
            'wiek': A,
            'wzrost' : H,
            'płeć' : P,
            'aktywność' : activity
        });
 
    }
    if (document.getElementById("less").selected) {
        document.getElementById("more-text-1").style = "display: none;"
        document.getElementById("more-text-2").style = "display: none;"
        document.getElementById("constant-text-1").style = "display: none;"
        document.getElementById("constant-text-2").style = "display: none;"
        document.getElementById("less-text-1").style = "display: block;"
        document.getElementById("less-text-2").style = "display: table-row;"
        document.getElementById("less-text-1").scrollIntoView();
        dataLayer.push({
            'event': 'calc',
            'cel': 'chce schudnąć',
            'waga': W,
            'wiek': A,
            'wzrost' : H,
            'płeć' : P,
            'aktywność' : activity
        });
 
    }
    if (document.getElementById("constant").selected) {
        document.getElementById("more-text-1").style = "display: none;"
        document.getElementById("more-text-2").style = "display: none;"
        document.getElementById("less-text-1").style = "display: none;"
        document.getElementById("less-text-2").style = "display: none;"
        document.getElementById("constant-text-1").style = "display: block;"
        document.getElementById("constant-text-2").style = "display: table-row;"
        document.getElementById("constant-text-1").scrollIntoView();
        dataLayer.push({
            'event': 'calc',
            'cel': 'utrzymanie wagi',
            'waga': W,
            'wiek': A,
            'wzrost' : H,
            'płeć' : P,
            'aktywność' : activity
        });
 
      
    }
} 
</script>
</head>
<body>
    <section class="home">
    <div class="container2">
    <div class="title">Oblicz zapotrzebowanie kaloryczne</div>
    <div class="content">
    <div class="user-details">
 
 
  <div class="input-box">
<span class="details" id="AT"> Wiek</span>
    <input type="number" min="0" id="age" placeholder=""
    style="border-width: 2px; border-radius: 5px;">
    <div style="display: none;" id="ATT">Wpisz prawidłowy wiek</div>
    </div>
 
    <div class="input-box">
<span class="details">Waga</span>
    <input type="number" min="0" id="weight"
    style="border-width: 2px; border-radius: 5px;" placeholder="Kg">
    <div style="display: none;" id="WTT">Wpisz prawidłową wagę</div>
    </div>
 
    <div class="input-box">
<span class="details">Wzrost</span>
    <input type="number" min="0" id="height"
    style="border-width: 2px; border-radius: 5px;" placeholder="Cm">
    <div style="display: none;" id="HTT">Wpisz prawidłowy wzrost</div>
    </div>
 
 
 
 
    <div class="input-box">
<span class="details">Poziom aktywności</span>
<select class="I2">
  <option value="1" id="1">1. Niewielka/Brak treningów</option>
  <option value="2" id="2">2. Niska aktywność (treningi 1-3 razy/tydzień)</option>
  <option value="3" id="3">3. Średnia aktywność (codzienna aktywność lub intensywne treningi 3-4 razy/tydzień)</option>
  <option value="4" id="4">4. Wysoka aktywność (intensywne treningi 6-7 razy/tydzień)</option>
  <option value="5" id="5">5. Bardzo wysoka aktywność (codzienne bardzo intensywne treningi lub praca fizyczna)</option>
  <option value="0" id="0" style="display:none;">1. Bazowe zapotrzebowanie kaloryczne (BMR)</option>
</select>
</div>
 
<div class="input-box">
<span class="details">Jaki jest cel Twojej diety?</span>
<select class="I2"> 
  <option value="less" id="less">1. Chce schudnąć</option>
  <option value="constant" id="constant">2. Chcę utrzymać wagę</option>
  <option value="more" id="more">3. Chcę przytyć</option>
</select>
</div>
 
 
 
 
<div class="button">
<button id="button-calc" type="button" onclick="calc()">Oblicz</button>
</div>
 
</div>
</div>
</div>

 

Podobne pytania

0 głosów
2 odpowiedzi 512 wizyt
pytanie zadane 16 października 2018 w SQL, bazy danych przez s1mx Nowicjusz (120 p.)
+1 głos
2 odpowiedzi 429 wizyt
pytanie zadane 30 maja 2021 w PHP przez cocacola13 Nowicjusz (170 p.)
0 głosów
0 odpowiedzi 2,197 wizyt
pytanie zadane 28 października 2017 w PHP przez Undisputed Gaduła (3,040 p.)

92,536 zapytań

141,377 odpowiedzi

319,452 komentarzy

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

...