Strict Standards: Redefining already defined constructor for class wpdb in /blog/wp-includes/wp-db.php on line 49

Deprecated: Assigning the return value of new by reference is deprecated in /blog/wp-includes/cache.php on line 35

Strict Standards: Redefining already defined constructor for class WP_Object_Cache in /blog/wp-includes/cache.php on line 400

Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl($output) in /blog/wp-includes/classes.php on line 534

Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl($output) in /blog/wp-includes/classes.php on line 534

Strict Standards: Declaration of Walker_Page::start_el() should be compatible with Walker::start_el($output) in /blog/wp-includes/classes.php on line 534

Strict Standards: Declaration of Walker_Page::end_el() should be compatible with Walker::end_el($output) in /blog/wp-includes/classes.php on line 534

Strict Standards: Declaration of Walker_PageDropdown::start_el() should be compatible with Walker::start_el($output) in /blog/wp-includes/classes.php on line 553

Strict Standards: Declaration of Walker_Category::start_lvl() should be compatible with Walker::start_lvl($output) in /blog/wp-includes/classes.php on line 649

Strict Standards: Declaration of Walker_Category::end_lvl() should be compatible with Walker::end_lvl($output) in /blog/wp-includes/classes.php on line 649

Strict Standards: Declaration of Walker_Category::start_el() should be compatible with Walker::start_el($output) in /blog/wp-includes/classes.php on line 649

Strict Standards: Declaration of Walker_Category::end_el() should be compatible with Walker::end_el($output) in /blog/wp-includes/classes.php on line 649

Strict Standards: Declaration of Walker_CategoryDropdown::start_el() should be compatible with Walker::start_el($output) in /blog/wp-includes/classes.php on line 674

Deprecated: Assigning the return value of new by reference is deprecated in /blog/wp-includes/query.php on line 15

Deprecated: Assigning the return value of new by reference is deprecated in /blog/wp-includes/theme.php on line 505

Strict Standards: Non-static method Advanced_Permalinks::get() should not be called statically in /blog/wp-content/plugins/advanced-permalinks/advanced-permalinks.php on line 825

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method GoogleSitemapGeneratorLoader::Enable() should not be called statically in /blog/wp-includes/plugin.php on line 123

Warning: call_user_func_array() expects parameter 2 to be array, null given in /blog/wp-includes/plugin.php on line 123
[PHP-MYSQL] Operacje na formularzach z wykorzystaniem bazy MySQL » Porady PHP, Porady MySQL » egrafik.pl
BAZA WIEDZY
KURSY
Bazy danych w PHP
Kurs AdvancedAJAX
Kurs ASP
Kurs ASP.NET
Kurs C++
Kurs CSS
Kurs HTML
Kurs HTML drugi
Kurs JavaScript
Kurs MySQL
Kurs PHP
Kurs RSS
Kurs XHTML
Obiekty DOM
MANUALE
CSS1 - W3C
DOM - w budowie
PHP 2005
PHP 2006
Wyrażenia regularne
SHOUTBOX
STAT
Online: 12 | UU: 449

Strict Standards: Resource ID#250 used as offset, casting to integer (250) in /forum2/db/mysql4.php on line 223

Strict Standards: Resource ID#250 used as offset, casting to integer (250) in /forum2/db/mysql4.php on line 224
[PHP-MYSQL] Operacje na formularzach z wykorzystaniem bazy MySQL
Porady PHP, Porady MySQL | 5 maj 2008 | Wizyt: 118430

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Deprecated: Function eregi() is deprecated in /blog/wp-content/plugins/tpbc.php on line 96

Obecnie niemal wszystkie wartościowe strony posiadają rozbudowane mechanizmy zarządzania treścią oparte na zapisywaniu informacji z formularzy w bazach danych. W poradzie przedstawiony został przykład wykorzystywania bazy danych mysql oraz kodu php do zapisywania i odczytywania danych pobranych z formularza.

Skrypt składa się z kilku elementów:

  • zainicjowanie kilku zmiennych
  • połączenie z bazą
  • umieszczenie w bazie nowego wiersza
  • pobranie danych z bazy
  • wyświetlenie danych na stronie
  • wykorzystanie formularzy
Kod: mysql

CREATE TABLE `tabela_testowa` (
`nazwa_kolumny` VARCHAR( 20 ) NOT NULL
)

W powyższym przykładzie stworzona została nowa tabela o nazwie "tabela_testowa" z kolumną o nazwie "nazwa_kolumny" typu VARCHAR, długości 20 znaków…

Poniżej zawartość przykładowego pliku index.php do zbierania, umieszczania i wyświetlania informacji.

Kod: php

<?php

// informacje na temat bazy
  $host = ‘localhost’// nazwa lub numer IP hosta
  $user = ‘username’// nazwa użytkownika
  $password = ‘password’; // hasło do bazy
  $dbName = ‘databasename’// nazwa bazy danych
// te dane zależne są od Twojej bazy i muszą zostać podane
// przykładowo może to wyglądać w następujący sposób
  $host = ‘0.0.0.0′
  $user = ‘janek’;
  $password = ‘jakies_haslo’;
  $dbName = ‘moja_baza’;
 
// połączenie i wybór bazy danych
  $polacz = mysql_connect($host, $user, $password) or die(mysql_error());
  $db = mysql_select_db($dbName, $polacz) or die(mysql_error());
?>

Polecienie mysql_connect() z argumentami zapisanymi w zmiennych $host, $user, $password. Przypisujemy do zmiennej $polacz. W przypadku braku połączenia wyświetlony zostanie błąd. Do zmiennej $db przypisujemy funkcję mysql_select_db(), która wybiera naszą bazę i wykonuje połączenie zapisane w zmiennej $połacz. Gdy połączenie jest nieudane polecenie  die(mysql_error()) wyrzuca błąd.

Kod: php

<?php

// wprowadzanie nowego wpisu po wciśnięciu przycisku submit
   if (isset($_POST[‘jakies_pole’]) && trim($_POST[‘jakies_pole’]) != ) {
      $jakies_pole = $_POST[‘jakies_pole’];
// wstawianie wartości pobranej metodą POST do tabeli w naszej bazie
      $sql = "INSERT into tabela_testowa (nazwa_kolumny) VALUES (’$jakies_pole’)";
      $rezultat = mysql_query($sql, $polacz) or die(mysql_error());
    } // koniec pobierania wartości pola o nazwie "jakies_pole"
?>

Ten kawałek sprawdza czy pobrana została metodą "POST" wartość pola o nazwie "jakies_pole" i czy wartość ta po zastosowaniu filtru "trim" jest różna od niczego. Jeżeli oba powyższe warunki są spełnione do zmiennej $jakies_pole przypisujemy wartość pola o nazwie "jakies_pole". Nie do końca rozumiesz co znaczy wartość pola o nazwie "jakies_pole" - taka wartość kryje się w formularzu w polu <input name="jakies_pole" />. Formularz jednak przeanalizujemy w dalszej części kodu.  Do zmiennej $sql przypisujemy treść polecenia mysql. Po naszemu brzmi to tak: umieść w tabeli "tabela_testowa" w kolumnie "nazwa_kolumny" wartości: wartość odebrana od zmiennej $jakies_pole. Natępnie do zmiennej $rezultat przypisywana jest wartość zapytania mysql_query(). Funkcja mysql_query() jako argumenty pobiera zmienną $sql i $polacz. Jęsli połączenie się nie uda następuje błąd.

Kod: php

<?php
// pobierabie wartości z tabeli "tabela_testowa"
   $sql = "SELECT nazwa_kolumny FROM tabela_testowa";
   $rezultat = mysql_query($sql, $polacz) or die(mysql_error());
   
// wyświetlanie rezultatu na ekranie
   while ($lista = mysql_fetch_array($rezultat)) {
      echo $lista[‘nazwa_kolumny’]. "<br />";
   } // koniec while
?>

Najpierw do zmiennej $sql przypisywane jest zapytanie mysql: wybierz wartości z kolumny "nazwa_kolumny" z tabeli "tabela_testowa". Następnie do zmiennej $rezultat przypisywana jest wartość zapytania mysql_query(). Funkcja mysql_query() jako argumenty pobiera zmienną $sql i $polacz lub wyrzuca błąd w przypadku nieudanego połączenia. Następnie pętla while "mówi" - dopóki zmienna tablicowa $lista będzie wypełniana wartościami z kolumny "nazwa_kolumny" wyświetlaj na ekranie poszczególne wartości tej kolumny.

Kod: php

<?php     
// wyświetlenie formularza do wprowadzania danych
  echo <<<FORMULARZ
<br /> Dodaj wpis: <br />
<form action = "index.php" method = "post">
   <input type = "text" name = "jakies_pole" maxlength="20" size = "10">
   <input type = "submit" value = "Dodaj wpis">
</form>
FORMULARZ;
?>

To formularz z polem o nazwie "jakies_pole" i przyciskiem submit którego kliknięcie powoduje przeładowanie pliku index.php i wykonanie wszystkich instrukcji zapisanych w tym pliku. Mimo, że formularz znajduje się na końcu kodu, to właśnie od niego zaczyna się cała akcja. Po wciśnięciu przycisku submit następuje przeładowanie pliku index.php. Pole o nazwie "jakies_pole" przechowuje wówczas wartość, która równa jest temu co w to pole wpisaliśmy przed wysłaniem formularza. Żeby odebrać tę wartość przeładowany plik index.php pobiera metodą POST wartość pola "jakies_pole". Przypisuje tę wartość do zmiennej. Wartość zmiennej umieszcza poleceniem INSERT INTO w bazie. Następnie zapytanie SELECT pobiera tą wartość do zmiennej. Mając tę zmienną poleciem echo możemy ją wyświetlić.

W powyższym przykładzie w jednym pliku umieszczony został cały cykl od wpisania wartości w formularz do wyświetlenia ich z powrotem na ekranie. W praktyce polecenia rozdzielane są na wiele plików. W jednych zbieramy informacje z formularzy (np. formularze zamówień) i umieszczamy je w bazie. W innych wykorzystując te dane prezentujemy je w postaci np. tabeli zamówień. 

Zrozumienie i opanowanie sztuki wykorzystywania baz danych i formularzy daje bardzo wiele możliwości. Większość, jeżeli nie wszystkie nowoczesne strony internetowe opieają się na takich mechanizmach.

Poniżej zamieszczam cały kod do wykorzystania na stronie.

Kod: mysql

   
CREATE TABLE `tabela_testowa` (
`nazwa_kolumny` VARCHAR( 20 ) NOT NULL
)

Kod: php

 
<?php

// informacje na temat bazy
  $host = ‘localhost’;
  $user = ‘username’;
  $password = ‘password’;
  $dbName = ‘databasename’;

// polaczenie i wybór bazy danych
  $polacz = mysql_connect($host, $user, $password) or die(mysql_error());
  $db = mysql_select_db($dbName, $polacz) or die(mysql_error());

// wprowadzanie do bazy nowego wpisu po wciśnięciu przycisku submit
   if (isset($_POST[‘jakies_pole’]) && trim($_POST[‘jakies_pole’]) != ) {
      $jakies_pole = $_POST[‘jakies_pole’];
      $sql = "INSERT into tabela_testowa (nazwa_kolumny) VALUES (’$jakies_pole’)";
      $rezultat = mysql_query($sql, $polacz) or die(mysql_error());
    }

// pobierabie wartości z tabeli "tabela_testowa"
   $sql = "SELECT nazwa_kolumny FROM tabela_testowa";
   $rezultat = mysql_query($sql, $polacz) or die(mysql_error());
   while ($lista = mysql_fetch_array($rezultat)) {
      echo $lista[‘nazwa_kolumny’]. "<br />";
   }
 

// formularz 
echo <<<FORMULARZ
<br /> Dodaj wpis: <br />
<form action = "index.php" method = "post">
   <input type = "text" name = "jakies_pole" maxlength="20" size = "10">
   <input type = "submit" value = "Dodaj wpis">
</form>
FORMULARZ;
?>

Autor: Adam Suchowski

nowe Porady MySQL » zobacz wszystkie
nowe Porady PHP » zobacz wszystkie

WordPress database error: [Incorrect file format 'wp_comments']
SELECT * FROM wp_comments WHERE comment_post_ID = '881' AND comment_approved = '1' ORDER BY comment_date desc

Dodaj komentarz









 
| | | |
Copyright © 2006-2013 egrafik.pl | Kontakt | Reklama | Projekty domów
jocker