<?php
/*
 * Kompendium der Web-Programmierung
 * Webapplikationen mit PHP
 * 
 * SELECT-Abfrage an MySQL mittels PEAR::DB und MySQLi-Treiber
 */

require_once 'DB.php';
 
?>

<HTML>

	<HEAD>
		<TITLE>WebKompendium: PEAR und Datenbanken</TITLE>
		<link rel="stylesheet" type="text/css" href="/webkompendium/css/webkompendium.css">
		<link rel="shortcut icon" href="/webkompendium/images/springer_icon.ico">
	</HEAD>
	
	<BODY>
		<CENTER>
		<HR><H2>Kompendium der Web-Programmierung</H2>
		<H3>PHP-PEAR und Datenbanken: PEAR::DB</H3><HR><H4>
		
		<?php
			// der kurze Weg:
			// $dsn="mysqli://thomas@localhost:3306/webkompendium";
			
			$dsn = array ('phptype'  => "mysqli",
					      'username' => "thomas",
					      'password' => "",
					      'protocol' => "tcp",
					      'hostspec' => "localhost",
					      'port'     => "3306",
					      'database' => "webkompendium"
				);
			
			$dbh = DB::connect($dsn);
		
			if (PEAR::isError($dbh))
    			die($dbh->getMessage());
    		
    		echo ("<TABLE><TR><TH>Titel</TH><TH>Autor</TH><TH>Verlag</TH><TH>Jahr</TH></TR>");
    			
    		$sql = "SELECT buecher.titel, autoren.nname, autoren.vname, ".
   			       " buecher.verlag, buecher.jahr ".
                   "FROM autoren JOIN buecher ". 
                   "WHERE buecher.id=autoren.buchid AND autoren.position=1 ".
                   "ORDER BY buecher.titel ASC;";
    		
                   // Durchfuehrung der SELECT-Abfrage
    		$sth = $dbh->query($sql);
    		
    		// Verarbeitung des Result Sets
    		while($row = $sth->fetchrow(DB_FETCHMODE_ASSOC)) {
    			
    			echo ("<TR><TD>".$row[titel]."</TD><TD>".$row[vname]." ".$row[nname].
    				  "</TD><TD>".$row[verlag]."</TD><TD>".$row[jahr]."</TD></TR>");

    		}  // while
    		
    		echo ("</TABLE>");
    			
    		// Verbindungsabbau
    		$sth->free();
    		$dbh->disconnect();
		?>
		
		</H4><HR></CENTER>
	</BODY>
	
</HTML>