Jak uaktualnić/zmienić rekord w bazie MySQL

Kolejna porada dotycząca bazy MySQL. Tym razem zmienimy rekord w bazie danych MySQL.

PRZYKŁAD
  <?php
/*
   połączenie z bazą 
   http://www.kess.com.pl/?sid=10&pid=32
*/

/*
   odbieramy zmienne przekazane w linku jak w poradzie
   http://www.kess.com.pl/?sid=10&pid=43
*/

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

if(
$a == 'edit' and !empty($id)) {
    
/* zapytanie do tabeli */
    
$wynik mysql_query("SELECT * FROM test 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="index.php" method="post">
        <input type="hidden" name="a" value="save" />
        <input type="hidden" name="id" value="'
.$id.'" />
        imię:<br />
        <input type="text" name="imie"
        value="'
.$r['imie'].'" /><br />
        e-mail:<br />
        <input type="text" name="email"
        value="'
.$r['email'].'" /><br />
        <input type="submit" value="popraw" />
        </form>'
;
    }
}
elseif(
$a == 'save') {
    
/* odbieramy zmienne z formularza */
    
$id $_POST['id'];
    
$imie trim($_POST['imie']);
    
$email trim($_POST['email']);
    
/* uaktualniamy tabelę test */
    
mysql_query("UPDATE test SET imie='$imie',
    email='$email' WHERE id='$id'"
)
    or die(
'Błąd zapytania');
    echo 
'Dane zostały zaktualizowane';
}
?> 
 

Krzysztof Szypulski - kess.snug.pl

Komentarze

Popularne posty z tego bloga

phpBoard

Turbo pascal - Program sortujący liczby rosnąco

Jak poznać numer ID ostatnio dodanego rekordu do bazy danych MySQL