Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][HTML][MYSQL]uaktualnienie rekordu w bazie
xyxy
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 22.01.2009

Ostrzeżenie: (0%)
-----


Zacznę od kawałka kodu:
Kod
$query="SELECT * FROM klienci";
        $result=mysql_query($query);
        $num=mysql_numrows($result);
        
        print '<input type="submit" name="przyciskusun" value="usun">';
        print '<input type="submit" name="przyciskedytuj" value="edytuj">';
        
        $i=0;
        while ($i < $num)
        {
            $ID = mysql_result($result,$i,"id");
            $imie = mysql_result($result,$i,"imie");
            $nazwisko = mysql_result($result,$i,"nazwisko");
            print '<table cellspacing=7 border=1 bgcolor=silver><tr>
            <td width=15 >
            <input type="radio" name="idselect" value="'.$ID.'"/>
            </td>
            <td width=30>'.$ID.'</td>
            <td width=150>'.$imie.'</td>
            <td width=150>'.$nazwisko.'</td></tr></table>';
          $i++;
        }
        
        if(!empty($_POST['przyciskusun']) && !empty($_POST['idselect']))
        {
            $Q = "DELETE FROM `klienci` WHERE `id`=".$_POST['idselect'];
            $R = mysql_query($Q);
            print "<script>setTimeout('document.location = \"klienci.html\"', 500);</script>";
        }
        
        elseif(!empty($_POST['przyciskedytuj']) && !empty($_POST['idselect']))
        {
        
            $Q = "SELECT * FROM `klienci` WHERE `id`=".$_POST['idselect'];
            $R = mysql_query($Q);
        
                    if(($Dane = mysql_fetch_assoc($R)) == true )
                    {
                        print 'Wypelnij ponizszy formularz:';
                        print '
        Imie: <input type="text" Name="FORM[imie]" value="'.$Dane['imie'].'" size=15>';
                        print '
        Nazwisko: <input type="text" Name="FORM[nazwisko]" value="'.$Dane['nazwisko'].'" size=50>';
                        print '
        <input type="submit" name="KL_ZAPISZ" value="Zapisz">
        ';
        
                    }
        }
        
        
        elseif(!empty($_POST['KL_ZAPISZ']))
        {
            $Q = "UPDATE `klienci` SET `imie`='".$_POST['FORM']['imie']."', `nazwisko`='".$_POST['FORM']['nazwisko']."' WHERE `id`=".$_POST['idselect'];
            $R = mysql_query($Q);
        }
        mysql_close($db);
        ?>



Niby wszytsko działa, ale problem polega na tym, że po wyświetleniu formularza edycji odznacza mi sie radio button wskazujący edytowany rekord i po naciśnięcu zapisz (KL_ZAPISZ) nie uaktualnia mi wybranego rekordu w bazie (uaktualnia dopiero gdy ponownie zaznacze ten sam radio button, wiec za każdym razem gdy chce edytować coś to musze 2 razy zaznaczac ta sama pozycje).

Ten post edytował xyxy 22.01.2009, 02:59:20
Go to the top of the page
+Quote Post
ayeo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Witaj na forum! Bardzo chętnie Ci pomogę, ale tak to zagmatwałeś, że nie mam pojęcia o co Ci chodzi smile.gif

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
xyxy
post
Post #3





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 22.01.2009

Ostrzeżenie: (0%)
-----


O witam, nie spodziewałem sie tu nikogo o tej porze. Rozchodzi sie o to, że jest lista wczytywana z bazy za pomocą pętli while, koło każdej wczytanej pozycji jest radio button, wybieram jakąś pozycję, klikam przycisk edytuj i wtedy odznacza mi sie radiobutton (da sie jakoś zrobić żeby sie nie odznaczył?). Musze go ponownie zaznaczyć, w przeciwnym przypadku po naciśnięciu przycisku zapisz nie chce mi wysłać tego:
Kod
<span class="postcolor">"UPDATE `klienci` SET  `imie`='".$_POST['FORM']['imie']."',  `nazwisko`='".$_POST['FORM']['nazwisko']."' WHERE  `id`=".$_POST['idselect']</span>
zapytania do bazy.

Ten post edytował xyxy 22.01.2009, 03:52:50
Go to the top of the page
+Quote Post
ayeo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Przyznam się, że strzelam. INPUT powinno znaleźć się między znacznikami FORM.

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
EarthCitizen
post
Post #5





Grupa: Zarejestrowani
Postów: 286
Pomógł: 70
Dołączył: 13.01.2009

Ostrzeżenie: (0%)
-----


Poza tym, że masz tam bałagan i cała ta edycja/usuwanie wymaga raczej przepisania niż poprawienia to dodaj zaznaczanie na podstawie zmiennej $_POST['idselect'] tak jak poniżej:
Kod
<input type="radio" name="idselect" value="'.$ID.'"' . ($_POST['idselect'] == $ID ? ' checked="checked"' : '') . ' />


Ten post edytował EarthCitizen 22.01.2009, 04:05:38
Go to the top of the page
+Quote Post
ayeo
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Po poście @EarthCitizen zrozumiałem dopiero o co chodzi. Myślałem, że radio odznacza się przed przeładowaniem strony smile.gif Ech, w końcu 4 rano smile.gif

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
xyxy
post
Post #7





Grupa: Zarejestrowani
Postów: 60
Pomógł: 1
Dołączył: 22.01.2009

Ostrzeżenie: (0%)
-----


o wielkie dzikeki za pomoc, działa biggrin.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 15:35