Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem z edycją rekordów - pomoc w lekkiej modyfikacji
#1
Cześć !

Posiadam dobrze napisany kod pod moją bazę danych, którego zadaniem jest wyświetlanie rekordów z danej tabeli oraz możliwość jej edycji oraz usunięcia, które to opcje są zawarte na końcu każdego wiersza (opcja DEL oraz EDIT). Chciałym jednak wydzielić te opcje pod osobną stronkę- tzn, chciałbym mieć możliwość przez formularz wyboru danego rekordu z bazy np: 3 i po kliknięciu na przycik EDIT - pokazał formularz wypełniony danymi z tego wiersza lub DEL, w tym wypadku usunął by wiersz. Mam taki kod, ale w połączeniu z pokazaniem całej tabeli i ściąga numer rekordu z tabeli. Proszę pomóc mi go przebudować tak, aby nie pokazaywała się tabela, a było miejsce na wpisanie numeru rekordu z tabeli i dwóch możliwośći EDIT i DELETE, następnie aby pokazal sie formularz i przycik zatwierdzajacy (fajnie by też było, aby pytał sie po wciśnięciu "czy na pewno?"). Nie mogę sobie z tym poradzić, a myślę, że z kodem u dołu dla zaawansowanych to chwilka czasu modrnizacji

Najprościej mówiąc, aby było pole na wybór rekordu (numeru komputera w tabeli) i po wciśnięciu przycisku, aby formularz wypełniły dane i przyciskiem po zmianie wysyłały do bazy (najlepiej jakby po wciśnięciu jeszcze pytała "na pewno"?)

pozdrawiam i proszę o pomoc

Kod:
<?php include "top.php"; // wkleja koniec stronki ?>
<?php

//POŁĄCZENIE Z BAZĄ DANYCH

$msql = mysql_connect('10.2.1.220', 'root', 'qazwsx');
mysql_select_db('komputery');


//DEKLARACJA ZMIENNEJ


$wynik = mysql_query("SELECT * FROM komputery")
or die('Błąd zapytania');


//WYSWIETLENIE WYNIKOW  JESLI TABELA POSIADA CHOC JEDEN REKORD > 0


if(mysql_num_rows($wynik) > 0) {

    /* jeżeli wynik jest pozytywny > 0, to wyświetlamy dane */

    echo "<table cellpadding=\"2\" border=1>";
    while($r = mysql_fetch_assoc($wynik)) {
        echo "<tr>";
        echo "<td>".$r['id']."</td>";
        echo "<td>".$r['nazwa_komputera']."</td>";
        echo "<td>".$r['nazwa_dzialu']."</td>";
    echo "<td>".$r['imie_nazwisko_usera']."</td>";
    echo "<td>".$r['adres_ip']."</td>";
    echo "<td>".$r['system_operacyjny']."</td>";
    echo "<td>".$r['mac_adress']."</td>";
    echo "<td>".$r['ilosc_ram']."</td>";
    echo "<td>".$r['procesor']."</td>";
    echo "<td>".$r['model_komputera']."</td>";



    echo "<td>
       <a href=\"wyswietlenietabeli.php?a=del&amp;id={$r['id']}\">DEL</a>
       <a href=\"wyswietlenietabeli.php?a=edit&amp;id={$r['id']}\">EDIT</a>
       </td>";
        echo "</tr>";
    }
    echo "</table>";
}


//SEKCJA IMPLEMENTACJI KODU DLA DELETE (DEL)

$a = trim($_GET['a']);
$id = trim($_GET['id']);


if($a == 'del' and !empty($id)) {

    /* usuwamy rekord */
    mysql_query("DELETE FROM komputery WHERE id='$id'")
    or die('Błąd zapytania: '.mysql_error());

    echo 'Rekord został usunęty z bazy';

}

//SEKCJA IMPLEMENTACJI KODU DLA  EDIT (EDIT)

$a = trim($_REQUEST['a']);
$id = trim($_GET['id']);

if($a == 'edit' and !empty($id)) {
    /* zapytanie do tabeli */
    $wynik = mysql_query("SELECT * FROM komputery WHERE
    id='$id'")
    or die('Błąd zapytania');

/*
    wyświetlamy wyniki, sprawdzamy,
     czy zapytanie zwróciło wartość większą od 0
     */
    if(mysql_num_rows($wynik) > 0) {
         /* odczytujemy zawartość wiersza z tabeli */
        $r = mysql_fetch_assoc($wynik);
        /* wczytujemy dane do formularza */
        /*
        w formularz znajdują się ukryte pola "a"
        z wartością "save" i pole "id" z wartością
        zmiennej id
        */
        echo '<form action="wyswietlenietabeli.php" method="post">
        <input type="hidden" name="a" value="save" />
        <input type="hidden" name="id" value="'.$id.'" />
        ID:<br />
        <input type="text" name="id"
        value="'.$r['id'].'" /><br />
        Nazwa komputera:<br />
        <input type="text" name="nazwa_komputera"
        value="'.$r['nazwa_komputera'].'" /><br />
    Nazwa dzialu:<br />
        <input type="text" name="nazwa_dzialu"
        value="'.$r['nazwa_dzialu'].'" /><br />
    Imie i nazwisko usera:<br />
        <input type="text" name="imie_nazwisko_usera"
        value="'.$r['imie_nazwisko_usera'].'" /><br />
    Adres IP:<br />
        <input type="text" name="adres_ip"
        value="'.$r['adres_ip'].'" /><br />
    System operacyjny:<br />
        <input type="text" name="system_operacyjny"
        value="'.$r['system_operacyjny'].'" /><br />
    Mac adres:<br />
        <input type="text" name="mac_adress"
        value="'.$r['mac_adress'].'" /><br />
    ilosc RAM:<br />
        <input type="text" name="ilosc_ram"
        value="'.$r['ilosc_ram'].'" /><br />
    Procesor:<br />
        <input type="text" name="procesor"
        value="'.$r['procesor'].'" /><br />
    Model komputera:<br />
        <input type="text" name="model_komputera"
        value="'.$r['model_komputera'].'" /><br />



        <input type="submit" value="popraw" />
        </form>';
    }
}
elseif($a == 'save') {
    /* odbieramy zmienne z formularza */
    $id = $_POST['id'];
    $nazwa_komputera = trim($_POST['nazwa_komputera']);
    $nazwa_dzialu = trim($_POST['nazwa_dzialu']);
    $imie_nazwisko_usera = trim($_POST['imie_nazwisko_usera']);
    $adres_ip = trim($_POST['adres_ip']);
    $system_operacyjny = trim($_POST['system_operacyjny']);
    $mac_adress = trim($_POST['mac_adress']);
    $ilosc_ram = trim($_POST['ilosc_ram']);
    $procesor = trim($_POST['procesor']);
    $model_komputera = trim($_POST['model_komputera']);



    /* uaktualniamy tabelę test o nowe dane ktore wpisalismy do formularza*/
    mysql_query("UPDATE komputery SET id='$id', nazwa_komputera='$nazwa_komputera', nazwa_dzialu='$nazwa_dzialu',imie_nazwisko_usera='$imie_nazwisko_usera', adres_ip='$adres_ip', system_operacyjny='$system_operacyjny', mac_adress='$mac_adress', ilosc_ram='$ilosc_ram', procesor='$procesor', model_komputera='$model_komputera' WHERE id='$id'")
    or die('Bład zapytania');
    echo nl2br("\n");
    echo 'DANE ZOSTALY POPRAWNIE ZAKTUALIZOWANE!';
   //<head><meta http-equiv="Refresh" content="60"></head>  chodzi o odswiezanie strony, zeby z automata odswiezylo
}


echo nl2br("\n\n\n Kodowanie: ");
?>

<?php include "bottom.php"; // wkleja koniec stronki ?>
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Wyciąganie pojedynczych rekordów z bazy po separatorze Piotrroger 0 1,629 01-08-2012, 20:41
Ostatni post: Piotrroger
  pomoc w złączeniu MySQL puciol 1 1,962 16-06-2012, 20:10
Ostatni post: Pedro84
  Odzyskanie rekordów lomek 2 2,418 28-05-2012, 19:53
Ostatni post: mateo
  Pomoc przy kodzie php adamk342 4 3,364 07-05-2012, 17:28
Ostatni post: adamk342
  Edycja rekordów w bazie MYSQL Smarth 4 3,873 20-02-2012, 02:26
Ostatni post: Pedro84

Skocz do:


Użytkownicy przeglądający ten wątek:
Sponsorzy i przyjaciele
SeoHost.pl