Omslaget. Klicka här för att gå till bokens hemsida.

Databasteknik: Kodexempel ur avsnitt 18.3: CGI-program i Pike (s 334-336)

#!/usr/local/bin/pike

int main() {
  write("Content-type: text/html\r\n");
  write("\r\n");
  write("<html>\n");
  write("<head>\n");
  write("<title>Försäljning</title>\n");
  write("</head>\n");
  write("\n");
  write("<body>\n");
  write("\n");
  write("<h1>Försäljning</h1>\n");
  write("\n");

  Sql.sql db =
    Sql.sql("mysql://fbuser:zSplor7zk@"
            "dbserver/forsaljningsbasen");

  Sql.sql_result result =
    db->big_query("select sum(Antal * Pris) as Summa"
                  " from Forsaljning, Vara"
                  " where Forsaljning.Vara = Vara.Id");

  array row = result->fetch_row();

  write("Hittills i år har vi sålt för " + row[0] +
        " kronor.\n");

  write("\n");
  write("<p>\n");
  write("\n");

  result =
    db->big_query("select Forsaljare.Id,"
      " Forsaljare.Namn,"
      " sum(Antal * Pris) as Summa"
      " from Forsaljning, Vara, Forsaljare"
      " where Forsaljning.Vara = Vara.Id"
      " and Forsaljning.Forsaljare = Forsaljare.Id"
      " group by Forsaljare.Id, Forsaljare.Namn"
      " order by Summa desc limit 3");

  write("De tre bästa försäljarna:\n");
  write("\n");
  write("<ol>\n");

  while ((row = result->fetch_row()))
    write("<li>" + row[1] + ", " + row[2] +
          " kronor.</li>\n");

  write("</ol>\n");
  write("\n");
  write("</body>\n");
  write("</html>\n");

  return 0;
} // main


Av Thomas Padron-McCarthy (e-post: boken@databasteknik.se)
Senaste ändring: 30 juli 2005