PHP - kilka słów odnośnie zapytania UPDATE

DZIAŁANIE: brak działania
 

Kod:

brak kodu :P

Ewentualne Objaśnienia:

1). Tutaj chciałem króciutko nawiązać do wykorzystywania zapytania UPDATE - jak wiecie służącego do aktualizacji danych w bazie danych. Czasem na przykład używając znajej już wam klauzuli zapytania WHERE - LIKE - aktualizujemy w naszej bazie dużą ilość rekordów. Często przydatne jest to, aby się dowiedzieć, sprawdzić ile takich rekordów ( spełniających nasz warunek ) było. Do tego polecam użyć funkcji : mysql_affected_rows() .

Popatrzmy mamy taki fragment kodu :
<?
$query = "UPDATE nazwatabeli SET data='2007-09-27' WHERE tresc LIKE '%wybory%'";
$wynik = @mysql_query($query);
if ($wynik)
{
    print 'Uaktualniono : '.mysql_affected_rows().'wierszy w bazie danych!';
}
else
{
    print 'Przykro mi wystąpił błąd podczas aktualizacji : '.mysql_error();
}

Jak widać mamy proste zapytanie UPDATE - gdzie chcemy we wszystkich rekordach, w których w polu tresc znajdziemy słowo 'wybory' - zmienić wartość pola data - na datę 2007-09-27.
Używamy znacznika @ - jak pamiętacie jest to tzw. operator supresji błędów - dzięki niemu w razie błędy w zapytaniu nie zostanie on wyświetlony. No i mamy instrukcję warunkową, która sprawdza pomyślność naszego zapytania - jeżeli się ono powiodło - to poprzez funkcję mysql_affected_rows uzyskamy informacje ile wierszy zostało zaktualizowanych. Jeżeli zapytanie się nie powiodło wyświetlamy rodzaj błędu poprzez funkcję mysql_qrror() - zwraca ona ostatni komunikat o błędzie wysłany przez serwer MySQL.

2. Pamiętacie jak używaliśmy funkcji now() aby wpisać do danego pola przechowującego datę w bazie MySQL ?? No więc te raz tylko króciutko powiem, że jest jeszcze przykładowo inna funkcja, która działa tak samo jest to funkcja : CURDATE() , a na przykład CURTIME() - to bieżący czas . Inne tego typu to : DAYOFMONTH() - numer dnia miesiąca ( liczba od 1 do 31 ),  DAYOFWEEK() - numer dnia tygodnia ( 1 to niedziela, 7 to sobota ),  DAYOFYEAR() - numer dnia roku ( liczba od 1 do 365 )
 

3. Przypuśćmy, że w naszej bazie przechowujemy na przykład masę artykułów. Chcemy gdzieś je sobie wyświetić - ale tak ajkby tylko ich krótki kawałeczek - na przykład 20 znaków. Wiadomo można jak na przykład w systemie newsów, który pokazywałem zrobić dodatkowe pole i przechowywać w nim krótki opis. Ale jest też inne rozwiązanie mianowicie parametr LEFT - w zapytaniu SELECT do bazy danych.
Na przykład :
$query = "SELECT LEFT(pole_artykulow,20) FROM tabela_artykulow"; - czyli z naszej bazy, z tabeli "tabela_artykulow" wybieramy pola o nazwie "pole_artykulow" ( one przechowują treść artykułów oczywiście ) - a dzięki LEFT - wyświetlane jest jedynie pierwsze 20 znaków z tego pola.

4. Ciekawą rzeczą chociaż nie związaną bezpośrednia z MySQL jest zmienna : $_SERVER['PHP_SELF'] - określa nam ona nazwę bieżącego pliku - przydatne na przykład w formularzach w określeniu parametru action.