Przycisk z zapytaniem do bazy MySql

0

Witam, mam dosyć proste pytanie, otóż chciałbym się dowiedzieć jak dodać zapytanie np. takie jak poniżej do przycisku albo jako hiperłącze do tekstu na stronie w kodzie php. Chodzi mi o to że jak nacisnę guzik to wykona się zapytanie do bazy.

$wynik = $conn->query("SELECT * FROM towar,magazyn,remanent WHERE remanent.id_towaru=towar.id_towaru AND remanent.id_magazynu=magazyn.id_magazynu");

0

Użyj formularza. Możesz go użyć na dowolnym obiekcie, także obrazku, tabelki, wszystko co da się kklikac. Można wywołać "click" jako wysyłanie inputa przy użyciu JS.

Możesz także użyć buttona ale wtedy input type submit też musi być (jako ukryty) i dodatkowy kod, co powiąże przycisk z wysyłanym formularzem


if (isset($_POST['wyslij_mnie'])
{
    include_once('db_connect.php');// lub bezpośrednio połączenie tutaj z bazą 

$wynik = $conn->query("SELECT * FROM towar,magazyn,remanent WHERE remanent.id_towaru=towar.id_towaru AND remanent.id_magazynu=magazyn.id_magazynu");

    print_r ($wynik);

}
<form action="?" method="post">
<input type="submit name="wyslij_mnie" value="send" id="wyslij_mnie">
</form>

Obsłużyć powinieneś zapytanie, czy się powiodło... np. czy SELECT coś zwrócił

if ($wynik->num_rows > 0)
{

echo "zwróciłem wyniki ...";
}
else
{
echo "zapytanie się nie powiodło";
}
1

Nie używaj formularza, wg Twojego opisu wystarczy żeby w linku jako adres podać miejsce do kodu php który zawiera ten kod. Zalozmy że Twój kod php znajduje się w pliku dbsave.php, wiec po prostu robisz linka <a href="dbsave.php">click</a>

Jesli masz jakiś routing to już wszystko zależy od tego jak wyglądają linki.

1

Można sobie zastosować link (jak piszę axelbest) z przeładowaniem strony lub ajaxa bez przeładowania.
Przykład GET:

$.get("zapytanie_bazy.php?product_id=123", function(data, status){
    alert("Data: " + data + "\nStatus: " + status);
});

lub POST

$.post("zapytanie_bazy.php", { product_id: 12 }, function(data, status) {
    alert("Data: " + data + "\nStatus: " + status);
});

plik zapytanie_bazy.php

reqiure_once("dbConnect.php");

$wynik = $conn->query("SELECT * FROM towar,magazyn,remanent WHERE remanent.id_towaru=towar.id_towaru AND remanent.id_magazynu=magazyn.id_magazynu");

if($wynik->num_rows > 0) {
var_dump($wynik->fetch());
} else {
echo "Brak wyniku.";
}
0

Rownie dobrze mozna uzyc F5 :)

0

Dzięki wielkie wszystkim za pomoc!! :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0