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

Pobranie danych z tabeli po kliknięciu w WIERSZ

VPS Starter Arubacloud
0 głosów
628 wizyt
pytanie zadane 16 września 2018 w JavaScript przez Sebastian Szyja Bywalec (2,810 p.)

Witajcie!

Mam taki problem mam tabelę:

# Indeks Nazwa produktu JM Cena Stan
1 KOL-77951-HERLITZ KOŁONOTATNIK ZESZYT NA SPIRALI HERLITZ ORGA A4/70k szt 2.25 25
2 ZSZ-41768-BIZON ZSZYWKI tapicerskie stolarskie BizeA 380/12 Bizon opk 5.79 9
3 GWO-90321-WRODACH GWOŹDZIE BUDOWLANE 7,6x250 CZARNE kg 22.5 7
4 TOL-62001-LEATHERMAN Multitool Leatherman Sidekick (831439) + GRATIS szt 199.9 3

(te dane pobierane są z bazy danych za pomocą tego kodu)

<table class="table table-hover"> 
                                <thead> 
                                    <tr> 
                                        <th>#</th> 
                                        <th>Indeks</th> 
                                        <th>Nazwa produktu</th> 
                                        <th>JM</th> 
                                        <th>Cena</th> 
                                        <th>Stan</th> 
                                    </tr> 
                                </thead> 
                                
                                <tbody>
                                    <?php
                                    
                                    
                                    // TABELA PRODUKTY
                
                                    $polaczenie6 = @mysqli_connect($host, $db_user2, $db_password2, $db_name2);
                                    mysqli_query($polaczenie6, "SET CHARSET utf8");
                                    mysqli_query($polaczenie6, "SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");

                                        $wynikrekordow = mysqli_query($polaczenie6,"SELECT * FROM produkty");
                                        $lp = 1;

                                                while($row = mysqli_fetch_assoc($wynikrekordow))

                                                {
                                                    echo '<tronclick="onclickHandler();">';
                                                    echo '<th scope="row">'.$lp."</th>"; 
                                                    echo "<td>".$row['indeks']."</td>"; 
                                                    echo "<td>".$row['nazwa_produktu']."</td>"; 
                                                    echo "<td>".$row['jm']."</td>"; 
                                                    echo "<td>".$row['cena']."</td>"; 
                                                    echo "<td>".$row['stan']."</td>"; 
                                                    echo "</tr>";
                                                    
                                                    $lp++;
                                                }

                                    $polaczenie6->close(); 
                                    
                                    ?>
                                </tbody> 
                            </table>

dodałem sobie funkcję z JAVASCRIPTU że po kliknięciu wiersza wyskakuje ALERT: Kliknąłeś wiersz i wszystko działa i teraz chciałbym aby po kliknięciu w wiersz pobrało dane z wiersza i wstawilo je do tabeli obok która znajduje się w informacji o produkcie:

czy da się np. klikam na wiersz o ID 3 i chciałbym żeby indeks znalazł się w tabeli obok INFORMACJE O PRODUKCIE.

Przeszukałem i paredziesiąt stron i nie mogłem dojść do tego jak to ugryźć, może wy mi pomożecie?

Z góry bardzo dziękuję! Myślę ze podałem wszystkie istotne informacje :D

 

komentarz 16 września 2018 przez StOcK Mądrala (6,100 p.)
Pokaż kod JS jak gdy klikniesz w wiersz
komentarz 16 września 2018 przez Sebastian Szyja Bywalec (2,810 p.)
<script type="text/javascript">

    function onclickHandler()

    {

      alert('Wiersz został kliknięty!');

    }

    </script>

 

1 odpowiedź

+1 głos
odpowiedź 16 września 2018 przez StOcK Mądrala (6,100 p.)
edycja 16 września 2018 przez StOcK
 
Najlepsza
echo '<tr onclick="onclickHandler(\''.$row['indeks'].'\');">';

Wtedy w JS masz w funkcji parametr z ID

komentarz 16 września 2018 przez StOcK Mądrala (6,100 p.)

Za pomocą ajaxa

Przejrzyj ten temat i moją odpowiedz do niego + komentarze

komentarz 17 września 2018 przez Sebastian Szyja Bywalec (2,810 p.)

@StOcK, nie mogę dojść do tego jak to zrobić :((( próbuje ale nie wychodzi nawet nie wiem jak wstawić ten pobrany element do skryptu zeby on działał :((((( ja nie potrafię JS wolę PHP ale wiem ze bez JS nie pobiorę dynamicznie tego z serwera ....

komentarz 17 września 2018 przez StOcK Mądrala (6,100 p.)
Wyobraź sobie, że wysyłasz formularz motedą POST do skryptu PHP. W formularzu masz pola np. getProduct oraz pole indeks.

Napisz skrypt PHP tak aby wyszukiwał w bazie produkt o indeksie podanym w $_POST['indeks']. Wynik wypisz w dokumencie (echo)

A z JS Ci pomoge
komentarz 17 września 2018 przez Sebastian Szyja Bywalec (2,810 p.)
$polaczenie = @mysqli_connect($host, $db_user, $db_password, $db_name);
                    @mysqli_query($polaczenie, "SET CHARSET utf8");
                    @mysqli_query($polaczenie, "SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");
                
                        $wynik = @mysqli_query($polaczenie,"SELECT * FROM licencje WHERE indeks='$_POST['indeks']'");

                                while($row = @mysqli_fetch_array($wynik))

                                {
                                    $_SESSION['id'] = $row['id'];
                                    $_SESSION['nazwa_produktu'] = $row['nazwa_produktu'];
                                    $_SESSION['indeks'] = $row['indeks'];
                                    $_SESSION['lokalizacja'] = $row['lokalizacja']; 
                                }

                    $polaczenie->close();
                    
echo "$_SESSION['indeks']";

 

komentarz 17 września 2018 przez StOcK Mądrala (6,100 p.)

Po 1.  real_escape_string aby zabezpieczyć się przed SQL Injection @mysqli_real_escape_string($_POST['indeks']);

Po 2. Nie musisz używać $_SESSION, jeśli masz tylko jeden wiersz, możesz wypisać od razu cały wiersz zakodowany w JSON echo json_encode($row);

Co do JS/jQuery:

$.ajax({
	type: "POST",
	url: "api/products",
	data: {
		action  : 'getProduct',
		indeks      : indeks_produktu
	},
	success: function(data){
		var dane = $.parseJSON(data);
		     Alert('Produkt o indeksie '+indeks_produktu+' to '+dane.nazwa_produktu);
		}
	}
});

gdzie indeks_produktu, jest to indeks pobrany po wciśnięciu wiersza w tabeli.

Dodatkowo przed wywołaniem zapytania w PHP sprawdź czy $_POST['action']==='getProduct'

Podobne pytania

0 głosów
1 odpowiedź 541 wizyt
pytanie zadane 22 maja 2017 w JavaScript przez niezalogowany
+1 głos
2 odpowiedzi 721 wizyt
0 głosów
0 odpowiedzi 150 wizyt
pytanie zadane 7 stycznia 2020 w Java przez luna22 Obywatel (1,420 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...