• 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

0 głosów
161 wizyt
pytanie zadane 16 sierpnia 2016 w PHP, Symfony, Zend 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,290 p.)
<th> to nagłówek tabeli, nie jest elementem dla form.
0 głosów
odpowiedź 16 sierpnia 2016 przez CzikaCarry Szeryf (75,440 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,200 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,440 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,200 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ź 81 wizyt
0 głosów
1 odpowiedź 94 wizyt
pytanie zadane 23 lipca 2016 w PHP, Symfony, Zend przez DawidxD Użytkownik (810 p.)
0 głosów
3 odpowiedzi 103 wizyt
pytanie zadane 13 grudnia 2016 w PHP, Symfony, Zend przez ThePatrykOOO Dyskutant (7,750 p.)
Porady nie od parady
Komentarze do pytań nie służą do odpowiadania, od tego jest wydzielona sekcja odpowiedzi. Funkcją komentarzy jest natomiast możliwość uzyskania dodatkowych informacji na temat samego posta.Komentarze

64,233 zapytań

110,623 odpowiedzi

231,914 komentarzy

46,972 pasjonatów

Przeglądających: 235
Pasjonatów: 15 Gości: 220

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.

...