Internetowe bazy danych

Podobne dokumenty
Można inicjować tablicę inną tablicą np. $owoce = array( Jabłko, Gruszka, Banan ); $owoce_kopia = $owoce; Jeśli chcemy stworzyć tablicę zawierającą

HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do śledzenia użytkownika

PHP: bloki kodu, tablice, obiekty i formularze

Lekcja 7 Tablice. Definiowanie tablicy

echo $tablica[2]; // Wyświetlony zostanie napis "Wpis numer 2";

Elementem tablicy może być każdy typ zmiennej (z innymi tablicami i obiektami włącznie). Tablica dwuwymiarowa, zawiera dwa indeksy, np.

Instrukcje dołączania plików

Tablice w PHP Jak odczytać coś od użytkownika? POST vs. GET Walidowanie po stronie serwera Prosta CAPTCHa

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

ŁAŃCUCHY W JĘZYKU C/C++

Zarządzanie systemami informatycznymi. Pojęcie systemu informatycznego Tworzenie interaktywnego oprogramowania internetowego w PHP

Serwer WWW Apache. Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, , zakończony projekt

Bazy danych. dr Radosław Matusik. radmat

Lekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ;

Funkcje wbudowane PHP

82 => 'iweifj', 'js7d' => 367, 'dfd' => $jakas_tablica, 73 => $obiekt;

Aplikacje internetowe. Informacja o języku PHP. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne.

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Internetowe bazy danych

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Zaawansowane bazy danych i hurtownie danych

Języki skryptowe - PHP. Podstawy PHP. Paweł Kasprowski. pawel@kasprowski.pl. vl07

DANE TEKSTOWE W JĘZYKU C/C++ - TABLICE ZNAKOWE

Grafika PHP dla początkujących

Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:

System operacyjny Linux

Laboratorium 6: Ciągi znaków. mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Operacje na ciągach. Łączenie ciągów

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Języki programowania wysokiego poziomu. PHP cz.2.

Michał Bielecki, KNI 'BIOS'

System operacyjny Linux

Internetowe bazy danych

Podstawy programowania w Pythonie

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania

Wykład 2 Składnia języka C# (cz. 1)

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

Funkcja (podprogram) void

Oczywiście plik musi mieć rozszerzenie *.php

Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17

Języki programowania. Przetwarzanie tablic znaków. Część druga. Autorzy Tomasz Xięski Roman Simiński

Podstawy programowania

Informatyka 1. Przetwarzanie tekstów

Szablon główny (plik guestbook.php) będzie miał postać:

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Materiał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje

Narzędzia informatyczne w językoznawstwie

Struktury. Przykład W8_1

Personal Home Page PHP: Hypertext Preprocessor

Kompozycja Proceduralna

Bazy Danych i Usługi Sieciowe

BAZY DANYCH. Obsługa bazy z poziomu języka PHP. opracowanie: Michał Lech

Programowanie Proceduralne

Tablice deklaracja, reprezentacja wewnętrzna

LibreOffice Calc VBA

Programowanie internetowe

Smarty PHP. Leksykon kieszonkowy

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

Programowanie PHP. Temat 1. Przygotowanie środowiska, prezentacja możliwości PHP

Podstawy programowania w języku C++

I.Wojnicki, PHP. Smarty. Igor Wojnicki. Katedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie. 28 marca 2014

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Programowanie w języku Java

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Kiedy i czy konieczne?

dr inż. Jarosław Forenc

Podstawy programowania w języku C++

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Języki programowania obiektowego Nieobiektowe elementy języka C++

Wykład 4. Tablice. Pliki

Czym jest PHP? Początki PHP to rok 1995, kiedy Rasmus Lerdorf opracował skrypt, którego zadaniem było zliczanie ile osób odwiedza jego witrynę i

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia

Biblioteka standardowa - operacje wejścia/wyjścia

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 9 - sem.iii. Dr inż. M. Czyżak

Programowanie i struktury danych

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Dokonaj analizy poniŝszego kodu i na jego podstawie wyświetl w oknie przeglądarki swoje Imię oraz Nazwisko przy uŝyciu instrukcji echo i print

Inicjacja tablicy jednowymiarowej

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Platformy Programistyczne Podstawy języka Java

Informatyka I. Wykład 4. Tablice. Dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

INFORMATYKA Studia Niestacjonarne Elektrotechnika

PHP 5. Leksykon kieszonkowy

Aplikacje WWW - laboratorium

Podstawy Programowania

do drukowania tekstu służy funkcja echo <?php echo "hello world!";?> jeżeli użyjemy jej kilka razy: <?php

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 7- sem.iii. M. Czyżak

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

Transkrypt:

Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 9 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl

Operacje na tablicach (1) sort sortowanie alfanumeryczne rosnąco $produkty = array( Opony, Olej, Świece ); sort($produkty); porządek: Olej,Opony, Świece wielkość liter TAK: duże, małe A < Z, Z < z $ceny = array(400, 100, 20); sort($ceny); porządek: 20, 100, 400 asort sortowanie alfanumeryczne rosnąco wg wartości $ceny = array( Opony =>400, Olej =>100, Świece => 20); asort($ceny); porządek: według wartości elementu

ksort sortowanie alfanumeryczne rosnąco wg opisów $ceny = array( Opony =>400, Olej =>100, Świece => 20); ksort($ceny); porządek: według wartości opisów pól (kluczy) rsort, arsort, krsort sortowanie malejące - analogi sortowanie definiowane przez użytkownika KOD $produkty = array(array( OPO, Opony, 400), array( OLE, Olej, 100), array( SWI, Swiece, 20)); function porownaj($x, $y) { if ($x[0] == $y[0]) return 0; elseif ($x[0] < $y[0]) return 1; else return 1; } function porownaj($x, $y) { if ($x[2] == $y[2]) return 0; elseif ($x[2] < $y[2]) return 1; else return 1; } CENA usort($produkty, porownaj);

Operacje na tablicach (2) uasort, uksort sortowanie wg. użytkownika - analogi sortowanie odwrotne definiowane przez użytkownika $produkty = array(array( OPO, Opony, 400), array( OLE, Olej, 100), function odporownaj($x, $y) array( SWI, Swiece, 20)); { if ($x[2] == $y[2]) CENA return 0; elseif ($x[2] < $y[2]) return 1; usort($produkty, odporownaj); else return -1; } shuffle losowe ustawienie kolejności elementów array_reverse kopia tablicy z odwróconą kolejnością

<?php $obrazy = array( opona.jpg, olej.jpg, swieca.jpg, drzwi.jpg, kierownica.jpg, termostat.jpg, uszczelka.jpg, wycieraczka.jpg, tarcza.jpg ); shuffle($obrazy);?> <html> <head> <title>części samochodowe</title> </head> <body> <center> <h1>części samochodowe</h1> <table width = 100%> <tr> <?php for ($i = 0; $i < 3; $i++) {echo <td align = center><img src=\ ; echo $obrazy[$i]; echo \ width = 100 height = 100></td> ;}?> </tr> </table> </center> </body> </html> <?php $liczby = array(); for ($i = 10; $i > 0; $i--) array_push($liczby, $i); $liczby = range(1, 10); $liczby = array_reverse($liczby);?>

array_push dodanie elementów na końcu tablicy array_push(nazwa_tablicy, elem_1, elem_2,...) co najmniej jeden element jest dodawany array_pop usunięcie ostatniego elementu tablicy array_pop(nazwa_tablicy) array_unshift dodanie elementów na początku tablicy array_unshift(nazwa_tablicy, elem_1, elem_2,...) co najmniej jeden element jest dodawany array_shift usunięcie pierwszego elementu tablicy array_shift(nazwa_tablicy) array_merge konkatenacja tablic array_merge(nazwa_tablicy_1, nazwa_tablicy_2,...) co najmniej dwie tablice są łączone

array_keys tablica z nazw kluczy tablicy istniejącej array_keys(nazwa_tablicy) array_values tablica z wartości tablicy istniejącej array_values(nazwa_tablicy) - ładowanie tablicy z pliku: <?php $zam = file( order.txt ); $il_zam = count($zam); if ($il_zam == 0) { echo <p><strong>brak zamówień</strong></p> ; } for ($i = 0; $i < $il_zam; $i++) { echo $zam[$i]. <br> ; }?> file: ładowanie pliku do tablicy jedna linia pliku jeden element tablicy count: liczba elementów zmiennej explode(łańcuch separator, łańcuch ciąg) rozbicie linii na elementy

Wędrówki po tablicy reset pierwszy element, wskaźnik na początku each bieżący element, przesuw wskaźnika do przodu reset(nazwa_tablicy) each(nazwa_tablicy) next(nazwa_tablicy) current(nazwa_tablicy) prev(nazwa_tablicy) end(nazwa_tablicy) next przesuw wskaźnika do przodu, bieżący element current bieżący element, wskaźnik bez zmian prev przesuw wskaźnika do tyłu, bieżący element end ostatni element, wskaźnik na końcu <?php while($element = each($ceny)) { echo $element[ key ]; echo ; echo $element[ value ]; echo <br> ; }?>

Dołączanie funkcji do elementów tablicy array_walk jednolita modyfikacja każdego elementu int array_walk(array tab, string func, [user_data]) function mojdrukuj($wartosc) { echo $wartosc<br> ; } array_walk($tablica, mojdrukuj ); function MojMnoz(&$wartosc, $klucz, $wsp) { $wartosc *= $wsp; } array_walk($tablica, MojMnoz, 3); Mojafunkcja(wartosc, klucz, dane) $klucz tylko dla zachowania składni, merytorycznie zbędny działanie przez referencję modyfikacja zawartości tablicy

Liczenie elementów tablicy count liczba elementów w zmiennej także tablicy sizeof liczba elementów w tablicy array_count_values w zasadzie to samo, ale uwaga! count(nazwa_tablicy) sizeof(nazwa_tablicy) array_count_values(nazwa_tablicy) <?php $tablica = array(4,5,1,2,3,1,2,1); $lt = array_count_values($tablica);?> klucz oblicza ile niepowtarzalnych wartości jest w tablicy tablica asocjacyjna: - klucze: pojedyncze wartości, - wartość numeryczna liczba powtórzeń danej wartości wartość 4 1 5 1 1 3 2 2 3 1

Konwersja tablicy na zmienne skalarne (1) extract tablica asocjacyjna na wartości skalarne extract(array tab [, int typ_ext [, string przedrostek]) $tablica=array( kl_1 => war_1, kl_2 => war_2, kl_3 => war_3 ); extract($tablica); echo $kl_1 $kl_2 $kl_3 ; war_1 war_2 war_3 z tablicy tworzy wartości skalarne o nazwach takich jak klucze tablicy typ ekstrakcji co robić w razie kolizji? typ EXTR_OVERWRITE EXTR_SKIP EXTR_PREFIX_SAME EXTR_PREFIX_ALL znaczenie nadpisanie ominięcie + przedrostek + przedrostek

Operacje na ciągach znaków $tablica=array( kl_1 => war_1, kl_2 => war_2, kl_3 => war_3 ) extract($tablica, EXTR_PREFIX_ALL, MojPR ); echo $MojPRkl_1 $MojPRkl_2 $MojPRkl_3 ; war_1 war_2 war_3 klucze i przedrostki muszą spełniać kryteria nazwy zmiennej! trim przycięcie początku i końca ltrim przycięcie początku chop przycięcie końca trim(ciąg) ltrim(ciąg) chop(ciąg) wycinaniu podlegają: spacje, \n, \r, \t, \v, koniec ciągu \0

Formatowanie przed prezentacją nl2br \n -> <br> print jak echo, zwraca boolean printf jak w C, formatowanie! printf( Wartość zamówienia wynosi %s, $wart); // $wart jako string printf( Wartość zamównienia wynosi %.2f, $wart); // $wart jako float, 2 miejsca po przecinku printf( Wartość zamówienia to %.2f (dostawa %.2f), $wart, $tr); %[dopełnienie][-][szerokość][.dokładność]typ znaki konwersji: b binarny, c character, d dziesiętnie, f float o ósemkowo, s string, x hex (a f), X HEX (A F)

Zmiana wielkości znaków strtoupper NA DUŻE ZNAKI strlower na małe znaki ucfirst Zmiana jak w zdaniu ucwords Każdy Wyraz w Zdaniu argument łańcuch znaków, zwraca łańcuch zmodyfikowany explode rozbicie ciągu wg. separatora, wynik w tablicy array explode(string separator, string łańcuch) implode działanie odwrotne do explode string implode(string separator, tablica) $tab_email = explode( @, $email); $email = implode( @, $tab_email);

strtok pobranie żetonów z ciągu string strtok(string łańcuch, string separator) $zeton = strtok($komentarz, ); // pierwsze wywołanie echo $zeton. <br> ; while ($zeton!= ) { $zeton = strtok( ); // kolejne wywołania tylko separator echo $zeton. <br> ; } dwa separatory obok siebie, jeden równy 0 pusty łańcuch substr dostęp do podciągu między początek a koniec string substr(string łańcuch, int start, [int długość]) $IchTroje = Keine Grenzen ; substr($ichtroje, 1); // eine Grenzen substr($ichtroje, -6); // Grenzen substr($ichtroje, 0, 5); // Keine substr($ichtroje, 1, -8); // eine

Porównywanie ciągów strcmp porównanie ciągów int strcmp(string ciąg_1, string ciąg_2) ciągi równe zwraca zero, ciąg_1 za ciąg_2 zwraca >0, ciąg_1 przed ciąg_2 zwraca <0, wielkość liter ważna! strcasecmp porównanie ciągów int strcasecmp(string ciąg_1, string ciąg_2) działa jak srtcmp, wielkość liter nie jest ważna! strnatcmp porównanie ciągów naturalne int strnatcmp(string ciąg_1, string ciąg_2) działa jak srtcmp, naturalność: 2 < 12

Znajdowanie ciągów w ciągach strstr, strchr odnajdywanie ciągu w ciągu string strstr(string stóg, string igła) jeśli znajdzie się ciąg pasujący do igła zwraca fragment stóg od igła jeśli nie odnajdzie false, znajdzie tylko pierwsze wystąpienie igły stristr odnajdywanie ciągu w ciągu string stristr(string stóg, string igła) działa jak srtstr, wielkość liter nie jest ważna! strrchr odnajdywanie ciągu w ciągu string strrchr(string stóg, string igła) jeśli znajdzie się ciąg pasujący do igła zwraca fragment stóg od igła jeśli nie odnajdzie false, znajdzie tylko ostatnie wystąpienie igły

Znajdowanie pozycji podciągu strpos odnajdywanie ciągu w ciągu int strpos(string stóg, string igła, [int offset]) zwraca pozycję pierwszego wystąpienia igła w stóg, liczenie od zera, offset może wskazać początek poszukiwania strrpos odnajdywanie ciągu w ciągu string strrpos(string stóg, string igła) zwraca pozycję ostatniego wystąpienia igła w stóg, liczenie od zera, offset może wskazać początek poszukiwania, igła = jeden znak strlen sprawdzenie długości ciągu int strlen(string łańcuch) zwraca długość łańcucha znaków

Zamiana podciągów str_replace zamiana wszystkich elementów na nowe string str_replace(string igła, string new_igła, string stóg) zamienia wszystkie elementy igła znalezione w stog na new_igła substr_replace zamiana konkretnego podciągu ciągu string substr_replace(string cg, string zam, int str [,int dl]) zamienia część ciągu cg na ciąg zam, str i dl określają, które części zostaną podmienione str początek szukania, dodatnia od początku ciągu, ujemna od końca dl określenie końca poszukiwania, jeśli go brak zamiana od str do końca dl = 0 - wstawienie ciągu bez nadpisywania dl > 0 - liczba znaków, które mają być zamienione na nowy ciąg dl < 0 - pozycja ciągu, na której zakończyć zamianę, liczona od końca