Crearea unui tabel sql folosind o interogare php. Valori NULL și NOT NULL

01.07.2020 Video

Lecția va acoperi un exemplu de creare a unei baze de date mySQL și a tabelelor acesteia pe o mașină locală; Instalare DENWER

Pachetul denwer poate fi găsit și descărcat de pe site-ul oficial.

Pentru a lucra cu bazele de date mySql, există un instrument popular cu o interfață web convenabilă - phpMyAdmin.

După instalarea cu succes a pachetului Denwer, urmați acești pași pentru a lansa instrumentul phpMyAdmin:

  • Porniți comanda rapidă Denwer
  • în bara de adrese a browserului: http://localhost/tools/phpmyadmin/
  • * în cazul schimbării portului utilizat, pentru a evita conflictele la instalarea denwer, adresa instrumentului poate fi diferită, de exemplu:
    http://localhost:8080/tools/phpmyadmin

    Crearea unei baze de date mySQL local (institut)

    Să creăm o bază de date cu numele institut:

    Crearea tabelelor în phpMyAdmin

    Acum, în baza de date finalizată, puteți crea tabele cu câmpuri:

    Tipuri de date în mySQL

    Tipurile de date pentru MySQL pot fi împărțite în trei categorii: date numerice, date și oră și date șir.
    Astfel, câmpurile de tabel pot avea următoarele tipuri de date:

    Tip de date Utilizare Intervalele
    TINYINT Număr întreg foarte mic Intervalul unui număr cu semn este de la –128 la 127. Intervalul unui număr fără semn este de la 0 la 255.
    SMALLINT Număr întreg mic Intervalul unui număr cu semn este de la –32768 la 32767. Intervalul unui număr nesemnat este de la 0 la 65535.
    MEDIUMINT Număr întreg mediu Intervalul unui număr cu semn este de la –8388608 la 8388607. Intervalul unui număr nesemnat este de la 0 la 16777215.
    INT sau INTEGER Întreg Intervalul unui număr cu semn este de la –2147483648 la 2147483647. Intervalul unui număr nesemnat este de la 0 la 4294967295.
    BIGINT Număr întreg mare Intervalul unui număr cu semn este de la –9223372036854775808 la 9223372036854775807. Intervalul unui număr nesemnat este de la 0 la 18446744073709551615.
    FLOTĂ Un număr mic (cu o singură precizie) în virgulă mobilă. Nu poate fi un număr nesemnat Variază de la –3,402823466E+38 la –1,175494351E-38, 0 și 1,175494351E-38 la 3,402823466E+38. Dacă numărul de zecimale nu este setat sau<= 24 это число с плавающей запятой одинарной точности.
    DUBLA
    DUBLA PRECIZIE
    REAL
    Un număr normal (dublă precizie) în virgulă mobilă. Nu poate fi un număr nesemnat Variază de la -1,7976931348623157E+308 la -2,2250738585072014E-308, 0 și 2,2250738585072014E-308 până la 1,797693134862315. Dacă nu este specificat numărul de zecimale sau 25<= количество знаков <= 53 означает числоа с плавающей запятой двойной точности.
    ZECIMAL
    NUMERIC
    Număr despachetat în virgulă mobilă Funcționează similar cu tipul de date CHAR: „unpacked” înseamnă că numărul este stocat ca șir, folosind un caracter pentru fiecare valoare de cifră. Caracterul punct zecimal și caracterul număr negativ „-” nu sunt luate în considerare pentru lungime. Dacă valoarea zecimală este 0, valoarea nu va avea nicio virgulă zecimală sau parte fracțională. Dimensiunea maximă pentru DECIMAL este aceeași ca și pentru DOUBLE, dar intervalul real pentru o anumită coloană DECIMAL poate fi limitat în alegerea lungimii și a zecimalei.
    DATA Data Data variază de la „1000-01-01” la „9999-12-31”. MySQL stochează un câmp DATE ca „AAAA-LL-ZZ” (AAAA-LL-ZZ).
    DATETIME Data și ora Intervalele valide sunt de la „1000-01-01 00:00:00” la „9999-12-31 23:59:59”. MySQL stochează un câmp DATETIME ca „AAAA-LL-ZZ HH:MM:SS” (AAAA-LL-ZZ HH-MM-SS).
    TIMESTAMP Data și ora Interval de la „1970-01-01 00:00:00” până la aproximativ 2037. MySQL poate stoca un câmp de tip TIMESTAMP în formele „AAAAMMDDHHMMSS” (TIMESTAMP(14)), „YYMMDDHHMMSS” (TIMESTAMP(12)), „AAAAMMDD” (TIMESTAMP(8)), etc.
    TIMP Timp Interval de la „-838:59:59” la „838:59:59”. MySQL stochează câmpul TIME ca „HH:MM:SS”, dar permite ca valorile să fie atribuite coloanelor TIME folosind fie un șir, fie un număr.
    AN Anul din 2 sau 4 cifre (4 cifre în mod implicit) Dacă utilizați 4 cifre, atunci valorile valide sunt 1901-2155 și 0000. Dacă sunt 2 cifre, atunci 1970-2069 (70-69). MySQL stochează valorile câmpului YEAR în format „AAAA”.
    CHAR Un șir de lungime fixă ​​care este căptușit în partea dreaptă cu spații până la lungimea specificată atunci când este stocat Interval de lungime de la 1 la 255 de caractere. Spațiile finale sunt eliminate când valoarea este preluată. Valorile CHAR sunt sortate și comparate fără a ține seama de majuscule pe baza codificării implicite, cu excepția cazului în care este setat indicatorul BINARY.
    VARCHAR Șir de lungime variabilă. Notă: spațiile finale sunt eliminate la salvare (spre deosebire de specificația ANSI SQL). Interval de lungime de la 1 la 255 de caractere. Valorile VARCHAR sunt sortate și comparate fără a ține seama de majuscule și minuscule, cu excepția cazului în care este setat indicatorul BINARY.
    TINYBLOB
    TINYTEXT
    BLOB sau TEXT cu o lungime maximă de 255 (2^8 - 1) caractere.
    BLOB
    TEXT
    BLOB sau TEXT cu o lungime maximă de 65535 (2^16 - 1) caractere.
    MEDIUMBLOB
    TEXT MEDIU
    BLOB sau TEXT cu o lungime maximă de 16777215 (2^24 - 1) caractere.
    LONGBLOB
    TEXT LUNG
    BLOB sau TEXT cu o lungime maximă de 4294967295 (2^32 - 1) caractere.
    ENUM Transfer Un obiect șir care poate lua o singură valoare este selectat din lista de valori „valoarea 1”, „valoarea 2” sau NULL. ENUM poate avea maximum 65535 de valori diferite.
    SET Kit Un obiect șir care poate lua zero sau mai multe valori, fiecare dintre acestea trebuie selectată din lista de valori „valoare 1”, „valoare 2”, ... Câmpul SET poate avea maximum 64 de valori posibile.

    sarcina mysql 1. Pe computer, creați o bază de date numită Institute și tabele:
    — lecții cu domenii:

    • tid – pentru comunicarea cu profesorii (int)
    • curs - varchar
    • data - tipul datei

    — cursuri cu domenii:

    • id – câmp unic, cheie (A_I – contor)
    • tid – pentru comunicarea cu profesorii
    • titlu - varchar
    • lungime (durata in ore)

    — profesori cu domenii:



    Important:
    * Atributul AUTO_INCREMENT folosit pentru a genera un identificator unic pentru rândurile noi

    * Cheie primară folosit pentru a identifica în mod unic înregistrările de tabel (câmpuri). Nu există două înregistrări de tabel care pot avea aceleași valori ale cheii primare. În bazele de date relaționale (tabulare), diferite tabele sunt aproape întotdeauna legate logic între ele. Cheile primare sunt folosite pentru a organiza în mod unic o relație dată.

    sarcina mysql 2. Completați tabelele cu date așa cum se arată în imaginile de mai jos pentru tabelul profesorilor. În mod similar, completați înregistrările din tabelele de cursuri și lecții

    Deschide baza de date. Pentru a crea un tabel, trebuie să aveți o bază de date care îl va conține. Puteți deschide baza de date tastând USE database la linia de comandă MySQL.

    • Dacă nu vă amintiți numele bazei de date, tastați SHOW DATABASES; pentru a lista bazele de date de pe serverul MySQL.
    • Dacă nu aveți încă o bază de date, puteți crea una tastând CREATE DATABASE database ; . Numele bazei de date nu poate conține spații.

    Aflați tipurile de date de bază. Fiecare înregistrare dintr-un tabel este stocată ca un anumit tip de date. Acest lucru permite MySQL să interacționeze cu ei în diferite moduri. Tipurile de date pe care le veți utiliza depind de scopul tabelului dvs. Există multe tipuri, altele decât următoarele, dar le puteți folosi pentru a crea un tabel de bază, utilizabil:

    Creați un tabel. Pentru a crea un tabel din linia de comandă, trebuie să creați toate câmpurile folosind o singură comandă. Creați tabele folosind comanda CREATE TABLE, urmată de informații despre tabel. Pentru a crea o înregistrare de bază a angajatului, trebuie să introduceți următoarea comandă:

    CREATE TABLE angajați (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT , nume VARCHAR (20 ), prenume VARCHAR (20 ), telefon VARCHAR (20 ), data nașterii DATA )

    • INT NOT NULL PRIMARY KEY AUTO_INCREMENT creează un ID numeric pentru fiecare angajat care este adăugat la înregistrare. Acest număr crește automat de fiecare dată. Acest lucru facilitează trimiterea angajaților prin alte funcții.
    • Deși VARCHAR permite micșorarea dimensiunii în funcție de datele introduse, puteți seta un maxim pentru a împiedica utilizatorul să introducă șiruri prea lungi. În exemplul de mai sus, numele și prenumele sunt limitate la 20 de caractere.
    • Rețineți că înregistrarea numărului de telefon este stocată ca VARCHAR, astfel încât și caracterele sunt procesate corect.
  • Verificați dacă tabelul dvs. a fost creat corect. Odată ce ați creat tabelul, veți primi un mesaj că acesta a fost creat cu succes. Acum puteți folosi comanda DESCRIBE pentru a vă asigura că ați inclus toate câmpurile dorite și că au tipurile de date corecte. Introduceți baza de date DESCRIBE; și uită-te la graficul care apare pentru a verifica structura tabelului tău.

    Creați un tabel folosind PHP. Dacă utilizați PHP pentru a vă administra baza de date MySQL prin intermediul unui server web, puteți crea un tabel folosind un fișier PHP simplu. Se presupune că baza de date există deja pe serverul MySQL. Pentru a crea același tabel ca în Pasul 3, introduceți următorul cod, înlocuind informațiile de conexiune cu ceea ce este relevant pentru dvs.:

    "Nu s-a putut conecta la MySQL: ". mysqli_connect_error();) $sql = "CREATE ANgajați TABLE ( id INT NOT NULL CHEIE PRIMARĂ AUTO_INCREMENT, nume VARCHAR(20), prenume VARCHAR(20), telefon VARCHAR(20), data nașterii DATA )" ; if (mysqli_query ($connection , $sql )) ( ecou

    „Angajați de masă creați cu succes”

    ;

    ) else ( echo "Eroare la crearea tabelului: " . mysqli_error ($connection); ) ?>

    Pași pentru crearea bazei de date Mysql

    Creați o bază de date în două moduri

    1) Prin executarea unei interogări SQL simplă

    2) Prin utilizarea ingineriei avansate în MySQL Workbench

    CREATE DATABASE este comanda SQL pentru crearea unei baze de date.

    Imaginați-vă că trebuie să creați o bază de date cu numele „filme”. Puteți face acest lucru executând următoarea comandă SQL.

    CREAȚI BAZĂ DE DATE filme;

    Notă: puteți folosi și comanda CREATE SCHEMA în loc de CREATE DATABASE

    Acum să îmbunătățim interogarea noastră SQL adăugând mai mulți parametri și specificații.

    DACĂ NU EXISTĂ

    Un singur server MySQL ar putea avea mai multe baze de date. Dacă nu sunteți singurul care accesează același server MySQL sau dacă aveți de-a face cu mai multe baze de date, există probabilitatea de a încerca să creați o nouă bază de date cu numele unei baze de date existente. DACĂ NU EXISTĂ vă permit să instruiți serverul MySQL să verifice existența unei baze de date cu un nume similar înainte de a crea baza de date.

    Când DACĂ NU EXISTĂ este folosită baza de date este creată numai dacă numele dat nu intră în conflict cu numele unei baze de date existente. Fără a utiliza DACĂ NU EXISTĂ MySQL aruncă o eroare.

    CREAȚI BAZĂ DE DATE DACA NU EXISTĂ filme;

    Colaţionare şi set de caractere

    Colaţionare este set de reguli folosit in comparatie. Mulți oameni folosesc MySQL pentru a stoca alte date decât limba engleză. Datele sunt stocate în MySQL folosind un set de caractere specific. Setul de caractere poate fi definit la diferite niveluri, adică server, bază de date, tabel și coloane.

    Trebuie să selectați regulile de colare care, la rândul lor, depind de setul de caractere ales.

    De exemplu, setul de caractere Latin1 folosește colarea latin1_swedish_ci, care este ordinea suedeză care nu ține seama de majuscule și minuscule.

    CREAȚI BAZĂ DE DATE DACĂ NU EXISTĂ filme SET DE CARACTERE latin1 COLLATE latin1_swedish_ci

    Cea mai bună practică atunci când utilizați limbi locale, cum ar fi arabă, chineză etc., este să selectați setul de caractere Unicode (utf-8) care are mai multe colaționări sau pur și simplu să rămâneți la colarea implicită utf8-general-ci.

    Puteți găsi lista tuturor colatărilor și seturi de caractere aici

    Puteți vedea lista bazelor de date existente rulând următoarea comandă SQL.

    AFIȚI BAZELE DE DATE

    Crearea tabelelor MySQL

    Tabelele pot fi create folosind CREAȚI TABEL declarație și are de fapt următoarea sintaxă.

    CREATE TABLE `TableName` (`fieldname` dataType ) ENGINE = motor de stocare;

    • „CREATE TABLE” este cel responsabil de crearea tabelului în baza de date.
    • „” este opțional și creează tabelul numai dacă nu se găsește un nume de tabel care să corespundă.
    • „`fieldName`” este numele câmpului, iar „data Type” definește natura datelor care vor fi stocate în câmp.
    • „” informații suplimentare despre un câmp, cum ar fi „AUTO_INCREMENT” , NOT NULL etc

      Exemplu de creare a unui tabel: -

      CREATE TABLE IF NU EXIST `MyFlixDB`.`Members` (`membership_number` INT AUTOINCREMENT , `full_names` VARCHAR(150) NOT NULL , `genre` VARCHAR(6) , `data_of_birth` DATE , `physical_char_address`, (25`adresa) `postal_address` VARCHAR(255) , `contact_number` VARCHAR(75) , `email` VARCHAR(255) , PRIMARY KEY (`membership_number`)) MOTOR = InnoDB;

    Acum să vedem care sunt tipurile de date ale MySQL. Puteți folosi oricare dintre ele în funcție de nevoile dvs. Ar trebui să încercați întotdeauna să nu subestimați sau supraestimați intervalul potențial de date atunci când creați o bază de date.

    TIPURI DE DATE

    Tipurile de date definesc natura datelor care pot fi stocate într-o anumită coloană a unui tabel

    MySQL are 3 principalele categorii de tipuri de date și anume

    1. Numeric,
    2. Data/ora.

    Tipuri de date numerice

    Tipurile de date numerice sunt folosite pentru a stoca valori numerice. Este foarte important să vă asigurați că intervalul de date este între limitele inferioare și superioare ale tipurilor de date numerice.

    TINYINT() -128 până la 127 normal
    0 până la 255 NESEMNAT.
    SMALLINT() -32768 până la 32767 normal
    0 la 65535 NESEMNAT.
    MEDIUMINT() -8388608 până la 8388607 normal
    0 la 16777215 NESEMNAT.
    INT() -2147483648 până la 2147483647 normal
    0 la 4294967295 NESEMNAT.
    BIGINT() -9223372036854775808 până la 9223372036854775807 normal
    0 la 18446744073709551615 NESEMNAT.
    FLOTĂ Un mic număr aproximativ cu virgulă zecimală flotantă.
    DUBLA(,) Un număr mare cu virgulă zecimală flotantă.
    ZECIMAL(,) O DUBLĂ stocată ca șir , permițând un punct zecimal fix. Alegerea valorilor de stocare a monedei.

    Tipuri de date text

    După cum sugerează numele categoriei tipului de date, acestea sunt folosite pentru a stoca valori de text. Asigurați-vă întotdeauna că lungimea datelor textuale nu depășește lungimile maxime.

    CHAR() O secțiune fixă ​​de la 0 la 255 de caractere.
    VARCHAR() O secțiune variabilă de la 0 la 255 de caractere.
    TINYTEXT Un șir cu o lungime maximă de 255 de caractere.
    TEXT
    BLOB Un șir cu o lungime maximă de 65535 de caractere.
    TEXT MEDIU
    MEDIUMBLOB Un șir cu o lungime maximă de 16777215 caractere.
    TEXT LUNG
    LONGBLOB Un șir cu o lungime maximă de 4294967295 de caractere.

    Data/Ora

    DATA AAAA-LL-ZZ
    DATETIME AAAA-LL-ZZ HH:LL:SS
    TIMESTAMP AAAAMMDDDHHMMSS
    TIMP HH:MM:SS

    În afară de mai sus, există și alte tipuri de date în MySQL.

    ENUM Pentru a stoca valoarea de text aleasă dintr-o listă de valori de text predefinite
    SET Acesta este, de asemenea, folosit pentru stocarea valorilor de text alese dintr-o listă de valori de text predefinite. Poate avea mai multe valori.
    BOOL Sinonim pentru TINYINT(1), folosit pentru a stoca valori booleene
    BINAR Similar cu CHAR, diferența este că textele sunt stocate în format binar.
    VARBINAR Similar cu VARCHAR, diferența este că textele sunt stocate în format binar.

    Acum să vedem un exemplu de interogare SQL pentru crearea unui tabel care conține date de toate tipurile de date. Studiați-l și identificați cum este definit fiecare tip de date.

    CREATE TABLE`all_data_types` (`varchar` VARCHAR(20) , `tinyint` TINYINT , `text` TEXT , `date` DATE , `smallint` SMALLINT , `mediumint` MEDIUMINT , `int` INT , `bigint` BIGINT , float` FLOAT(10, 2) , `double` DOUBLE , `zecimal` DECIMAL(10, 2) , `datetime` DATETIME , `timestamp` TIMESTAMP , `time` TIME , `year` YEAR , `char` CHAR(10 ) , `tinyblob` TINYBLOB , `tinytext` TINYTEXT , `blob` BLOB , `mediumblob` MEDIUMBLOB , `mediumtext` MEDIUMTEXT , `longblob` LONGBLOB , `longtext` LONGTEXT , `enum` ENUM("1", "2", "3") , `set` SET("1", "2", "3") , `bool` BOOL , `binary` BINARY(20) , `varbinary` VARBINARY(20)) ENGINE= MYISAM ;

    • Utilizați litere mari pentru cuvintele cheie SQL, de ex. „DROP SCHEMA DACA EXISTĂ `MyFlixDB`;”
    • Încheiați toate comenzile SQL folosind punct și virgulă.
    • Evitați utilizarea spațiilor în nume de schemă, tabel și câmpuri. Folosiți în schimb litere de subliniere pentru a separa numele schemelor, tabelelor sau câmpurilor.

    MySQL workbench ER diagramă înainte de inginerie

    MySQL workbench are utilitare care acceptă inginerie avansată. Inginerie avansată este un termen tehnic este de a descrie procesul de transpunerea automată a unui model logic într-un instrument fizic.

    Am creat o diagramă ER pe tutorialul nostru de modelare ER. Acum vom folosi acel model ER pentru a genera scripturile SQL care vor crea baza noastră de date.

    Crearea bazei de date MyFlix din modelul MyFlix ER

    1. Deschideți modelul ER al bazei de date MyFlix pe care l-ați creat în tutorialul anterior.

    2. Faceți clic pe meniul bazei de date. Selectați inginer de avans

    3. Următoarea fereastră vă permite să vă conectați la o instanță a serverului MySQL. Faceți clic pe lista derulantă a conexiunii stocate și selectați gazda locală. Faceți clic pe Executare

    4. Selectați opțiunile afișate mai jos în expertul care apare. Faceți clic pe următorul

    5. Următorul ecran arată rezumatul obiectelor din diagrama noastră EER. MyFlix DB are 5 tabele. Păstrați selecțiile implicite și faceți clic pe Următorul.

    6.. Apare fereastra de mai jos. Această fereastră vă permite să previzualizați scriptul SQL pentru a crea baza noastră de date. Putem salva scripturile într-un fișier *.sql" sau putem copia scripturile în clipboard. Faceți clic pe butonul următor

    7. Fereastra de mai jos apare după crearea cu succes a bazei de date pe instanța serverului MySQL selectată.


    Rezumat

    • Crearea unei baze de date implică traducerea modelului de proiectare a bazei de date logice în baza de date fizică.
    • MySQL acceptă o serie de tipuri de date pentru valori numerice, date și șiruri.
    • Comanda CREATE DATABASE este folosită pentru a crea o bază de date
    • Comanda CREATE TABLE este folosită pentru a crea tabele într-o bază de date
    • MySQL workbench acceptă inginerie avansată care implică generarea automată de scripturi SQL din modelul bazei de date logice care pot fi executate pentru a crea baza de date fizică

    Baza de date împreună cu datele simulate este atașată. Vom folosi această bază de date pentru toate tutorialele noastre ulterioare. Importați simplu DB în MySQL Workbench pentru a începe

    Iată sintaxa SQL generică pentru crearea tabelelor MySQL:

    CREATE TABLE nume_tabel(nume_coloană tip_coloană);

    Acum, vom crea următorul tabel în tutorialele bazei de date.

    Tutorials_tbl(tutorial_id INT NOT NULL AUTO_INCREMENT, tutorial_title VARCHAR(100) NOT NULL, tutorial_author VARCHAR(40) NOT NULL, submission_date DATA, PRIMARY KEY (tutorial_id));

    Iată câteva puncte care necesită clarificări:

    • Câmpul de atribut nu este NULL, folosit pentru că nu vrem să fie nul. Prin urmare, dacă utilizatorul încearcă să creeze o înregistrare cu o valoare NULL, MySQL va genera o eroare.
    • Câmpul de atribut auto_increment din MySQL nu spune să mergeți mai departe și să adăugați următorul număr disponibil la câmpul ID.
    • Cuvântul cheie cheie primară este folosit pentru a desemna o coloană ca cheie primară. Puteți utiliza mai multe coloane separate prin virgule pentru a defini o cheie primară.

    Crearea tabelelor din linia de comandă:

    Este ușor să creezi un tabel MySQL din MySQL>prompt. Veți folosi comenzile SQL create table pentru a crea tabelul.

    Exemplu:

    Iată un exemplu pe care tutorials_tbl îl creează:

    Root@host# mysql -u root -p Introduceți parola:******* mysql> use TUTORIALS; Baza de date schimbată mysql> CREATE TABLE tutorials_tbl(-> tutorial_id INT NOT NULL AUTO_INCREMENT, -> tutorial_title VARCHAR(100) NOT NULL, -> tutorial_author VARCHAR(40) NOT NULL, -> submission_date DATE, -> PRIMARY KEY (tutorial_id) -> ); Interogare OK, 0 rânduri afectate (0,16 sec) mysql>

    Crearea tabelelor folosind un script PHP:

    Pentru a crea un tabel nou în orice bază de date existentă trebuie să utilizați funcțiile PHP mysql_query(). Veți transmite al doilea argument la comanda SQL corectă pentru a crea tabelul.

    Exemplu:

    Iată un exemplu de creare a unui tabel folosind un script PHP:

    Crearea tabelelor MySQL "; $sql = "CREATE TABLE tutorials_tbl(". "tutorial_id INT NOT NULL AUTO_INCREMENT, "." "tutorial_title VARCHAR(100) NOT NULL, "." "tutorial_author VARCHAR(40) NOT NULL, "." submission_date DATA, "." CHEIA PRIMARĂ (tutorial_id)); "; mysql_select_db("TUTORIALE"); $retval = mysql_query($sql, $conn); if(! $retval) ( die("Nu s-a putut crea tabelul: " . mysql_error()); ) echo "Tabelul a fost creat cu succesn" ; mysql_close($conn);

    Mai multe exemple:

    CREATE TABLE IF NU EXIST `users` (`id` int(11) NOT NULL auto_increment, `role_id` int(11) NOT NULL implicit „1”, `username` varchar(25) collate utf8_bin NOT NULL, `parola` varchar (34) colate utf8_bin NOT NULL, `email` varchar(100) collate utf8_bin NOT NULL, `banned` tinyint(1) NOT NULL implicit „0”, `ban_reason` varchar(255) collate utf8_bin default NULL, `newpass` varchar (34) colate utf8_bin default NULL, `newpass_key` varchar(32) collate utf8_bin default NULL, `newpass_time` datetime default NULL, `last_ip` varchar(40) collate utf8_bin NOT NULL, `last_login` datetime NU NULL implicit "000 -00 00:00:00", `created` datetime NOT NULL implicit "0000-00-00 00:00:00", `modified` timestamp NOT NULL implicit CURRENT_TIMESTAMP la actualizare CURRENT_TIMESTAMP, CHEIE PRIMARĂ (`id`)) MOTOR =InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=3 ; //Cu două chei: CREATE TABLE IF NOT EXISTS `ci_sessions` (session_id varchar(40) DEFAULT "0" NOT NULL, ip_address varchar(16) DEFAULT "0" NOT NULL, user_agent varchar(120) NOT NULL, last_activity int( 10) nesemnat DEFAULT 0 NOT NULL, text_date_utilizator NU NULL, CHEIE PRIMARĂ (session_id), KEY `last_activity_idx` (`last_activity`));

    Sub forma unui tabel. De exemplu, toate articolele din lista de prețuri din magazin, prețurile, numele produsului și așa mai departe. Da, și multe lucruri. Pentru că acest lucru este necesar aproape în fiecare zi. Acum nu vom vorbi despre faptul că, pentru profesioniști, acesta este deja un subiect vechi și dezgustător. Acest articol este doar pentru programatori web începători.

    Deci cum? face o masă pe pagina site-ului folosind php?

    Tabelul este de obicei afișat folosind binecunoscuta funcție while sau for. Profesioniștii folosesc scripturi sau funcții gata făcute în care pur și simplu schimbă mai multe variabile și fișiere responsabile de proiectare. Pentru începători, voi spune că, pentru a înțelege cum funcționează totul, ne vom uita la un mic script chiar mai jos. Și acum o mică teorie despre cum funcționează totul.

    Atributul DESC ORDER by `id` înseamnă că sortăm toți utilizatorii în ordinea descrescătoare a ID-ului utilizatorului. Adică, valoarea maximă a ID-ului va fi în partea de sus. Și dacă la sfârșit specificați asc în loc de atributul desc. Apoi sortarea după id va fi în sens invers, adică în ordine crescătoare și în partea de sus va fi cea mai mică valoare după id.

    Solicitarea primită este procesată de funcția mysql_fetch_array. Este destul de universal deoarece returnează o matrice asociativă cu doi indici cu indici numerici și indici după valori de tabel.
    În loc de această funcție, mulți oameni folosesc interogarea mysql_fetch_assoc, care returnează o matrice cu doar indici pentru valoarea tabelelor din baza de date.

    Apoi, punem totul într-o singură matrice $mass și afișăm valorile tabelului după index într-o buclă while. Și din moment ce afișăm toate valorile sub forma unui tabel, scriem o funcție pentru afișarea valorilor echo '(începutul liniei)(celulă, pătrat)$mass['id'](variabilă după indicele ID valoarea tabelului)(etichetă de închidere a celulei)(celula următoare, pătrat) $mass['mail'](etichetă de închidere a celulei)... (etichetă de închidere a rândului).

    După acolada de închidere, care indică închiderea buclei while, imprimăm eticheta de închidere a tabelului.

    Și iată exemplul scenariului în sine

    Exemplu de script de autorizare

    `; ecou ` `; } ?>
    IDLOG IN POSTAData inregistrarii
    `.$id.``.$login.``.$mail.``.$reg_time.`

    Și aici puteți descărca și vedea clar cum funcționează totul pe pagină. Trebuie să rețineți că calea către fișierul de configurare în versiunea dvs. poate fi diferită. Aceasta depinde direct de locul în care plasați fișierul de configurare pentru întregul site. Pentru claritate, veți găsi fișierul de configurare în arhiva zip.

    Astăzi am analizat cum funcționează un script pentru afișarea unui tabel în PHP. Voi spune imediat că acesta este doar un exemplu pentru a avea o idee despre cum funcționează totul. Nu ne-am gândit cum să proiectăm tabelul, să îl scriem sau să schimbam titlul tabelului. Cred că dacă ai studiat sau vei studia CSS în viitor, nu îți va fi greu să o faci singur.