Problem z edycją rekordów - pomoc w lekkiej modyfikacji - Wersja do druku
+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Problem z edycją rekordów - pomoc w lekkiej modyfikacji (/thread-problem-z-edycja-rekordow-pomoc-w-lekkiej-modyfikacji)
|
Problem z edycją rekordów - pomoc w lekkiej modyfikacji - nighttrain - 01-07-2010
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&id={$r['id']}\">DEL</a>
<a href=\"wyswietlenietabeli.php?a=edit&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 ?>
|