• 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]

Fiszki IT
Fiszki IT
+2 głosów
94 wizyt
pytanie zadane 18 stycznia w PHP przez ZeRo_ Nowicjusz (180 p.)
zmienione kategorie 19 stycznia 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 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 przez ScriptyChris Mędrzec (164,460 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 przez ZeRo_ Nowicjusz (180 p.)
edycja 19 stycznia 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 przez ScriptyChris Mędrzec (164,460 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 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 393 wizyt
0 głosów
0 odpowiedzi 46 wizyt
0 głosów
2 odpowiedzi 286 wizyt
pytanie zadane 21 grudnia 2016 w JavaScript przez skrzatjedyny Gaduła (3,170 p.)
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

84,745 zapytań

133,551 odpowiedzi

295,966 komentarzy

56,007 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...