Votingmodul
Verfasst: Mo 19. Jul 2004, 14:24
Hallo alle zusammen,
da ich im Bereich Kommentarmodul gelesen haben, dass mehrere gerne ein Votingmodul hätten und ich gerade versucht habe eines zu erstellen, möchte ich gerne mein Ergebnis hier präsentieren.
Ich bin kein php-Profi, daher entschuligt meine teilweise stümperhaften Ansätze.
Ich habe für mein Votingmodul das Umfragemodul von Alexander Höhn als Grundlage verwendet und angepaßt.
Leider sind jetzt nur genau 4 Antowrtmöglichkeiten möglich (mit den Variablen war es mir zu kompliziert).
Zusätzlich zu den Antwortmöglichkeiten und den Zählergebnisse wir nun auch die idcat mit in die DB geschrieben und auf jeder Seite wiederrum nur diese ausgelesen. Wurde auf dieser Seite noch keine Bewertung ausgegeben kommt eine Meldung und wird eine neuer Datensatz angelegt.
Außerdem kommen die Ergebnisse und die Bewertungsmöglichkeit auf der gleichen Seite.
Falls jemand das Modul verwenden kann freue ich mich auch mal geholfen zu haben, falls es jemand verbessert würde ich mich freuen, wenn es hier wieder gepostet wird.
So hier nun mal mein Modul:
Eingabe:
Ausgabe:
[/code]
da ich im Bereich Kommentarmodul gelesen haben, dass mehrere gerne ein Votingmodul hätten und ich gerade versucht habe eines zu erstellen, möchte ich gerne mein Ergebnis hier präsentieren.
Ich bin kein php-Profi, daher entschuligt meine teilweise stümperhaften Ansätze.
Ich habe für mein Votingmodul das Umfragemodul von Alexander Höhn als Grundlage verwendet und angepaßt.
Leider sind jetzt nur genau 4 Antowrtmöglichkeiten möglich (mit den Variablen war es mir zu kompliziert).
Zusätzlich zu den Antwortmöglichkeiten und den Zählergebnisse wir nun auch die idcat mit in die DB geschrieben und auf jeder Seite wiederrum nur diese ausgelesen. Wurde auf dieser Seite noch keine Bewertung ausgegeben kommt eine Meldung und wird eine neuer Datensatz angelegt.
Außerdem kommen die Ergebnisse und die Bewertungsmöglichkeit auf der gleichen Seite.
Falls jemand das Modul verwenden kann freue ich mich auch mal geholfen zu haben, falls es jemand verbessert würde ich mich freuen, wenn es hier wieder gepostet wird.
So hier nun mal mein Modul:
Eingabe:
Code: Alles auswählen
echo " <table>";
$db = new DB_Contenido;
switch($button1){
//-------------------------- Speichern der Daten in die Tabelle ------------------------------
case "Speichern" : {
$sql = 'INSERT INTO `umfragen` (`umfragenid`, `Frage`, `zaehlung1`, `zaehlung2`, `zaehlung3`, `zaehlung4`, `ergebnis1`, `ergebnis2`, `ergebnis3`, `ergebnis4`, `umfragenidcat`) VALUES (\'\', \'CMS_VALUE[0]\', \'CMS_VALUE[1]\', \'CMS_VALUE[2]\', \'CMS_VALUE[3]\', \'CMS_VALUE[4]\', \'0\', \'0\', \'0\',\'0\', \'0\');'; \');';
$db->query($sql);
break;
}
case "Auswählen" : {
//--------------------------- Auswählen der gewünschten Frege --------------------------------
$db->query('SELECT * FROM umfragen WHERE `Frage` = \''.$CMS_VAR[7].'\'');
$db->next_record();
$frage = $db->f("Frage");
$edit1 = $db->f("zaehlung1");
$edit2 = $db->f("zaehlung2");
$edit3 = $db->f("zaehlung3");
$edit4 = $db->f("zaehlung4");
break;
}
}
echo "<tr>
<td> </td>
<td></td>
</tr>";
echo " <tr>
<td>Frage :</td>
<td><input type=\"text\" name=\"CMS_VAR[0]\" value=\"";
if($frage=="") echo "CMS_VALUE[0]"; else echo $frage;
echo "\"></td>
</tr>
<tr>
<td>Möglichkeit 1 :</td>
<td><input type=\"text\" name=\"CMS_VAR[1]\" value=\"";
if($edit1=="") echo "CMS_VALUE[1]" ; else echo $edit1;
echo "\"></td>
</tr>
<tr>
<td>Möglichkeit 2 :</td>
<td><input type=\"text\" name=\"CMS_VAR[2]\" value=\"";
if($edit2=="") echo "CMS_VALUE[2]" ; else echo $edit2;
echo "\"></td>
</tr>
<tr>
<td>Möglichkeit 3 :</td>
<td><input type=\"text\" name=\"CMS_VAR[3]\" value=\"";
if($edit3=="") echo "CMS_VALUE[3]" ; else echo $edit3;
echo "\"></td>
</tr>
<tr>
<td>Möglichkeit 4 :</td>
<td><input type=\"text\" name=\"CMS_VAR[4]\" value=\"";
if($edit4=="") echo "CMS_VALUE[4]" ; else echo $edit4;
echo "\"></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><input type=\"submit\" name=\"button1\" value=\"Speichern\"></td>
</tr>
<tr>
<td colspan=\"2\"><center>";
//---------------------- darstellung in einer drop-down Liste --------------------------------
$db = new DB_Contenido;
if($db->query("SELECT * FROM umfragen")){
for($i=1;$i<=$db->num_rows();$i++){
$db->next_record();
$tab = "tab".$i;
$$tab = $db->f("Frage");
}
}else{
$sql = 'CREATE TABLE `umfragen` ( `umfragenid` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `Frage` TEXT NOT NULL, `zaehlung1` TEXT NOT NULL, `zaehlung2` TEXT NOT NULL, `zaehlung3` TEXT NOT NULL, `zaehlung4` TEXT NOT NULL,`ergebnis1` INT(15) NOT NULL, `ergebnis2` INT(15) NOT NULL, `ergebnis3` INT(15) NOT NULL, `ergebnis4` INT(15) NOT NULL, `umfragenidcat` INT(10) NOT NULL );';
$db->query($sql);
}
echo "<select name=\"CMS_VAR[7]\" size=\"1\">";
if($CMS_VAR[7]!="")echo "<option value=\"$CMS_VAR[7]\">".$CMS_VAR[7]."</option>";
for($i=1;$i<=$db->num_rows();$i++){
$tab = "tab".$i;
if(!isset($CMS_VAR[7]))echo "<option value=\"".$$tab."\">".$$tab."</option>";
if(isset($CMS_VAR[7])) if($$tab!=$CMS_VAR[7])echo "<option value=\"".$$tab."\">".$$tab."</option>";
}
echo "</select>" ;
echo " <input type=\"submit\" name=\"button1\" value=\"Auswählen\"></td>
</tr>";
echo "</table>";
Code: Alles auswählen
<?php
echo '<table width="100%"><tr><td colspan="2"><b>Bewertung dieses Ausflugszieles:</b><br><span class="k">Diese Bewertung wurde durch Benutzer dieser Webseite erstellt</span><br><br></td></tr><tr><td width="50%" valign="top">';
//----------------------------- Datenbank auswertung ----------------------------------------
$db = new DB_Contenido;
$db->query('SELECT * FROM umfragen WHERE `Frage` = \'CMS_VALUE[0]\' AND `umfragenidcat` = \''.$idcat.'\'');
$db->next_record();
$frage = $db->f("Frage");
$ergeb1 = $db->f("ergebnis1");
$ergeb2 = $db->f("ergebnis2");
$ergeb3 = $db->f("ergebnis3");
$ergeb4 = $db->f("ergebnis4");
$umfragecat = $db->f("umfragenidcat");
if ($umfragecat==$idcat){
switch($Radio1){
case 1 : {
$ergeb1++;
break;
}
case 2 : {
$ergeb2++;
break;
}
case 3 : {
$ergeb3++;
break;
}
case 4 : {
$ergeb4++;
break;
}
}
//--------------------------- Darstellung im Balkendiagramm ----------------------------------
$gesamt = $ergeb1+$ergeb2+$ergeb3+$ergeb4;
//echo "<center>CMS_VALUE[0]</center><br>";
if($ergeb1!="0") $farbe1= "bgcolor=\"cornflowerblue\"";
echo "<b>CMS_VALUE[1] :";
echo "<table width=\"100%\"><tr><td ".$farbe1." width=\"";
echo (300*$ergeb1)/$gesamt;
$prozent = (100*$ergeb1)/$gesamt;
echo "\"> </td><td>".round($prozent, 2)." % </td></tr>";
echo "</table><br>";
if($ergeb2!="0") $farbe2= "bgcolor=\"skyblue\"";
echo "<b>CMS_VALUE[2] :";
echo "<table><tr><td ".$farbe2." width=\"";
echo (300*$ergeb2)/$gesamt;
$prozent = (100*$ergeb2)/$gesamt;
echo "\"> </td><td>".round($prozent, 2)." % </td></tr>";
echo "</table><br>";
if($ergeb3!="0") $farbe3= "bgcolor=\"lightskyblue\"";
echo "<b>CMS_VALUE[3] :";
echo "<table><tr><td ".$farbe3." width=\"";
echo (300*$ergeb3)/$gesamt;
$prozent = (100*$ergeb3)/$gesamt;
echo "\"> </td><td>".round($prozent, 2)." % </td></tr>";
echo "</table><br>";
if($ergeb4!="0") $farbe4= "bgcolor=\"lightblue\"";
echo "<b>CMS_VALUE[4] :";
echo "<table><tr><td ".$farbe4." width=\"";
echo (300*$ergeb4)/$gesamt;
$prozent = (100*$ergeb4)/$gesamt;
echo "\"> </td><td>".round($prozent, 2)." % </td></tr>";
echo "</table><br>";
} else {
echo 'Es liegen noch keine Bewertungen vor';
$sql = 'INSERT INTO `umfragen` (`umfragenid`, `Frage`, `zaehlung1`, `zaehlung2`, `zaehlung3`, `zaehlung4`, `ergebnis1`, `ergebnis2`, `ergebnis3`, `ergebnis4`, `umfragenidcat`) VALUES (\'\', \'CMS_VALUE[0]\', \'CMS_VALUE[1]\', \'CMS_VALUE[2]\', \'CMS_VALUE[3]\', \'CMS_VALUE[4]\', \'0\', \'0\', \'0\', \'0\', \''.$idcat.'\');'; \');';
$db->query($sql);
}
echo '</td><td valign="top">';
//------------------------- Speichern der neuen Ergebnisse in der DB -------------------------
if ($button1=="Bewerten"){
$sql = 'SELECT `umfragenid` FROM `umfragen` WHERE 1 AND `Frage` = \'CMS_VALUE[0]\' AND `umfragenidcat` = \''.$idcat.'\' LIMIT 0, 30';
$db->query($sql);
$ID = $db->f("umfragenid");
$umfragecat = $db->f("umfragenidcat");
$sql = 'REPLACE INTO `umfragen` (`umfragenid`, `Frage`, `zaehlung1`, `zaehlung2`, `zaehlung3`, `zaehlung4`, `ergebnis1`, `ergebnis2`, `ergebnis3`, `ergebnis4`, `umfragenidcat`) VALUES (\''.$ID.'\', \'CMS_VALUE[0]\', \'CMS_VALUE[1]\', \'CMS_VALUE[2]\', \'CMS_VALUE[3]\', \'CMS_VALUE[4]\', \''.$ergeb1.'\', \''.$ergeb2.'\', \''.$ergeb3.'\', \''.$ergeb4.'\', \''.$idcat.'\');'; \');';
$db->query($sql);
}
echo "<form action=\"".$auth->url()."\" method=\"post\" name=\"speichern\">";
//if($button1!="Bewerten"){
//---------------------------- Umfrage aus der DB auslesen -----------------------------------
$db = new DB_Contenido;
$db->query('SELECT * FROM umfragen WHERE `Frage` = \'CMS_VALUE[0]\'');
$db->next_record();
$frage = $db->f("Frage");
$antwort1 = $db->f("zaehlung1");
$antwort2 = $db->f("zaehlung2");
$antwort3 = $db->f("zaehlung3");
$antwort4 = $db->f("zaehlung4");
//--------------- Fragen und Antwortmöglichkeiten darstellen ---------------------------------
echo "<table width=\"100%\"><tr><td></td><td height=\"15\" colspan=\"2\" >$frage</td>
</tr>
<tr>
<td width=\"25\"></td><td><input value=\"1\" type=\"radio\" name=\"Radio1\"> ".$antwort1."</td>
</tr>
<tr>
<td width=\"25\" ></td><td><input value=\"2\" type=\"radio\" name=\"Radio1\"> ".$antwort2."</td>
</tr>
<tr>
<td width=\"25\" ></td><td><input value=\"3\" type=\"radio\" name=\"Radio1\"> ".$antwort3."</td>
</tr>
<tr>
<td width=\"25\" ></td><td><input value=\"4\" type=\"radio\" name=\"Radio1\"> ".$antwort4."</td>
</tr>
<tr>
<td> </td><td> </td>
</tr>
<tr>
<td colspan=\"2\"><center><input type=\"submit\" name=\"button1\" value=\"Bewerten\"><br>
</tr></table>";
echo "</form>";
//}else{
echo '</td></tr></table>';
//}
?>