Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][MYSQL]uaktualnienie rekordu w bazie
Forum PHP.pl > Forum > Przedszkole
xyxy
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).
ayeo
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!
xyxy
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.
ayeo
Przyznam się, że strzelam. INPUT powinno znaleźć się między znacznikami FORM.

Pozdrawiam!
EarthCitizen
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"' : '') . ' />
ayeo
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!
xyxy
o wielkie dzikeki za pomoc, działa biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.