Benutzer-Werkzeuge

Webseiten-Werkzeuge


dev:all:examples:sql-1

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
dev:all:examples:sql-1 [23.10.2014 09:10] – [Abruf eines einzelnen Users] Manuela v.d.Deckendev:all:examples:sql-1 [03.06.2015 15:53] – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== Der richtige Einsatz von SQL-Abfragen ====== ====== Der richtige Einsatz von SQL-Abfragen ======
 Dieses Kapitel soll häufige Fehler/Unsauberkeiten im Umgang mit Datenbanken in früheren Versionen von WB aufzeigen und auch gleich entsprechende Lösungen anbieten. Die beanstandeten Codefragmente sind **nicht** erfunden, sondern original aus WB und Modulen entnommen!  Dieses Kapitel soll häufige Fehler/Unsauberkeiten im Umgang mit Datenbanken in früheren Versionen von WB aufzeigen und auch gleich entsprechende Lösungen anbieten. Die beanstandeten Codefragmente sind **nicht** erfunden, sondern original aus WB und Modulen entnommen! 
-===== Abruf eines einzelnen Users =====+===== Verschiedene Beispiele für mehr oder weniger komplexe SQL-Abfragen ===== 
 +**Achtung:** Die folgenden Beispiele sind __**nicht**__ zur //**copy&paste**// Programmierung gedacht, sondern nur beispielhafte Denkanregungen, die aufzeigen sollen wie ein Problem gelöst werden kann! 
 +==== Abruf eines einzelnen Users ====
 Es wird einfach anhand der `user_id` ein einzelner Datensatz in der Tabelle `users` gesucht Es wird einfach anhand der `user_id` ein einzelner Datensatz in der Tabelle `users` gesucht
  
Zeile 27: Zeile 29:
      . 'WHERE `user_id`='.$user_id;      . 'WHERE `user_id`='.$user_id;
 if (($oResult = $oDb->doQuery($sql))) { if (($oResult = $oDb->doQuery($sql))) {
-    if (($aUser = $oResult->fetchRow(MYSQL_ASSOC))) {+    if (($aUser = $oResult->fetchArray())) {
         // all ok, do something with the data now         // all ok, do something with the data now
     } else {     } else {
Zeile 38: Zeile 40:
  
  
 +==== Eine Seite abrufen und dazu den Namen des zugehörenden Users ====
 +//(zur Vereinfachung werden nur die SQL-Statements dargestellt.)//\\
 +Hierzu werden Daten aus zwei Tabellen benötigt: die Daten aus 'wb_pages' sowie der Benutzername aus der Tabelle 'wb_users'.
 +Diese Aufgabe ist ohne jeden zusätzlichen PHP-Code rein mit **SQL** elegant lösbar. Dazu müssen nur die beiden Tabellen über die Felder 'modified_by' und 'user_id' durch einen //JOIN// miteinander verknüpft werden.\\
 +Es lohnt sich auf jeden Fall, sich in SQL einzulesen um die Grundlagen zu begreifen.
 +<code=SQL Snippet.php>
 +SELECT `wb_users`.`display_name`, `wb_pages`.* 
 +FROM `wb_pages` LEFT JOIN `wb_users`
 +    ON `wb_pages`.`modified_by`=`wb_users`.`user_id`
 +WHERE `wb_pages`.`page_id`=1
 +</code>
  
 +FIXME //... wird mit Auftauchen weiterer Beispiele kontinuierlich fortgesetzt!//
  
dev/all/examples/sql-1.txt · Zuletzt geändert: 25.10.2017 12:02 von Manuela v.d.Decken