!!! Listing 1: suche_mysql.php \n"; } function printTableRow() { echo "\n"; } function printTableData($aWidth,$aHeight,$aBgColor, $aAlign,$aVAlign,$aContent) { echo "\n"; echo $aContent."\n"; echo "\n"; } function closeTableRow() { echo "\n"; } function printTableEnd() { echo "\n"; } $HTMLbreak = "
"; $HTMLboldOn = ""; $HTMLboldOff = ""; ?> Suche in iX-Buchbesprechungen

Suche in iX-Buchbesprechungen

Autor

Suchergebnis für ".$suchDisplay."".$HTMLbreak.$HTMLbreak; printTableHeader("70%",2,0); while (list($vname,$ort,$titel,$untertitel,$jahr, $waehrung,$preis,$seiten,$id,$isbn, $rvorname,$rnachname,$rez_monat,$rez_jahr) = mysql_fetch_row($resSearch)) { $rsA = mysql_query("SELECT autoren.vorname, autoren.nachname FROM rez_aut INNER JOIN autoren ON rez_aut.autor_id = autoren.id WHERE (rez_aut.buch_id = ".$id.") ORDER BY autoren.nachname",$dbConnection); $AuthStr = ""; $i = 1; while (list($vorname,$nachname)= mysql_fetch_row($rsA)) { $AuthStr .= $vorname." ".$nachname; if ($i++"); printTableData("80%",100,"#F0F0F0","left","top", $AuthStr.$HTMLbreak.$HTMLboldOn.$titel.$HTMLboldOff. $HTMLbreak.$untertitel.$HTMLbreak. $ort.", ".$vname." ".$jahr.$HTMLbreak. $seiten." Seiten".$HTMLbreak. $isbn.$HTMLbreak. $waehrung." ".$preis.$HTMLbreak.$HTMLbreak. $HTMLboldOn."Rezension :".$HTMLboldOff.$rvorname. " ".$rnachname." in Heft ". $rez_monat."/".$rez_jahr.$HTMLbreak); closeTableRow(); $hitCount++; } //Ende der while-Schleife printTableEnd(); echo "

Anzahl Treffer : ".$hitCount.$HTMLbreak.$HTMLbreak."

"; } //Ende der if-Schleife (mysql_num_rows) else echo "

Keine Übereinstimmungen gefunden

\n"; mysql_close(); $endTime = getMT(); echo $endTime; $duration = ($endTime-$startTime); // und die benötigte Zeit messen. echo "
Time needed: ".$duration."
"; echo "Zurück zur Suche"; $logFile = fopen("PHPLog.txt", "a"); fputs($logFile,date("d.m.Y H:i:s;"). $startTime.";".$endTime.";".$duration. ";MySQL;".$hitCount.";".$sqlQuery."\n"); fclose($logFile); } ?>
!!! Listing 2: get_image_mysql.php 0) { Header("Content-type: image/gif"); print(mysql_result($my_res, 0, "bild")); } } ?> !!! Listing 3: suche_mssql.asp <%@Language="JScript" %> <% d = new Date(); startTime = d.getTime(); function printTableHeader(aWidth,aCellSpacing,aCellPadding) { Response.write('\n'); } function printTableRow() { Response.write('\n'); } function printTableData(aWidth,aHeight,aBgColor, aAlign,aVAlign,aContent) { Response.write('\n'); } function closeTableRow() { Response.write('\n'); } function printTableEnd() { Response.write('
\n'); Response.write(aContent+'\n'); Response.write('
\n'); } HTMLbreak = '
'; HTMLboldOn = ''; HTMLboldOff = ''; %> Suche in iX-Buchbesprechungen
<% // Formularausgabe, wenn whatsit ("Suchen") nicht gesetzt whatsit = Request("whatsit"); if (String(whatsit) == "undefined") { %>
// weitere Formularvorgaben

Suche in iX-Buchbesprechungen

Autor

<% } else { // hier beginnt der Suchvorgang: DB-Verbindung aufbauen... //dbOpen("(local)","db_user","sehr_geheim","biblio"); hitCount = 0; sqlQuery = ''; suchDisplay = ''; if (whatsit=='Autorensuche') { s_autor = String(Request.Querystring('s_autor')); sqlQuery = 'SELECT DISTINCT v.name AS vname, v.ort, ". "b.titel, b.untertitel, b.jahr, b.waehrung'+ ', b.preis, b.seiten, b.id, b.isbn, rez.vorname '. 'AS rvorname, rez.nachname AS rnachname'+ ', b.rez_monat, b.rez_jahr from autoren a, '. 'buecher b, verlage v, rez_aut r,'+ ' rezensenten rez WHERE r.buch_id = b.id '. 'AND a.id = r.autor_id AND v.id = b.verlag_id'+ ' AND b.rez_id = rez.id AND UPPER(a.nachname) '. 'LIKE \''+s_autor.toUpperCase()+'\''; suchDisplay = ' Autoren, deren Name "'+s_autor+'" enthält'; } else if (whatsit=='Verlagssuche') { // Aufbau des select-Statements } rsSearch = Session('dbConnection').Execute(sqlQuery); if (!rsSearch.EOF) { Response.write('

Suchergebnis für '+suchDisplay+'

'+HTMLbreak+HTMLbreak); printTableHeader('70%',2,0); while (!rsSearch.EOF) { rsA = Session('dbConnection'). Execute('SELECT autoren.vorname, autoren.nachname FROM rez_aut INNER JOIN '+ 'autoren ON rez_aut.autor_id = autoren.id WHERE (rez_aut.buch_id = '+rsSearch('id').Value+')'); AuthStr = ''; while (!rsA.EOF) { AuthStr += rsA('vorname').Value+' '+rsA('nachname').Value; rsA.moveNext(); if (!rsA.EOF) AuthStr+=', '; } printTableRow(); printTableData('20%',100,'#F0F0F0','center', 'middle',''); printTableData('80%',100,'#F0F0F0','left','top', AuthStr+HTMLbreak+HTMLboldOn+rsSearch('Titel'). Value+HTMLboldOff+HTMLbreak+ rsSearch('untertitel').Value+HTMLbreak+ rsSearch('ort').Value+', '+rsSearch('vname').Value+ ' '+rsSearch('jahr').Value+HTMLbreak+ rsSearch('seiten').Value+' Seiten'+HTMLbreak+ rsSearch('isbn').Value+HTMLbreak+ rsSearch('waehrung').Value+' '+rsSearch('preis'). Value+HTMLbreak+HTMLbreak+ HTMLboldOn+'Rezension : '+HTMLboldOff+ rsSearch('rvorname').Value+' '+ rsSearch('rnachname').Value+' in Heft '+ rsSearch('rez_monat').Value+'/'+ rsSearch('rez_jahr').Value+HTMLbreak); closeTableRow(); rsSearch.moveNext(); hitCount++; } //Ende der while-Schleife (!rsSearch.EOF) printTableEnd(); Response.write('

Anzahl Treffer : ' +hitCount+HTMLbreak+HTMLbreak+'

'); } //Ende der if-Abfrage (!rsSearch.EOF) else Response.write('

Keine Übereinstimmungen gefunden

\n'); e = new Date(); endTime = e.getTime(); duration = endTime-startTime;// und die beötigte Zeit messen. Response.write(HTMLbreak+'Time needed: '+duration+HTMLbreak); Response.write('Zurück zur Suche'); var fso, logFile; fso = new ActiveXObject('Scripting.FileSystemObject'); logFile = fso.OpenTextFile(Server.MapPath("/ix/asp") + "\\ASPLog.txt", 8, true); logFile.WriteLine(e.getDate()+'.' +(e.getMonth()+1)+'.'+e.getYear()+' ' +e.getHours()+':'+e.getMinutes()+':' +e.getSeconds()+';'+startTime+';'+endTime+';' +duration+';MSSQL;'+hitCount+';'+sqlQuery); logFile.Close(); } %>
!!! Listing 4: get_image_mssql.asp <%@ LANGUAGE="JScript" %> <% if (Request.QueryString("ID")!="") intID = Request.QueryString("ID") else intID = 28; // Clear out the existing HTTP header information Response.Expires = 0; Response.Buffer = true; Response.Clear(); // Change the HTTP header to reflect that an image is being passed. Response.ContentType = "image/gif"; dbConn = Server.CreateObject("ADODB.Connection"); // The following open line assumes you have // set up a System DataSource dbConn.Open("Provider=MSDASQL;Driver= {SQL Server};Server=(local);Database= biblio;Uid=;Pwd=;"); rs = dbConn.Execute("SELECT bild FROM buecher WHERE id = " + intID); Response.BinaryWrite(rs("bild").Value); Response.End(); %> !!! Listing 5: global.asa !!! Listing 6: getall #!/bin/sh CONFFILE=BENCHCONF # benchname |host |url |wgetoptions # wphpmysqlpic|db.ix.heise.de|/ix/php/suche_mysql.php| -r --proxy=off -nH MAX=10 if [ $# -eq 0 ];then echo "Aufruf: $0 confdescription [count]" echo "default fuer count ist 10" exit fi MYQ=$1 shift BASIS="QEACACACDEDCABCEDFGZSTRMKBALWGHIJE" ZAHLEN="77,66,55,44,33,22,11,12,13,14,15,20,10,20,30,\ 40,50,60,70,80,90,15,25,35,45,55,65,75,85,95" export BASIS ZAHLEN DUMMY=`grep -w $MYQ $CONFFILE | awk -F"|" '{print $1}'` if [ -z $DUMMY ]; then echo "$MYQ ist keine gueltige confdescription" exit fi # alte Dateien loeschen: # rm -f suche* # rm -f *log if [ $# -gt 0 ];then MAX=$1 fi COUNTS=$MAX START=`date "+%s"` date "+$0$$$MYQ $COUNTS start: %H-%M-%S" while [ $MAX -gt 0 ]; do SUCH=`echo $BASIS | awk '{print substr($0,'"$MAX"',1)"%"}'` PREIS=`echo $ZAHLEN | awk -F',' '{print $'"$MAX"'}'` MAX=`expr $MAX - 1` ./getrez $MYQ $SUCH & ./getpreis $MYQ $PREIS & ./getverlag $MYQ $SUCH & ./getautor $MYQ $SUCH & done wait STOP=`date "+%s"` DAUER=`expr $STOP - $START` date "+$0$$$MYQ $COUNTS stop: %H-%M-%S $DAUER secs" !!! Listing 7: getautor #!/bin/sh DEFAULT="A%25" CONFFILE=BENCHCONF MYQ=$1 shift HOST=`grep -w $MYQ $CONFFILE | awk -F"|" '{print $2}'` Q1=`grep -w $MYQ $CONFFILE | awk -F"|" '{print $3}'` WGETOPT=`grep -w $MYQ $CONFFILE | awk -F"|" '{print $4}'` Q1=${Q1}?s_autor= if [ $# -gt 0 ];then Q2=$1 else Q2=$DEFAULT fi Q3="&whatsit=Autorensuche" Q=$Q1$Q2$Q3 URL=http://${HOST}/$Q START=`date "+%s"` date "+$0$$start_$MYQ: %H:%M:%S" wget $WGETOPT --output-file=$0-${MYQ}.log $URL STOP=`date "+%s"` DAUER=`expr $STOP - $START` date "+$0$$stop_$MYQ: %H:%M:%S $DAUER sec"