Einbinden von SQL-Abfragen: Unterschied zwischen den Versionen

Aus IV1
Hans4mido (Diskussion | Beiträge)
Die Seite wurde neu angelegt: Überarbeiteter Inhalt von: http://sql.idv.edu/thema/sqltutorial/verwendung.htm
 
KKeine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
Überarbeiteter Inhalt von:
Wie bereits zu Beginn erwähnt macht SQL für sich selbst kaum Sinn. Es wird meist von anderen Programmiersprachen als "Transportmittel" verwendet, um Daten aus Datenbanken zu erhalten und dann weiterzuverarbeiten oder zu manipulieren.


http://sql.idv.edu/thema/sqltutorial/verwendung.htm
== Einbinden über PHP ==
 
SQL-Abfragen lassen sich mit PHP direkt in den Quelltext einer Website einpflegen, so dass der Inhalt dieser Sites dynamisch anhand des Datenbankinhaltes generiert werden kann. Sehr viele moderne Websites setzen auf diese effiziente Vorgehensweise, weshalb hier kurz ein Beispiel gezeigt werden soll.
 
<pre><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de-at" lang="de-at">
  <head>
    <title>Ausgabe</title>
  </head>
  <body>
    <h1>Ausgabe von Vorname, Nachname und Plz</h1>
   
    <table>
      <tr>
        <th>Vorname</th>
        <th>Nachname</th>
        <th>Plz</th>
      </tr>
      <?php
      /* Datenbankverbindung wird hergestellt
      und Datenbank wird ausgewählt */
      $conn = mysql_connect($servername,$benutzername,$password)
    or die ("Keine DB Verbindung hergestellt");
      mysql_select_db($datenbankname, $conn);
     
      $sql = "SELECT Vorname, Nachname, Plz FROM Kunde ORDER BY Plz";   
     
      /* Variable wird mit einem SQL Ergebnis gefüllt */
      $rs_liste = mysql_query($sql, $conn);
     
      $pointer = 0; // Hilfsvariable wird initialisiert
     
      /* Ergebnisausgabe nur falls die Anzahl der Datensätze > 0 ist */
      if (mysql_num_rows($rs_liste) > 0)
        {
       
        /* In einer Schleife werden die Datensätze Reihe
        für Reihe ausgegeben */
        while (mysql_fetch_row($rs_liste))
          {
          $vorname = mysql_result($rs_liste, $pointer, "Kunde.Vorname");
          $nachname = mysql_result($rs_liste, $pointer, "Kunde.Nachname");
          $plz = mysql_result($rs_liste, $pointer, "Kunde.Plz");
         
          /* Erzeugung von HTML Tabellenzeilen die
          mit den Ergebnisdatensätzen gefüllt sind */
          echo "<tr>";
          echo "<td>" . $vorname . "</td>";
          echo "<td>" . $nachname . "</td>";
          echo "<td>" . $plz . "</td>";
          echo "</tr>";               
         
          /* Hilfsvariable wird um 1 erhöht um beim nächsten
          Durchlauf der Schleife zum nächsten Datensatz des
          Ergebnisses zu kommen */
          $pointer++;
          }
        }
      else
        {
        /* Ausgabe eines Hinweises falls Anzahl
        der gefundenen Datensätze = 0 ist */
        echo "Es wurden keine Datensätze gefunden";
        }
   
      mysql_free_result($rs_liste); // SQL Abfrage wird geschlossen
      mysql_close($conn); // Datenbankverbindung wird geschlossen
      ?>
    </table>
   
  </body>
</html></pre>

Version vom 2. März 2009, 15:07 Uhr

Wie bereits zu Beginn erwähnt macht SQL für sich selbst kaum Sinn. Es wird meist von anderen Programmiersprachen als "Transportmittel" verwendet, um Daten aus Datenbanken zu erhalten und dann weiterzuverarbeiten oder zu manipulieren.

Einbinden über PHP

SQL-Abfragen lassen sich mit PHP direkt in den Quelltext einer Website einpflegen, so dass der Inhalt dieser Sites dynamisch anhand des Datenbankinhaltes generiert werden kann. Sehr viele moderne Websites setzen auf diese effiziente Vorgehensweise, weshalb hier kurz ein Beispiel gezeigt werden soll.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de-at" lang="de-at">
  <head>
    <title>Ausgabe</title>
  </head>
  <body>
    <h1>Ausgabe von Vorname, Nachname und Plz</h1>
    
    <table>
      <tr>
        <th>Vorname</th>
        <th>Nachname</th>
        <th>Plz</th>
      </tr>
      <?php
      /* Datenbankverbindung wird hergestellt
      und Datenbank wird ausgewählt */
      $conn = mysql_connect($servername,$benutzername,$password)
     or die ("Keine DB Verbindung hergestellt");
      mysql_select_db($datenbankname, $conn);
      
      $sql = "SELECT Vorname, Nachname, Plz FROM Kunde ORDER BY Plz";    
      
      /* Variable wird mit einem SQL Ergebnis gefüllt */
      $rs_liste = mysql_query($sql, $conn); 
      
      $pointer = 0; // Hilfsvariable wird initialisiert
      
      /* Ergebnisausgabe nur falls die Anzahl der Datensätze > 0 ist */
      if (mysql_num_rows($rs_liste) > 0)
        {
        
        /* In einer Schleife werden die Datensätze Reihe
        für Reihe ausgegeben */
        while (mysql_fetch_row($rs_liste)) 
          { 
          $vorname = mysql_result($rs_liste, $pointer, "Kunde.Vorname");
          $nachname = mysql_result($rs_liste, $pointer, "Kunde.Nachname");
          $plz = mysql_result($rs_liste, $pointer, "Kunde.Plz");
          
          /* Erzeugung von HTML Tabellenzeilen die
          mit den Ergebnisdatensätzen gefüllt sind */
          echo "<tr>"; 
          echo "<td>" . $vorname . "</td>";
          echo "<td>" . $nachname . "</td>";
          echo "<td>" . $plz . "</td>";
          echo "</tr>";                
          
          /* Hilfsvariable wird um 1 erhöht um beim nächsten
          Durchlauf der Schleife zum nächsten Datensatz des
          Ergebnisses zu kommen */
          $pointer++; 
          }
        }
      else
        {
        /* Ausgabe eines Hinweises falls Anzahl
        der gefundenen Datensätze = 0 ist */
        echo "Es wurden keine Datensätze gefunden";
        }
    
      mysql_free_result($rs_liste); // SQL Abfrage wird geschlossen
      mysql_close($conn); // Datenbankverbindung wird geschlossen
      ?>
    </table>
    
  </body>
</html>