buecher.lingoworld.de
sascha kersken

buecher.lingoworld - Startseite

    buchinfo

    aktuelles

    inhalt

    leseprobe

    listings











    info bei:

    O'Reilly
    amazon.de







Listings
 
O'Reilly 

Gewinnspiel-Auswertung

mysql-Version
mysqli-Version

Zur Listing-Übersicht

mysql-Version

<?php

   
function cgi_param ($feld, $default) {
      
// Variable zunächst auf Default-Wert setzen
      
$var = $default;
      
// HTTP-Methode ermitteln
      
$meth = $_SERVER['REQUEST_METHOD'];
      if (
$meth == "GET") {
         if (isset(
$_GET[$feld]) && $_GET[$feld] != "") {
            
$var = $_GET[$feld];
         }
      } elseif (
$meth == "POST") {
         if (isset(
$_POST[$feld]) && $_POST[$feld] != "") {
            
$var = $_POST[$feld];
         }
      }
      
// Ermittelten Wert zurückgeben
      
return $var;
   }
   
    
// Verbindungsparameter
    
$host = "localhost";
    
$user = "winuser";
    
$pass = "4dm1nd4t";
    
$db   = "gewinnspiel";
    
    
// Verbindung zum MySQL-Server herstellen
    
$conn = mysql_connect ($host, $user, $pass);
    
    
// Datenbank auswählen
    
mysql_select_db ($db);

?>
<html>
<head>
<title>Gewinnspiel - Auswertung</title>
</head>
<body>
<h1>Gewinnspiel - Auswertung</h1>
<?php
    
// Nummern der richtigen Antworten speichern
    
$fr_query = mysql_query ("select fr_korrekt from gw_fragen order by fr_id asc");
    
$korrekt = array();
    while (list (
$fr_korrekt) = mysql_fetch_row ($fr_query)) {
       
array_push ($korrekt, $fr_korrekt);
    }
    
    
// Alle Teilnehmer ermitteln
    
$tn_query = mysql_query ("select tn_id from gw_teilnehmer");
    
$teilnehmer = array();
    while (list (
$tn_id) = mysql_fetch_row ($tn_query)) {
       
array_push ($teilnehmer, $tn_id);
    }
    
    
// Für jeden Teilnehmer herausfinden,
    // ob er alles richtig beantwortet hat
    
$korr_teilnehmer = array();
    foreach (
$teilnehmer as $tn_id) {
       
// Vermutung: Alles richtig
       
$richtig = 1;
       
// Alle Antworten des Teilnehmers durchlaufen
       
$tl_query = mysql_query ("select tl_frg, tl_antw from gw_teilnahme where tl_tln=$tn_id order by tl_frg asc");
       for (
$i = 0; list ($tl_frag, $tl_antw) = mysql_fetch_row ($tl_query); $i++) {
          
// Falsche Antwort?
          
if ($tl_antw != $korrekt[$i]) {
             
// Also nicht alles richtig
             
$richtig = 0;
          }
       }
       
       
// Alles richtig?
       
if ($richtig) {
          
array_push ($korr_teilnehmer, $tn_id);
       }
    }
?>
Folgende Teilnehmer haben alle Fragen richtig beantwortet:<br />
<br />
<table border="2" cellpadding="4">
<tr>
<th>Teilnehmer</th>
<th>E-Mail</th>
<th>Lieblingsstadt</th>
</tr>
<?php

    
// Die Lieblingsstädte
    
$staedte = array ("Paris", "London", "Istanbul", "Rom");
    
    
// Ausgabe aller korrekten Einsendungen
    
foreach ($korr_teilnehmer as $kt) {
       
$kt_query = mysql_query ("select tn_uname, tn_email, tn_interest from gw_teilnehmer where tn_id=$kt");
       list (
$tn_uname, $tn_email, $tn_interest) = mysql_fetch_row ($kt_query);
       echo
"<tr>\n";
       echo
"<td>$tn_uname</td>\n";
       echo
"<td>$tn_email</td>\n";
       echo
"<td>".$staedte[$tn_interest - 1]."</td>\n";
       echo
"</tr>\n";
    }
    
?>
</table>
<br />
<?php

    
// Den Gewinner "ziehen"
    
srand ((double)microtime() * 10000);
    
$gnummer = rand (0, sizeof ($korr_teilnehmer) - 1);
    
$gewinner = $korr_teilnehmer[$gnummer];
    
    
// und ausgeben
    
$gw_query = mysql_query ("select tn_uname, tn_email from gw_teilnehmer where tn_id=$gewinner");
    list (
$tn_uname, $tn_email) = mysql_fetch_row ($gw_query);
    echo (
"Gewonnen hat: <b>$tn_uname</b> (<a href=\"mailto:$tn_email\">$tn_email</a>)");
    
?>
</body>
</html>

nach oben

Zur Listing-Übersicht

mysqli-Version

<?php

   
function cgi_param ($feld, $default) {
      
// Variable zunächst auf Default-Wert setzen
      
$var = $default;
      
// HTTP-Methode ermitteln
      
$meth = $_SERVER['REQUEST_METHOD'];
      if (
$meth == "GET") {
         if (isset(
$_GET[$feld]) && $_GET[$feld] != "") {
            
$var = $_GET[$feld];
         }
      } elseif (
$meth == "POST") {
         if (isset(
$_POST[$feld]) && $_POST[$feld] != "") {
            
$var = $_POST[$feld];
         }
      }
      
// Ermittelten Wert zurückgeben
      
return $var;
   }
   
    
// Verbindungsparameter
    
$host = "localhost";
    
$user = "winuser";
    
$pass = "4dm1nd4t";
    
$db   = "gewinnspiel";
    
    
// Verbindung zum MySQL-Server herstellen, Datenbank auswählen
    
$conn = new mysqli ($host, $user, $pass, $db);

?>
<html>
<head>
<title>Gewinnspiel - Auswertung</title>
</head>
<body>
<h1>Gewinnspiel - Auswertung</h1>
<?php
    
// Nummern der richtigen Antworten speichern
    
$fr_query = $conn->query ("select fr_korrekt from gw_fragen order by fr_id asc");
    
$korrekt = array();
    while (list (
$fr_korrekt) = $fr_query->fetch_row ()) {
       
array_push ($korrekt, $fr_korrekt);
    }
    
    
// Alle Teilnehmer ermitteln
    
$tn_query = $conn->query ("select tn_id from gw_teilnehmer");
    
$teilnehmer = array();
    while (list (
$tn_id) = $tn_query->fetch_row ()) {
       
array_push ($teilnehmer, $tn_id);
    }
    
    
// Für jeden Teilnehmer herausfinden,
    // ob er alles richtig beantwortet hat
    
$korr_teilnehmer = array();
    foreach (
$teilnehmer as $tn_id) {
       
// Vermutung: Alles richtig
       
$richtig = 1;
       
// Alle Antworten des Teilnehmers durchlaufen
       
$tl_query = $conn->query ("select tl_frg, tl_antw from gw_teilnahme where tl_tln=$tn_id order by tl_frg asc");
       for (
$i = 0; list ($tl_frag, $tl_antw) = $tl_query->fetch_row (); $i++) {
          
// Falsche Antwort?
          
if ($tl_antw != $korrekt[$i]) {
             
// Also nicht alles richtig
             
$richtig = 0;
          }
       }
       
       
// Alles richtig?
       
if ($richtig) {
          
array_push ($korr_teilnehmer, $tn_id);
       }
    }
?>
Folgende Teilnehmer haben alle Fragen richtig beantwortet:<br />
<br />
<table border="2" cellpadding="4">
<tr>
<th>Teilnehmer</th>
<th>E-Mail</th>
<th>Lieblingsstadt</th>
</tr>
<?php

    
// Die Lieblingsstädte
    
$staedte = array ("Paris", "London", "Istanbul", "Rom");
    
    
// Ausgabe aller korrekten Einsendungen
    
foreach ($korr_teilnehmer as $kt) {
       
$kt_query = $conn->query ("select tn_uname, tn_email, tn_interest from gw_teilnehmer where tn_id=$kt");
       list (
$tn_uname, $tn_email, $tn_interest) = $kt_query->fetch_row ();
       echo
"<tr>\n";
       echo
"<td>$tn_uname</td>\n";
       echo
"<td>$tn_email</td>\n";
       echo
"<td>".$staedte[$tn_interest - 1]."</td>\n";
       echo
"</tr>\n";
    }
    
?>
</table>
<br />
<?php

    
// Den Gewinner "ziehen"
    
srand ((double)microtime() * 10000);
    
$gnummer = rand (0, sizeof ($korr_teilnehmer) - 1);
    
$gewinner = $korr_teilnehmer[$gnummer];
    
    
// und ausgeben
    
$gw_query = $conn->query ("select tn_uname, tn_email from gw_teilnehmer where tn_id=$gewinner");
    list (
$tn_uname, $tn_email) = $gw_query->fetch_row ();
    echo (
"Gewonnen hat: <b>$tn_uname</b> (<a href=\"mailto:$tn_email\">$tn_email</a>)");
    
?>
</body>
</html>

nach oben

Zur Listing-Übersicht
No Software Patents!
    
    www.lingoworld.de
    webmaster@lingoworld.de
    © Copyright 2004 by Lingoworld Multimedia, Köln
    designed by T.Kersken