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

Pobranie danych z bazy danych [php,Ajax,js]

Object Storage Arubacloud
+2 głosów
206 wizyt
pytanie zadane 18 stycznia 2021 w PHP przez ZeRo_ Nowicjusz (180 p.)
zmienione kategorie 19 stycznia 2021 przez ScriptyChris

Witam, zależy mi na pobraniu atrybutów z bazy danych, przesortowaniu ich oraz wyświetleniu na stronie. Niestety nic co powinno być pobrane z bazy danych nie wyświetla się. Nie wiem czy wina jest po stronie kodu php czy też Ajaxa.
Serwer apach jak i baza danych jest ustawiona na porcie 80 (znalazłem w internecie gdzieś taką informacje że tak musi być).
W konsoli nie wyśletlają się żadne błędy. Połącznie z bazą danych przebiega bezproblemowo.

Kod poniżej:
1)

<DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>SKLEP</title>
        
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
       

    </head>
<body>
</br>
</br>
<div class="jumbotron jumbotron-fluid" style="background-image: url(image/books-1099067_1920.jpg)">

  <div class="container">
  <blockquote class="blockquote text-right align-text-bottom">
    <p class="mb-0 font-weight-bold text-white">"Pokój bez książek jest jak ciało bez duszy."</p>
    <footer class="blockquote-footer font-italic text-white">Cyceron</footer>
  </div></blockquote>
</div>
  <nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container-fluid">
      <div class="navbar-header">
        <a class="navbar-brand" href="#">Sklep</a>
      </div>
      <ul class="nav navbar-nav navbar">
        <li><a href="#"><span class="glyphicon glyphicon-home"></span> Strona główna</a></li>
        <li><a href="#"><span class="glyphicon glyphicon-book"></span> Książki</a></li>
        <li><a href="#"><span class="glyphicon glyphicon-file"></span> Regulamin</a></li>
        <li><a href="#"><span class="glyphicon glyphicon-phone-alt"></span> Kontakt</a></li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li><a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-shopping-cart"></span><span class="badge">0</span> Koszyk</a>
          <div class="dropdown-menu" style="width:400px">
            <div class="panel panel-warning">
              <div class="panel-heading">
                <div class="row">
                  <div class="col-md-3">Numer</div>
                  <div class="col-md-3">Tytuł</div>
                  <div class="col-md-3">Okładka książki</div>
                  <div class="col-md-3">Cena w zł</div>
                </div>  
              </div>
              <div class="panel-body"></div>
              <div id="koszyk_ksiazka">
              <!--<div class="row">
              <div class="col-md-3">Numer</div>
              <div class="col-md-3">Tytuł</div>
              <div class="col-md-3">Okładka książki</div>
              <div class="col-md-3">Cena w zł</div>
              </div>-->
              </div>

              <div class="panel-footer"></div>
            </div>
          </div>
        </li>
        <li><a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-user"></span> Zaloguj się</a>
          <ul class="dropdown-menu">
            <div style="width:300px;">
              <div class="panel-danger">
                <div class="panel-heading">Logowanie</div>
                <div class="panel-heading">
                <form onsubmit="return false" id="login">
                <div class="panel-heading">
                  <label for="email">Email</label>
                  <input type="email" class="form-control" id="email" required/>
                  <label for="haslo">Hasło</label>
                  <input type="haslo" class="form-control" id="haslo" required/>
                  <p><br/></p>
                  <a href="#" style="color:white; list-style:none;">Zapomniałeś hasła?</a><input type="submit" class="btn btn-success" style="float:right;">
                </form>
                </div>
              <div class="panel-footer" id="error_msg"></div>
              </div>
            </div>
          </ul>
        </li>
        <li><a href="#"><span class="glyphicon glyphicon-user"></span> Zarejestruj się</a></li>
      </ul>
    </div>
                <div>
  
  </nav> <!-- Koniec navbar -->

  <br/>
  <div class="conteiner" style="background:white">
    <div class="row">
      <div class="col-md-1"></div>
      <div class="col-md-2 col-sx-12">
      
      <div id="get_wydawnictwo">
        
      </div>

      <div id="get_rodzaje">
        
      </div>

      <!--<div class="nav nav-pills nav-stacked">
        <li class="active"><a href="#">Rodzaje literatury</a></li>
        <li class="nav-item"><a class="nav-link" href="#">Proza</a></li>
        <li class="nav-item"><a class="nav-link" href="#">Kryminał</a></li>
        <li class="nav-item"><a class="nav-link" href="#">Literatura faktu</a></li>
        <li class="nav-item"><a class="nav-link" href="#">Biografia</a></li>
        <li class="nav-item"><a class="nav-link" href="#">Fantastyka</a></li>
        <li class="nav-item"><a class="nav-link" href="#">Literatura młodzieżowa</a></li>
        <li class="nav-item"><a class="nav-link" href="#">Proza obca</a></li>
        <li class="nav-item"><a class="nav-link" href="#">Literatura obyczajowa</a></li>
        <li class="nav-item"><a class="nav-link" href="#">Literatura obca</a></li>
      </div> -->
      </div> <!-- koniec div col-md-2 -->
    
      <div class="col-md-8 col-sx-12">
        <div class="row">
          <div class="col-md-12 col-sx-12" id="ksiazka_msg">
          </div>
        </div>
        <div class="panel panel-info">
          <div class="panel-heading">Książki</div>
          <div class="panel-body">
              <div id="get_ksiazka">
              <!-- -->
              </div>
            <!---
            <div class="col-md-4">
              <div class="panel panel-info">
                <div class="panel-heading">Tytuł</div>
                <div class="panel-body">
                    
                    <a href="#" data-toggle="tooltip" title="Opis!"><img src="fotki_ksiazki/hashtag.jpg" style="height:250px"></a>
                </div>
                <div class="panel-heading">23.23 zł
                  <button style="float:right;" class="btn btn-success btn-xs">Kup</button>
                </div>
              </div>
            </div> -->
          </div>
          <div class="panel-footer"> 2021</div>
        </div>
      </div>
      
    </div> <!-- koniec div row -->
    
  </div>

</body>
</html>

2)
 

<?php

include "db.php";

if(isset($_POST["wydawnictwo"])){
    
    $wydawnictwo_query = "SELECT * FROM wydawnictwa";
    $run_query = mysqli_query($polaczenie, $wydawnictwo_query);

    echo "
    <div class='nav nav-pills nav-stacked'>
    <li class='active'><a href='#'>Wydawnictwo</a></li>
    ";

    if(mysqli_num_rows($run_query) > 0) {
        while($row = mysqli_fetch_array($run_query)){
                $w_id = $row["wydawnictwo_id"];
                $w_nazwa = $row["wydawnictwo_nazwa"];

                echo " 
                <li><a href='#' class='wydawnictwo' w_id='$w_id'>$w_nazwa</a></li>
                ";
        }
        echo "
        </div>
        ";
    }
}
if(isset($_POST["rodzaje"])){
    
    $rodzaje_query = "SELECT * FROM rodzaj";
    $run_query = mysqli_query($polaczenie, $rodzaje_query);

    echo "
    <div class='nav nav-pills nav-stacked'>
    <li class='active'><a href='#'>Rodzaje literackie</a></li>
    
    ";
    

    

    if(mysqli_num_rows($run_query) > 0) {
        while($row = mysqli_fetch_array($run_query)){
                $r_id = $row['rodzaj_id'];
                $r_ksiazki = $row['rodzaj_ksiazki'];

                echo " 
                <li><a href='#'>$r_ksiazki</a></li>
                ";
        }
        echo "
        </div>
        ";
    }
}
if(isset($_POST["getksiazka"])) {
    $ksiazka_query = "SELECT * FROM ksiazki ORDER BY RAND() LIMIT 0,9";
    $run_query = mysqli_query($polaczenie, $ksiazka_query);
    if(mysqli_num_rows($run_query) > 0){
        while($row = mysqli_fetch_array($run_query)){
            $k_id = $row['ksiazka_id'];
            $k_tytul = $row['ksiazka_tytul'];
            $k_autor = $row['ksiazka_autor'];
            $k_wydawnictwo = $row['ksiazka_wydawnictwo'];
            $k_rodzaj = $row['ksiazka_rodzaj'];
            $k_cena = $row['ksiazka_cena'];
            $k_opis = $row['ksiazka_opis'];
            $k_zdjecie = $row['ksiazka_zdjecie'];
            echo 
            "
            <div class='col-md-4'>
              <div class='panel panel-info'>
                <div class='panel-heading'>$k_tytul, $k_autor</div>
                <div class='panel-body'>
                    
                    <a href='#' data-toggle='tooltip' title='Opis!'><img src='fotki_ksiazki/$k_zdjecie' style='height:250px; height:160px;'></a>
                </div>
                <div class='panel-heading'>$k_cena zł
                  <button class='$k_id' style='float:right;' class='btn btn-success btn-xs'>Kup</button>
                </div>
              </div>
            </div>
            ";
        }
    }
}


?>

3)

jQuery(function(){
alert("hi");
    wyd();
    rod();
    ksiazka();
    function wyd(){

        

        $.ajax({
            url: "action.php",
            method: "POST",
            data: {wydawnictwo:1},
            success: function(data){
                $("#get_wydawnictwo").html(data);
                
            },
            error: function(blad) {
                alert ("wystąpił błąd");
                console.log(blad);
            }
        });
            return false;
    }
    function rod(){

        $.ajax({
            url: "action.php",
            method: "POST",
            data: {rodzaje:1},
            success: function(data){
                $("#get_rodzaje").html(data);
            }
        });

    }
    function ksiazka(){

        $.ajax({
            url: "action.php",
            method: "POST",
            data: {getKsiazka:1},
            success: function(data){
                $("#get_ksiazka").html(data);
            }
        });

    }
});

<?php

$servername = "localhost";
$username = "mysql_user";
$password = "tajnehaslo";
$db = "sklep";


$polaczenie = mysqli_connect($servername, $username, $password, $db);

if(!polaczenie) {
    die("Connection failed: " . mysqli_connect_error());
}

?>


Za pomoc z góry dziękuję. :)
 

komentarz 19 stycznia 2021 przez ZeRo_ Nowicjusz (180 p.)

@ScriptyChris, faktycznie nic nie zwraca. 
Co w takim układzie zrobić? Może spróbować zmienić wersję PHP'a? (tylko czy to coś da?)


https://imgur.com/a/2sbXWWJ

komentarz 19 stycznia 2021 przez ScriptyChris Mędrzec (190,190 p.)

Wersja PHP raczej nie ma tutaj znaczenia. Sprawdź w bazie danych czy masz niepustą tabelę o nazwie wydawnictwa. Jeśli tak, to sprawdź czy połączenie PHP z bazą jest ok.

komentarz 19 stycznia 2021 przez ZeRo_ Nowicjusz (180 p.)
edycja 19 stycznia 2021 przez ZeRo_

@ScriptyChris, napisałem taki kodzik aby sprawdzić połączenie z bazą danych.
 

<?php
include dp.php;

echo("TEST PHP OK - " . date('Y-m-d H:i:s'));

if(mysqli_connect('localhost','mysql_user','tajnehaslo','sklep')){
    echo "polaczono";
}else{
    echo "niepolaczono";  
}

if(mysqli_connect('localhost','mysql_user','tajnehaslo','sklep')){
if(mysqli_select_db('wydawnictwa')){
    echo " wybrano baze wydawnictwa, ";
}else{
    echo " niewybrano baze wydawnictwa, ";  
}

if(mysqli_select_db('rodzaj')){
    echo " wybrano baze rodzaj, ";
}else{
    echo " niewybrano baze rodzaj, ";  
}

if(mysqli_select_db('ksiazka')){
    echo " wybrano baze ksiazka, ";
}else{
    echo " niewybrano baze ksiazka, ";  
}
}
?>

Wynik tego wyszedł negatywny. Zrzut: https://imgur.com/a/fcjWBQ5

Moja baza danych: https://imgur.com/a/awaCyOV
Dodam jeszcze że moje konto w phpmyadmin ma nadane wszystkie uprawnienia.

Jest to dla mnie bardzo dziwne że nie ma dostępu do bazy danych jak po wywołaniu kodu poniżej normalnie wyświetla dane na stronie.

<?php
$mysqli = new mysqli("localhost", "mysql_user", "tajnehaslo", "sklep");
if($mysqli->connect_error) {
  exit('Could not connect');
}

$sql = "SELECT ksiazka_tytul, ksiazka_autor, ksiazka_wydawnictwo, ksiazka_rodzaj, ksiazka_cena, ksiazka_opis, ksiazka_zdjecie FROM ksiazki";

$stmt = $mysqli->prepare($sql);
$stmt->bind_param("s", $_GET['q']);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($cid, $cname, $name, $adr, $city, $pcode, $country);
$stmt->fetch();
$stmt->close();

echo "<table>";
echo "<tr>";
echo "<th>CustomerID</th>";
echo "<td>" . $cid . "</td>";
echo "<th>CompanyName</th>";
echo "<td>" . $cname . "</td>";
echo "<th>ContactName</th>";
echo "<td>" . $name . "</td>";
echo "<th>Address</th>";
echo "<td>" . $adr . "</td>";
echo "<th>City</th>";
echo "<td>" . $city . "</td>";
echo "<th>PostalCode</th>";
echo "<td>" . $pcode . "</td>";
echo "<th>Country</th>";
echo "<td>" . $country . "</td>";
echo "</tr>";
echo "</table>";
?>

Kodzi znalazłem na internecie i tylko dane zmieniłem.
 

1
komentarz 19 stycznia 2021 przez ScriptyChris Mędrzec (190,190 p.)
Nie znam na tyle MySQL i PHP żeby w tym pomóc. Zmienię kategorię tego pytania na bardziej odpowiednią, to może ktoś bardziej kompetentny Ci pomoże.
2
komentarz 19 stycznia 2021 przez ZeRo_ Nowicjusz (180 p.)

@ScriptyChris, dziękuję za pomoc i poświęcony czas. :)

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 766 wizyt
0 głosów
0 odpowiedzi 94 wizyt
0 głosów
2 odpowiedzi 384 wizyt
pytanie zadane 21 grudnia 2016 w JavaScript przez skrzatjedyny Gaduła (3,150 p.)

92,539 zapytań

141,382 odpowiedzi

319,476 komentarzy

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

...