Wir beschäftigen uns mit MySQL Join, einer visuellen Vertretung. Einfache Beispiele für Join.

Formulare sind heute Teil von nahezu jeder Webanwendung. Thea sind die Hauptmethode, um die Eingabe von Personen mit der Anwendung zu empfangen. Sie reichen in der Größe von der Ein-Feld-Opt-In-Formulare, in denen Sie nur Ihre E-Mail-Adresse, auf sehr lange Formen von Zehnern oder sogar Hunderten von Feldern eingeschaltet sind.

Um lange Formulare benutzerfreundlich zu gestalten, ist es eine gute Idee, das Formular auf mehreren Seiten zu überspannen. Dies kann es einfacher machen, die Daten in separaten Abschnitten auf der Grundlage des Geltungsbereichs zu befolgen (z. B. separate persönliche Kundeninformationen von Zahlungsdaten in einem Warenkorb Checkout-Formular).

Eine der Herausforderungen, die sich aus dem Aufteilen des Formulars auf mehreren Seiten ergeben, besteht darin, die Daten von einer Seite an einen anderen zu übergeben, wie zum Abschlusspunkt der erforderlichen Daten zur Verarbeitung bereit. Wir werden uns zwei Methoden ansehen, um dies zu tun: Sitzungsvariablen und versteckte Eingabefelder.

Was sind ohnehin Sessions?

Eine HTML-Sitzung ist eine Sammlung von Variablen, in denen der Status den Status hält, da der Benutzer die Seiten einer bestimmten Site navigiert. Es ist nur für diese Domäne verfügbar, die es erstellt hat, und wird kurz nachdem der Benutzer gelöscht, nachdem der Benutzer die Website verlassen oder seinen Browser geschlossen hat.

Die Sitzung hat also eine halbpermanente Natur, und es kann verwendet werden, um Variablen entlang verschiedener Seiten zu bestehen, auf denen der Besucher während eines Besuchs auf der Website landet.

Multi-Seiten-Formular mit Sitzungen

In unserem Beispiel erstellen wir ein drei Seitenformular, wodurch ein Mitgliedschaftsanmeldung und ein Zahlungsformular wiederholt wird. Die erste Seite bittet um den Namen und die Adresse des Kunden auf der zweiten Seite, auf der zweiten Seite ist die Wahl für den Mitgliedstyp, und auf der dritten und endgültigen Seite müssen die Zahlungdaten gefährdet werden. Der letzte Schritt speichert die Daten in MySQL.

Die erste Datei, die wir erstellen (Schritt 1 des Formulars), enthalten nur ein einfaches Formular mit zwei Feldern.

OK, also nichts mehr als 2 Eingabefelder und ein Suniton, um uns zu Schritt zu bringen. In der folgenden Seite, neben dem HTML-Formular, um Mitgliedsdaten zu sammeln, müssen wir Code benötigen, um die eingereichten Daten von Schritt 1 in der Session.

Bei Schritt 3 müssen wir erneut neue Session-Variablen erstellen, Werte von Post zuweisen und den letzten Teil des Formulars erstellen.

Wenn wir jetzt Schritt 3 des Formulars erstellt haben, ist das endgültige Verarbeitungsskript, das die Daten in die MySQL-Datenbank einfügt.

Und wir sind fertig. Bitte beachten Sie, dass wir in der letzten Abfrage Daten aus dem $ _session-Array verwenden, sowie Daten aus dem $ _Post-Array, das aus dem letzten Schritt des Formulars veröffentlicht wurde.

Obwohl es auch auf die Entwicklung von Standard-Software-Produkten für angewendet werden kann lokale Verwendung. Aber der Artikel wird nicht darüber reden.

Bei der Arbeit mit Datenbanken in jeder der Sprachen gibt es eine Aufgabe, ein Datenprobe zu erstellen, um in eine Vielzahl von Berichten, Diagrammen usw. auszuscheiden. Bei der Implementierung dieser Art von Aufgaben ist in der Regel nicht eins erforderlich, sondern mehrere Tische, sondern mehrere Tische, die sie in eine Anfrage kombinieren, wodurch das Design erheblich kompliziert wird. Gleichzeitig ist es notwendig, in Betracht zu ziehen, wie die Daten angezeigt werden sollen, wie "Ziehen" die Tabellen "hochreißen" und welches Ergebnis am stärksten für den Programmierer sein wird. Um solche Aufgaben zu lösen, wird ein der Standard-MySQL-Join-Sprachdesign verwendet.

Das Konzept des Wortes beitreten.

Datenbankentwicklungssprachen, es spielt keine Rolle, was genau diese Sprache, als Basis, die Standardwörter aus englischsprachigen Wörterbüchern (deshalb, vorausgesetzt, Sie wissen englische SpracheSie werden für Sie viel einfacher sein, mit Tischen zu arbeiten). Um die Verbindung der Tabellen in der Probe zu implementieren, wird dasselbe Wort aufgenommen - Join. Mein SQL wird in der Datenbankprogrammiersprache verwendet. Die Übersetzung dieses Dienstworts ist genau das gleiche wie in der Sprache selbst - "Union".

Die Interpretation des Designs von MySQL - Join, mit einem von ihnen, wird genau das Gleiche sein. Wenn Sie die Entwurfszuordnung entschlüsseln, nämlich das Schema der Operation, erhalten wir den folgenden Wert: Die Designs ermöglichen es Ihnen, die erforderlichen Felder aus verschiedenen Tabellen oder investierten Anfragen in einer Probe zu sammeln.

Arten von Designs zum Kombinieren

Wenn der Programmierer eine Probe aus mehreren Tabellen sammeln muss und es weiß, welche Schlüsselfelder in ihnen und welche Daten für den Bericht erforderlich sind, können Sie eines der Hauptdesignkonstrukte verwenden, um das gewünschte Ergebnis zu erzielen. Grundstrukturen (zum Kombinieren von Tischen) vier:

  1. Innerer Join.
  2. Kreuz mitmachen
  3. Linke Verbindung
  4. Rechten Mitglied.

Je nach Aufgabe wird jede der Standardstrukturen gegeben verschiedene ErgebnisseDadurch können Sie Berichte über verschiedene Parameter in kurzer Zeit erhalten.

Erstellen und Füllen von Tabellen zur weiteren Verwendung

Bevor Sie beginnen, sollten Sie beispielsweise die Mechanismen für die Arbeit mit Daten kombinieren, die Designs mit Daten kombinieren, ist es wert, mehrere Tische vorzubereiten, mit denen wir weiterarbeiten werden. Dies wird dazu beitragen, alle Prinzipien der Betreiber aufmerksam zu zeigen, dadurch, dass Neuankömmlinge für alle Grundlagen der Tabellenprogrammierung einfacher sind.

Die erste Tabelle beschreibt einige Artikel, die eine Person während seines gesamten Lebens ständig gefunden wird.

In der zweiten Tabelle beschreiben wir einige Eigenschaften von Objekten von der ersten Tabelle, damit Sie mit ihnen weiter arbeiten können.

Im Allgemeinen reichen die beiden Tische aus, um ihre Arbeit am Beispiel zu zeigen. Jetzt können Sie mit der praktischen Berücksichtigung unserer Designs fortfahren.

Mit innerem Join verwenden.

Wenn Sie das MySQL-Design verwenden, sollten Sie mit dem MySQL-Design einige seiner Funktionen berücksichtigen. Mit diesem Entwurf können Sie sowohl aus beiden Tabellen nur die Datensätze auswählen, die sich in der ersten und in der zweiten Tabelle befinden. Wie es funktioniert? In der ersten Tabelle haben wir die Haupt-Key-ID, die die Reihenfolge der Datensätze in der Tabelle angibt.

Beim Erstellen einer zweiten Tabelle wird derselbe Schlüssel als Sequenznummer verwendet, ein Beispiel kann in den Bildern angezeigt werden. Wenn die Daten ausgewählt sind, ermittelt die SELECT-Anweisung das Ergebnis nur der Datensätze, deren Sequenzzahlen übereinstimmen, bedeutet dies, dass sie sich in der ersten und in der zweiten Tabelle befinden.

Wenn Sie das Design verwenden, müssen Sie verstehen, welche Daten erhalten werden müssen. Der häufigste Fehler, insbesondere beim Novice-Programmierer, ist irrationale und nicht ordnungsgemäße Verwendung des inneren Joindesigns. Wie Sie das Skript in Betracht ziehen, das von zuvor beschriebenen und abgeschlossenen Informationen über Objekte und ihre Eigenschaften an uns zurückgegeben wird. Hier können jedoch mehrere Möglichkeiten sein, das Design zu verwenden. In diesem Plan ist meine SQL eine sehr flexible Sprache. So können Sie die Beispiele für die Verwendung von MySQL-Innerenscheinen in Betracht ziehen.

Kombination von Tabellen ohne Parameter angeben. In diesem Fall erhalten wir das Ergebnis eines solchen Planes:

Wenn Sie über das Dienstwort angeben, mit dem Sie mithilfe der Haupttasten von Datensätzen in den Tabellen berücksichtigen müssen, ändert sich das Ergebnis der Probe dramatisch. In diesem Fall erhalten wir ein Muster, das nur die Zeilen zurückgibt, die dieselben Hauptschlüsseln haben.

Eine dritte Ausführungsform des Designs ist auch möglich, wenn die Felder in der Abfrage durch das Wort "ON" angegeben sind, auf dem Tabellen auftreten müssen. In diesem Fall gibt die Auswahl die folgenden Daten zurück:

Merkmale der Verwendung der linken Join

Wenn Sie eine andere Möglichkeit in Betracht ziehen, Tabellen mit dem MySQL-Join-Design zu kombinieren, können Sie den Unterschied in den angezeigten Daten sehen. Dieser Mechanismus ist das linke Design.

Mit dem linken Join-MySQL-Design hat MySQL-Design einige Funktionen und erfordert ein klares Verständnis des Ergebnisses, den Sie benötigen.

In diesem Fall werden zunächst alle Datensätze aus der ersten Tabelle ausgewählt, und spätere Einträge werden von der zweiten Eigenschaftstabelle angehängt. Gleichzeitig, wenn beispielsweise ein Datensatz vorhanden ist, z. B. ein "Hocker", und in der zweiten Tabelle gibt es keine Eigenschaften, dann zeigt die linke Anweisung den Wert von NULL an, der den Programmierer anspricht, dass es nicht gibt Zeichen.

Die Nutzung dieses Designs darf bestimmen, welche Felder oder zum Beispiel die Waren im Laden nicht auf den Preis ausgestellt sind und so weiter.

Ein Beispiel für die Verwendung von links.

Zur Prüfung, in der Praxis, verwendet der linke Join MySQL-Design-Operator zuvor beschriebene Tabellen. Beispielsweise müssen Sie die gesamte Liste der Produkte auswählen, die sich im Laden befinden, und das Kontrollkästchen einiger Anzeichen oder Eigenschaften, die nicht angebracht sind. In diesem Fall zeigt die Probe alle Waren auf dem Bildschirm an, und für diejenigen, die keine Eigenschaften haben, werden leere Werte angebracht.

Verwenden Sie, wo in Join Design teilnehmen

Als Parameter kann das Zusammenführen nicht nur die Anweisungen der Felder umfassen, für die die Tabelle angeschlossen ist, sondern auch den Bediener des Zustands enthalten kann.

Berücksichtigen Sie beispielsweise das Skript, an dem Sie nur die Datensätze zurückgeben sollten, für die das Zeichen nicht angebracht ist. In diesem Fall muss der Zustandsbetreiber dem Join-Design hinzugefügt werden und angeben, was genau als Ergebnis zurückgegeben werden muss.

Wenn Sie in MySQL verwendet werden, wenden Sie sich an, wo Sie eindeutig verstehen müssen, dass nur die Datensätze, an die der angegebene Zustand gehört, angezeigt wird, und die Probe wird dann so aussehen:

Solche Abfragen ermöglichen es, Proben auf spezifischen Daten zu erstellen, die sich auf den ausgewählten Programmiererzustand beziehen. Diese Bedingungen können um mehrere festgelegt werden, gleichzeitig die Datenauswahlparameter aus den kombinierten Tabellen angeben.

Verwenden Sie Join, um Daten in Tabellen zu ändern

Join Design, im Wesentlichen universell. Es ermöglicht nicht nur, eine Vielzahl von Mustern zu erstellen, sondern auch um eine Verbindung zu Anforderungen von einem zu mehreren Tabellen herzustellen, geben zusätzliche Bedingungen in die Probe ein. Das Design kann auch für andere Datentransaktionen verwendet werden. Also kann Join verwendet werden, um die Daten in der Tabelle zu ändern. Um die Bedingungen in der Tabelle oder in Fällen zu klären, in denen Sie die Daten in mehreren Tischen nach den gleichen Bedingungen aktualisieren müssen.

Betrachten Sie beispielsweise eine solche Aufgabe. Es gibt drei Tabellen, in denen es einige Daten gibt. Sie müssen die Daten in beiden Tabellen mit einer Anfrage ändern. Nur um diese Art von Aufgaben zu lösen, können in dem Update-Befehl angewendet werden. Der Join-Design-Typ selbst ist abhängig von dem Ergebnis, dass der Programmierer erhalten möchte.

Betrachten Sie das einfachste Beispiel. Sie müssen mit einem Anforderungsdaten zu denselben Bedingungen aktualisiert werden. Diese Art von Anfragen basiert auf der Optimierung der Arbeit mit der Datenbank. Warum schreiben Sie unterschiedliche Anfragen für jede der Tabellen, wenn Sie alle Manipulationen mit einer Anfrage ausgeben können? Ein Beispiel für den Beitritt in unserem Fall wird so sein:

Komplexe Anfragen bauen.

Häufig müssen Sie beim Arbeiten mit einer Datenbank fragen nicht nur mit der Kombination mehrerer Tabellen, sondern auch mit Unterabfragen erstellen. Solche Aufgaben sind recht komplex, um die Datenbanken der Novize-Programmierer zu verstehen. Die Komplexität ist, dass es notwendig ist, über jeden Schritt nachzudenken, um zu ermitteln, welche Daten, aus denen Tabelle oder Anforderung erhalten werden sollen, und wie in der Zukunft ist es notwendig, funktionieren zu können.

Für ein spezifischeres Verständnis können Sie (in MySQL beitreten) Beispiele für komplexe Abfragen in Betracht ziehen. Wenn Sie neu sind und einfach mit Datenbanken arbeiten, wird ein solches Training nur profitieren. Die ideale Option wird sein

Diese Abfrage kehrt zu 58 Einträgen in Kaufverträgen zurück, für die das Gleichgewicht gefüllt ist oder vorhanden ist. geld Am ausgewählten Datum. In diesem Fall ist dies das aktuelle Datum. Eine Bedingung wurde auch der Probe hinzugefügt, die im Titel des Vertrags Symbole geben sollte - "123". Die auf dem Bildschirm (Daten) angezeigten Informationen (Daten) werden auf der Vertragsnummer sortiert.

Das folgende Beispiel zeigt Daten zu allen Zahlungen an, in denen die Vertragsnummer angegeben wird.

Unterabfragen verwenden.

Wie bereits erwähnt, ist es möglich, nicht nur die Tabellen zu kombinieren, sondern auch eine Tabelle mit einer Abfrage beim Arbeiten mit Datenbanken. Dieses Design wird hauptsächlich verwendet, um den Betrieb der Anforderung und Optimierung zu beschleunigen.

Falls erforderlich, wenn nötig von der Tabelle, die mehrere Zellen der Felder aufweist, und sagen, tausend Einträge, wählen Sie nur zwei Felder aus, dann sollten Sie die Anforderung verwenden, die nur die erforderlichen Felder zurückgibt, und sie mit den Hauptdaten kombinieren Stichprobe. Wie beispiel MySQL. Join Select kann von dieser Art von Anfrage angezeigt werden:

Dies sind nicht alle Möglichkeiten, um Standard-MySQL-Strukturen, jedoch nur Standard zu verwenden. So nutzen Sie das Joindesign und in welchen Arten von ihren Arten löst der Programmierer selbst, aber es lohnt sich, das Ergebnis zu berücksichtigen und das Ergebnis berücksichtigen, welches Ergebnis beim Ausführen der Abfrage erhalten werden sollte.

In MySQL kann die Probe mit Join erstellt werden verschiedene Wege. Wir werden versuchen, all diese Arten von Anfragen zu berücksichtigen. Hier ist eine Liste aller Anfragen mit der Teilnahme von Join:

  1. Innerer Join.
  2. Linke Verbindung
  3. Rechten Mitglied.
  4. Rechtsmittel mit dem linken Tisch ohne Kreuzungen
  5. Voller äußerer.
  6. Volle äußere, wo der linke oder rechte Tisch leer ist

Aber die Illustration zu diesen Arten von Join:

Ich werde die Dateien unserer Site-Dateien anhängen, darunter win.php, in dem ich alle Datensätze mit abheben werde verschiedene Betreiber Beitreten.

Innerer Join.

Beginnen wir mit diesem Operator InNer Join, da dieser Operator standardmäßig ausgelöst wird, wenn Sie einfach in der Abfrage schreiben. Dieser Operator wählt alle Datensätze aus zwei Tabellen aus, in denen der Bedingung nach dem Operator läuft. Wir haben zwei Tabellen-Dateien und -meldungen:

Nachrichten-Tabelle:

Die Anforderung mit Join ist der folgende:

Wählen Sie * aus Meldungen innere Join-Dateien auf meldungen.fid \u003d files.fid

Infolgedessen werden solche Einträge angezeigt.

Datentabelle:

Linker Join benötigt, wenn alle Datensätze von Nachrichten angezeigt werden, und es gibt keine angehängte Datei oder keine angehängte Datei. Wir überprüfen PHP.

Linker Join ohne Kreuzungen mit der rechten Tabelle

Linker Join zeigt alle Datensätze von der linken Tabelle an, mit Ausnahme derjenigen, in denen der FID in der rechten Tabelle übereinstimmt.

Nachrichten-Tabelle:

Anfrage mit linkem Join ohne Kreuzungen ist das Folgende:

Wählen Sie * von Meldungen links, Join-Dateien auf meldschaften.fid \u003d files.fid wo files.fid ist null

Infolgedessen erhalten wir diese Muster hier:

Datentabelle:

Rechte Join wird benötigt, wenn Sie alle angehängten Dateien ohne Unterschied anzeigen, oder nicht nur alle Dateien.

Rechte Verbindung ohne Kreuzungen

Rechtsanschluss ohne Kreuzungen, zeigt alle Datensätze von der rechten Tabelle an, mit Ausnahme derjenigen, in denen Kreuzungen mit dem linken Tisch vorhanden sind.

Nachrichten-Tabelle:

Anfrage mit der rechten Join ohne Kreuzungen sind die folgenden:

Wählen Sie * von Meldungen rechts Join-Dateien auf meldschaften.fid \u003d files.fid, wo Nachrichten.FID null ist

Wir erhalten also folgende Daten:

mitte hauptteil. fug pfad.
NULL NULL 1 /Files/1.png.

Rechte Join wird benötigt, wenn alle angehängten Dateien angezeigt werden, die an keine Nachrichten angehängt sind. Wenn Sie beispielsweise Dateien anzeigen möchten, die nicht verwendet werden.

Voller äußerer Join.

Trotz der Tatsache, dass es in der SQL-Sprache voller äußerer Join gibt, in MySQL dieser Bediener ist nicht. Tatsache ist, dass ein ähnlicher Bediener eine große Last auf dem Server ist. Jetzt haben wir 3 Dateien und 3 Nachrichten, und 4 Zeilen werden als Ergebnis der Ausführung der Abfrage gebildet. Ich bin nicht sicher, dass dies eine gute Idee ist, um eine Anfrage zu schreiben, die zusammen zwei Anfragen liefert, die sich links anmelden und richtig anmelden. Trotzdem ist es möglich, die volle äußere Join-Anfrage zu emulieren.

Nachrichten-Tabelle:

Die vollständige äußere Join-Anfrage-Emulation wird wie folgt sein:

Wählen Sie * von Meldungen links Join-Dateien auf messages.fid \u003d files.fid Union Select * von Nachrichten rechts Join-Dateien auf meldend

In dieser Abfrage verwenden wir die Union-Anweisung, um die beiden Anforderungen nach links und rechts zu verbinden.

Infolgedessen erhalten wir folgende Einträge:

mitte hauptteil. fug pfad.
1 Prüfung 2 /Files/2.png.
2 HALLO NULL NULL
3 Hallo. 3 /Files/3.png.
NULL NULL 1 /Files/1.png.

Und hier finde ich es schon schwer zu sagen, warum voller äußerer Join erforderlich ist. Aber sobald es in SQL ist, dann anscheinend benötigt.

Voller äußerer Join ohne Kreuzungen

Eine andere Art von Join ist noch verrückt als nur vollständiger äußerer Join, nämlich vollständiger äußerer Join ohne Kreuzungen. Ich kann nicht einmal anbieten, wo Sie diese Art von Join verwenden können. Denn infolgedessen erhalten wir Dateien, die nicht verwendet werden, und Nachrichten ohne Dateien. Und wie Sie wahrscheinlich schon erraten haben dieser Betreiber ist auch nicht in MySQL. Es bleibt nur noch, es mit Hilfe von zwei linken Join-Operatoren ohne Vorschläge und richtige Join ohne Kreuzungen zu emulieren.

Voller äußerer Join-Abfrageemulation ohne Kreuzungen:

$ SQL \u003d "SELECT * aus Meldungen linker Join-Dateien auf messages.fid \u003d files.fid Where-Dateien. Files.fid ist Null Union Select * von Nachrichten Rechte Join-Dateien auf meldend

Als Ergebnis (Quelltabellen sind die gleichen wie im Beispiel mit voller äußerer Join), werden wir:

mitte hauptteil. fug pfad.
2 HALLO NULL NULL
NULL NULL 1 /Files/1.png.

Das ist wahrscheinlich alle, in den folgenden Lektionen, wir werden auf einmal noch komplexere Anfragen auf mehrere Tabellen schreiben.

Sie haben ein JavaScript in Ihrem Browser gesperrt. Erlauben Sie Javascript, auf der Website zu arbeiten!

Arbeit mit Formularen

HTML-Formulare werden verwendet, um Daten von der Webseite der Webseite übertragen zu können. Für das Arbeiten mit Formularen in PHP bietet eine Reihe von Spezialfonds.

Vordefinierte Variablen

In PHP gibt es eine Reihe vordefinierter Variablen, die sich nicht ändern, wenn alle Anwendungen in einer bestimmten Umgebung ausgeführt werden. Sie werden auch Umgebungsvariablen oder Variablen bezeichnet. Sie spiegeln die Einstellungen des Webservers von Apache sowie Informationen über die Anforderung für diesen Browser wider. Es ist möglich, URL-Werte, Abfragezeichenfolgen und andere HTTP-Anforderungselemente zu erhalten.

Alle vordefinierten Variablen sind in der $ Global Associal Array enthalten. Neben Umgebungsvariablen enthält dieses Array auch globale Variablen, die im Programm definiert sind.

Beispiel 1.

Sehen Sie sich $ Globals Array an $ Wert) ECHO "\\ $ GLOBALS [\\" $ KEY \\ "] \u003d\u003d $ Wert
"; ?>

Infolgedessen erscheint eine Liste aller globalen Variablen auf dem Bildschirm, einschließlich Umgebungsvariablen. Der am häufigsten verwendete von ihnen:

VariableBeschreibungGebäude
$ _Server ["http_user_Agent"]Name und Client-VersionMozilla / 5.0 (kompatibel; GoogleBot / 2.1; + http: //www.google.com/bot.html)
$ _Server ["Remote_Addr"]IP Adresse144.76.78.3
gETENV ("http_x_forded_for")Interne Client-IP-Adresse
$ _Server ["anfragen_method"]Anforderungsmethode (Get oder Post)Erhalten.
$ _Server ["Query_string"]Bei der Anforderung erhalten Sie codierte Daten, die mit URL übertragen werden
$ _Server ["anfrage_url"]Vollständige Adresse des Clients, einschließlich einer Abfragezeichenfolge
$ _Server ["http_referer"]Die Adresse der Seite, mit der die Anforderung erstellt wurde
$ _Server ["php_self"]Pfad zum Programm, das ausgeführt wird/Index.php.
$ _Server ["server_name"]Domainwebseite
$ _Server ["anfrage_uri"]Weg/Php/php_form.php.

Benutzereintragungsverarbeitung.

Das PHP-Input-Verarbeitungsprogramm kann von HTML-Text mit Eingangsformen getrennt werden, und Sie können auf einer Seite anordnen.

Beispiel 2.

Ein Beispiel für die Eingabeverarbeitung

"Methode \u003d" Post "\u003e

Kartennummer:

Hier gibt es keinen Datenübertragungsknopf, da Eine Form, die aus einem Feld besteht, wird automatisch übertragen, wenn Sie den Schlüssel drücken .

Bei der Verarbeitung eines Elements mit einer mehrwertigen Auswahl, um auf alle ausgewählten Werte zuzugreifen, müssen Sie dem Elementnamen ein paar eckige Klammern hinzufügen. Halten Sie die Strg-Taste, um mehrere Elfs auszuwählen, halten Sie die Strg-Taste.

Beispiel 3.1.

Aufführen

Das Ergebnis von Beispiel 3.1:

Tee Kaffee Milch Schinkenkäse

Beispiel 3.2.

Verarbeitungsliste aus der Datei EX1.HTM

    "FOREACH ($ Artikel als $ Wert) ECHO"
  • $ Wert "; Echo"
"; ?>

Beispiel 4. Empfangen Sie Werte aus Checkbox-Flags

$ V) (wenn ($ v) Echo "Sie kennen die Programmiersprache $ k!
"; Anders Echo" Sie kennen die Programmiersprache $ k nicht.
"; } } ?>
"Methode \u003d" Post "\u003e Welche Programmiersprachen kennen Sie?
PHP.
Perl

Das Ergebnis von Beispiel 4:

Welche Programmiersprachen kennen Sie? PHP. Perl

Beispiel 5

"; ?>
"Methode \u003d" Post "\u003e

Sie können mit Formularen umgehen, ohne sich um die tatsächlichen Feldnamen zu sorgen.

Dazu können Sie (abhängig von der Übertragungsmethode) ein assoziatives Array von $ http_get_vars oder $ http_post_vars verwenden. Diese Arrays enthalten den Namen / Wert von Paaren für jedes Element der übertragenen Form. Wenn Sie sich nicht darum kümmern, können Sie ein assoziatives Array $ _REQUEST verwenden.

Beispiel 6.

Bearbeitung der beliebigen Eingabe unabhängig von der Übertragungsmethode $ Wert) ECHO "$ KEY \u003d\u003d $ Wert
"; ?>

Beispiel 7. Drücken Sie die Taste mit dem Operator "@".

">

Verwenden der Header () -Funktion, senden Sie den Browser-Header, können Sie den Benutzer den Benutzer auf eine neue Seite umleiten.

Beispielsweise:

Übertragen Sie die Datei an den Server. FILE FILE. Hochladen.

Mit PHP können Sie Dateien an den Server übertragen. Das HTML-Formular, das zum Übertragen der Datei entwickelt wurde, muss das Argument ECTYPE \u003d "Multipart / Form-Data" enthalten.

Darüber hinaus sollte ein verborgenes Feld mit dem Namen Max_File_size im Formular vor der Datei sein, um die Datei zu kopieren. Die maximale Größe der übertragenen Datei muss in diesem versteckten Feld (normalerweise nicht mehr als 2 MB) aufgenommen werden.

Das Feld selbst ist, die Datei zu übertragen - das übliche Eingabeelement mit dem Argument Typ \u003d "Datei".

Beispielsweise:

"Methode \u003d" Post "\u003e

Nachdem die Datei an den Server übertragen wird, empfängt er einen eindeutigen Namen und wird im Verzeichnis für temporäre Dateien gespeichert. Der vollständige Pfad zur Datei wird in der globalen Variablen aufgenommen, deren Name mit dem Feldnamen übereinstimmt, um diese Datei übertragen zu können. Darüber hinaus behält PHP weitere Informationen zur übertragenen Datei in anderen globalen Variablen:

Beispiel 8.

Verarbeitung der übertragenen Datei "; Echo" Name: "$ _ Dateien [" UserFile "] [" Name "]."
"; Echo" Größe: "$ _ Dateien [" UserFile "] [" Größe "]."
"; Echo" Typ: ". $ _ Dateien [" UserFile "] [" Typ "]."
"; } ?>
"Methode \u003d" Post "\u003e

Beispiele für das Herunterladen von Dateien an den Server

Wenn es Probleme mit dem Transcodierserver der heruntergeladenen Datei gibt, ist das Codesymbol 0x00. Ersetzt mit einem Leerzeichen (Codesymbol 0x20.), fügen Sie der Datei hinzu httpd.conf. Aus dem Apache-Katalog (/ usr / local / apache) folgende Zeilen.

CharsetrecodemultipartForms deff.

Während seiner gesamten Zeit, zu Beginn seiner Webentwicklerkarriere arbeitete ich mit der Datenbank, die als wusste, und ich wusste nicht viel. Massierte einfache primitive Anfragen und manchmal sogar eingesetzte Anfragen an Zyklen. Zu dieser Zeit stieg ich leider nicht in meine Hände, das richtige Buch auf MySQL und Lern \u200b\u200bwurde von Samples und Fehlern durchgeführt. Viele Artikel im Internet haben mir irgendwie nicht sofort eine wunderbare MySQL-Abfrage berichtet - Join.
In dieser Publikation erzählige ich Ihnen von allen möglichen Optionen für die Arbeit mit Join und außerdem werde ich das Prinzip des Betriebs jedes Teams vorlegen - visuell.

Wir werden in Betracht ziehen:

  1. Innerer Join.
  2. Linke Verbindung
  3. Rechten Mitglied.
  4. Äußerer Join.
  5. Linker Join ohne innere Join
  6. Rechts beitreten ohne innere Join
  7. Äußerer Join ohne innere Join

Es ist separat, Randnrn. 5.6 und 7. In der Tat verbinden sich diese Anfragen nicht zwei Tische, aber im Gegenteil, die in den anderen vorhandenen Säulen sind von einer Tabelle ausgeschlossen. Tatsächlich kann dies sehr nützlich sein.

Innerer Join.

Eine der häufigsten Abfragen ist extrem oft. Diese Abfrage gibt alle Datensätze von der linken Tabelle (Registerkarte A) zurück (Registerkarte A) und Datensätze von (Tab. B), aber nur die zusammenfallenden Säulen werden zurückgegeben.

Musteranfrage:

SQL-Code anzeigen.

WÄHLEN< select_list> Von table_a a innerer Join TABLE_B B auf A. Key \u003d B. Schlüssel

Linke Verbindung

Diese Abfrage gibt alle Spalten von der linken Tabelle zurück (Registerkarte A) sowie alle Spalten von der rechten Tabelle (Tab. B), nur, die nur mit den Säulen vom linken Tisch zusammenfällt.

Musteranfrage:

SQL-Code anzeigen.

WÄHLEN< select_list> Von table_a a link up table_b b auf A. Key \u003d B. Schlüssel

Rechten Mitglied.

Ähnlich wie in der vorherigen Abfrage, gibt es jedoch alle Spalten von der rechten Tabelle (Tab. B), sowie alle Spalten von der linken Tabelle (Tab. A), die mit den Spalten von der rechten Tabelle übereinstimmt.

Musteranfrage:

SQL-Code anzeigen.

WÄHLEN< select_list> Von table_a a rechte Join Table_b B auf A. Key \u003d B. Schlüssel

Äußerer Join.

Diese Anfrage wird häufig als vollständiger äußerer Join oder voller Join erfasst, alle Variationen führen eine Aktion aus, nämlich gibt alle Spalten von beiden Tabellen zurück, während die zusammenfallenden Spalten mit Säulen vom linken Tisch abgedeckt werden.

Musteranfrage:

SQL-Code anzeigen.

WÄHLEN< select_list> Von table_a a voller äußerer Join-Tabelle_b B auf A. Key \u003d B. Schlüssel

Gelassen ohne Join.

Diese Anfrage gibt alle Spalten von der linken Tabelle zurück (Tab. A), die nicht mit Spalten von der rechten Tabelle zusammenfällt (Tab. B).

Musteranfrage:

SQL-Code anzeigen.

Fortsetzung des Themas:
Netzwerk

EINLEITUNG Es ist passiert, dass, als die Zeit des nächsten Upgrades aufkam, fast alle Komponenten neuer. Und die alte, freundliche, gute ...