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

question-closed Jak przesłać id które jest zmienną do php

VPS Starter Arubacloud
0 głosów
474 wizyt
pytanie zadane 16 sierpnia 2016 w PHP przez Mistrz0000000 Bywalec (2,780 p.)
zamknięte 17 sierpnia 2016 przez Mistrz0000000

Mam taką funckję w php: 

function load_payment_list()
{
    $status = "oczekiwanie";
    $stmt = getDBH()->prepare("SELECT * FROM payments WHERE status=:status");
    $stmt->bindParam(':status', $status, PDO::PARAM_STR);
    $stmt->execute();

    while ($r = $stmt->fetch(PDO::FETCH_ASSOC)) {
        echo ' <tr>
            <form action="" method="POST">
            <th name="'.$r['id'].'">'.$r['id'].'</th>
            <th>'.$r['count'].'</th>
            <th>'.$r['price'].' PLN</th>
            <th>'.$r['steamid'].'</th>
            <th><button type="submit" name="accept_payment">Zatwierdz</button></th>
            </form>
            </tr>';
    }
}

i nie wiem jak przesłać te id

<th name="'.$r['id'].'">'.$r['id'].'</th>

po wciśnięciu przycisku do php

komentarz zamknięcia: Naprawione. Zamaist $stmt = getDBH()->prepare("UPDATE payments SET status = :text WHERE id = :id"); miałem $stmt = getDBH()->prepare("UPDATE payments SET status = :text,WHERE id = :id");

3 odpowiedzi

+1 głos
odpowiedź 16 sierpnia 2016 przez maly Nałogowiec (37,190 p.)
<th> to nagłówek tabeli, nie jest elementem dla form.
0 głosów
odpowiedź 16 sierpnia 2016 przez CzikaCarry Szeryf (75,340 p.)
Przed wciśnięciem przycisku te id jeszcze nie istnieje? Jeśli nie, to musisz użyć AJAX'a, aby asynchronicznie przesłać to do skryptu php (asynchronicznie - bez przeładowania strony)
komentarz 16 sierpnia 2016 przez Mistrz0000000 Bywalec (2,780 p.)

no to zrobi#em tak jak powiedziałeś

function load_payment_list()
{
    $status = "oczekiwanie";
    $stmt = getDBH()->prepare("SELECT * FROM payments WHERE status=:status");
    $stmt->bindParam(':status', $status, PDO::PARAM_STR);
    $stmt->execute();
    while ($r = $stmt->fetch(PDO::FETCH_ASSOC)) {
        $id = $r['id'];
        echo ' <tr>
            <form action="" method="POST">
            <th><input type="hidden" name="id" value="'.$r['id'].'">'.$r['id'].'</th>
            <th>'.$r['count'].'</th>
            <th>'.$r['price'].' PLN</th>
            <th>'.$r['steamid'].'</th>
            <th><button type="submit" name="accept_payment">Zatwierdz</button></th>
            </form>
            </tr>';
    }
    if (isset($_POST['accept_payment']))
    {
        $text = 'Zakończone';
        $stmt = getDBH()->prepare("UPDATE payments SET status = :text,WHERE id = :id");
        $stmt->bindParam(':text', $text, PDO::PARAM_STR);
        $stmt->bindParam(':id', $_POST['id'], PDO::PARAM_STR);
        $stmt->execute();
    }
    }

i dalej biała strona po wciśnięciu przycisku

 

komentarz 16 sierpnia 2016 przez writen Nałogowiec (29,060 p.)
A czemu to jest w funkcji?

Robisz to źle.
komentarz 16 sierpnia 2016 przez Mistrz0000000 Bywalec (2,780 p.)
edycja 17 sierpnia 2016 przez Mistrz0000000
Jest w funkcji bo mieszam kod html z php i staram się to ograniczyć do minimum.
komentarz 17 sierpnia 2016 przez CzikaCarry Szeryf (75,340 p.)
A czy ten if się spełnia ?
komentarz 17 sierpnia 2016 przez Mistrz0000000 Bywalec (2,780 p.)

Teraz włożyłem ten if do index.php i działa ale częściowo. Jak dam
echo $_POST['id'] to wyświetla te id, ale jak dam ten kod:

    if (isset($_POST['accept_payment']))
    {
        $text = 'Zakończone';
        $stmt = getDBH()->prepare("UPDATE payments SET status = :text,WHERE id = :id");
        $stmt->bindParam(':text', $text, PDO::PARAM_STR);
        $stmt->bindParam(':id', $_POST['id'], PDO::PARAM_STR);
        $stmt->execute();
    } 

to biała strona po wciśnięciu przycisku.

 

0 głosów
odpowiedź 16 sierpnia 2016 przez writen Nałogowiec (29,060 p.)
Wystarczy, że wsadzisz do tego formularza input typu hidden z wartością tego id.
komentarz 16 sierpnia 2016 przez Mistrz0000000 Bywalec (2,780 p.)
Ale jak to ma wyglądać potem w php to odbieranie ?

$zmienna = $r['id'];, czy jak ?

Podobne pytania

0 głosów
1 odpowiedź 238 wizyt
0 głosów
1 odpowiedź 151 wizyt
pytanie zadane 23 lipca 2016 w PHP przez DawidxD Użytkownik (810 p.)
0 głosów
3 odpowiedzi 197 wizyt
pytanie zadane 13 grudnia 2016 w PHP przez ThePatrykOOO Dyskutant (8,380 p.)

92,452 zapytań

141,262 odpowiedzi

319,079 komentarzy

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

...