ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Abstimmungen

Geschlossen
  1. #1
    User Pic
    avee030 Mitglied
    Registriert seit
    07.09.2008
    Beiträge
    59
    Beitragswertungen
    0 Beitragspunkte
    Guten Abend

    ist es eigentlich möglich eine Art namentliche Abstimmung zu realisieren ?
    Ich meine keine Anzeige wer was gestimmt hat sondern eine Anzeige in der angezeit wird wer schon gestimmt hat ?

    z.B.
    ist ein treffen gewünscht ?
    O - ja
    O - nein

    ( abgestimmt haben : fritz , frantz , teo usw. )

    wir haben immer wieder das problem das nur ein paar ihre stimme abgeben aber nachher alle sagen ICH wollte das ja gar nicht lachenlachen

    Danke Avee


    verwendete ilchClan Version: 1.1 N

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    SeToY Mitglied
    Registriert seit
    29.06.2006
    Beiträge
    1.928
    Beitragswertungen
    43 Beitragspunkte
    Ab-Werk ist es nicht möglich, aber wenn es Hart auf Hart kommt, kannst du in die Datenbank schauen und nachgucken, welche UserID's für was gestimmt haben.

    Dann haste diejenigen, die für Antwort X, Y und Z abgestimmt haben.
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    avee030 Mitglied
    Registriert seit
    07.09.2008
    Beiträge
    59
    Beitragswertungen
    0 Beitragspunkte
    für was sie gestimmt haben ist mir ja egal lachen

    in der datenbank unter poll hab ich gesehen das dort diejenigen gelistet sind die abgestimmt haben .
    ich hätte es nur gerne unter der abstimmung als info für die member lächeln
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    avee030 Mitglied
    Registriert seit
    07.09.2008
    Beiträge
    59
    Beitragswertungen
    0 Beitragspunkte
    in der datenbank unter POLL wird im textfeld der user gelistet welcher gestimmt hat , kann man das auslesen ?
    ZitatZitat

    pollid...frage..................recht...........text
    56.......Ort des Clantreffens...2...............#225#2#305#65#191#219

    kann man den wert unter "text" nicht ausgeben ?
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Chapter Hall Of Fame
    Registriert seit
    21.10.2007
    Beiträge
    5.951
    Beitragswertungen
    229 Beitragspunkte
    ja kann man.
    Spamming, sinnlose Beiträge, Pushing, Doppelposting und Werbung sind verboten
    externer Link
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    MagistYata Mitglied
    Registriert seit
    22.12.2007
    Beiträge
    861
    Beitragswertungen
    6 Beitragspunkte
    Was genau willst Du den abstimmen lassen?
    Es gibt z.B.: ein Tippspiel Modul, wo man (in diesem Fall Fussballspiele) tippen kann. Das müsstest Du halt anpassen.
    Streß ist Lebensdiebstahl
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    orsnipe Mitglied
    Registriert seit
    19.06.2008
    Beiträge
    425
    Beitragswertungen
    11 Beitragspunkte
    Nee das will er nicht.
    Er möchte die normale Umfrage die Ilch zur verfügung stellt so haben, das er bzw. seine Member sehen wer schon gevotet hat.

    zb: es sind 20 Member davon haben 10 gevotet und diese sollen mit namen in einer liste stehen.
    Was er dabei nicht vorraussetzt ist, das er nicht sehen will was sie gevotet haben ob ja oder nein oder was weis ich was, sondern nur ob sie es getan haben.

    möglich ist es auf jeden fall, man kann so gut wie alles auslesen lassen wenn man will und wenn man weis wie.
    Da ich ja nun kein pro bin, kann ich es nur versuchen, aber es ich es hinbekomm weis ich nicht, also lohnt sich auch das nachfragen nicht ob es denn nun geht oder nicht, wenn es geht werd ich es hier posten, es sei denn jemand anderes ist schneller sofern es jemand machen würde.
    Schau mich nicht in diesem Ton an, ich hab nen Tinnitus im Auge, ich seh nur Pfeifen.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    MagistYata Mitglied
    Registriert seit
    22.12.2007
    Beiträge
    861
    Beitragswertungen
    6 Beitragspunkte
    In der Datenbank unter prefix_poll findet man den Punkt text.
    Dort sind alle Member mit ihren ID´s in dieser Form hinterlegt die bereits abgestimmt haben:
    #244#471#781# (trifft bei Abfragen ab nur registrierte zu)=Recht 2

    #100.234.80.1#99.100.123.456 (also IP Adressen nur wenn alle Abstimmen dürfen)= Recht 1

    Jetzt bräuchte man doch eigentlich nur eine Abfrage, in der die Ratuezeichen entfernt und die User ID sichbar wird. Ich bin leider kein Coder, und denke mal, da es sich um ein Textfeld handelt geht das anscheinend nicht so leicht.

    Aber ein Ansatz wäre es, oder?


    Zuletzt modifiziert von MagistYata am 12.03.2010 - 22:07:10
    Streß ist Lebensdiebstahl
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    orsnipe Mitglied
    Registriert seit
    19.06.2008
    Beiträge
    425
    Beitragswertungen
    11 Beitragspunkte
    also User biste erst wenn du auf der seite angemeldet bist und dann haste ja ne ID.
    Sinnvoll währ es nur User oder Member auszulesen, also benutzer ab einem bestimmten Recht, denn was nützt es zu wissen das 20 Gäste gevotet haben, das sieht man ja wenn man sieht wieviel Member es getan haben.

    Also ich Persöhnlich würde nur ab recht Trialmember auslesen, weil ich ja wissen will welche von meinen Membern gevotet haben, denn diese betrifft es ja am meisten.

    In der teorie ist es einfach, denn die Votebox zeigt ja schon wieviele gevotet haben, also steht die abfrage schon, das heist man muss es nur verallgemeinern, also alle Votes zusammen zählen und die abfrage auf den User beziehen und diesen dann durch seine ID mit seinem Namen anzeigen lassen ...

    Wie gesagt, ich bin schon dran, die teorie ist relativ simpel, nur das umsetzen ist oft etwas schwieriger traurig

    also wenn jemand schneller ist oder ne andere idee hat, bitte mal posten ... wir währen sehr dankbar ... lächeln
    Schau mich nicht in diesem Ton an, ich hab nen Tinnitus im Auge, ich seh nur Pfeifen.
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    avee030 Mitglied
    Registriert seit
    07.09.2008
    Beiträge
    59
    Beitragswertungen
    0 Beitragspunkte
    hat keiner mehr ne idee dazu ? :'(
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.629
    Beitragswertungen
    1192 Beitragspunkte
    ISt jetzt nich der Proficode, aber sollte funktionieren:

    if ($fraRow->recht == 2) 
    	{			  
    	$teiln = explode('#',$fraRow->text);
    	$info = '(abgestimmt haben: ';
    	foreach ($teiln as $value) 
    		{
    		if (!empty($value)) 
        		{
    			$name = db_result(db_query('SELECT name FROM prefix_user WHERE id = "'.$value.'"'),0);
    			$info .= $name.', ';
          	  }
    		}
    	$info = substr($info, 0, -2); $info .= ')';
    	echo $info; 
    	}


    ...teste mal!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    avee030 Mitglied
    Registriert seit
    07.09.2008
    Beiträge
    59
    Beitragswertungen
    0 Beitragspunkte
    zunge
    im großen und ganzen geht es
    aaaaber ich bekomme die ausgabe mehrfach lächeln



    ZitatZitat
    (abgestimmt haben: Leonie, BoyM2003, Avee)(abgestimmt haben: Leonie, BoyM2003, Avee)(abgestimmt haben: Leonie, BoyM2003, Avee)(abgestimmt haben: Leonie, BoyM2003, Avee)(abgestimmt haben: Leonie, BoyM2003, Avee)(abgestimmt haben: Leonie, BoyM2003, Avee)(abgestimmt haben: Leonie, BoyM2003, Avee)(abgestimmt haben: Leonie, BoyM2003, Avee)(abgestimmt haben: Leonie, BoyM2003, Avee)(abgestimmt haben: Leonie, BoyM2003, Avee)




    eingefügt zeile 92-106
    ##
    ###
    ####
    ##### ins vote
    $um = $menu->get(1);
    if ($menu->getA(1) == 'W') {
    
      $poll_id = escape ($menu->getE(1), 'integer');
    	$radio = escape ($_POST['radio'], 'integer');
    	
    		$fraRow = db_fetch_object(db_query("SELECT * FROM prefix_poll WHERE poll_id = '".$poll_id."'"));
    	  $textAr = explode('#',$fraRow->text);
    	  if ($fraRow->recht == 2) {
    		  $inTextAr = $_SESSION['authid'];
    		} elseif ($fraRow->recht == 1) {
    		  $inTextAr = $_SERVER['REMOTE_ADDR'];
    		}
    		if ( !in_array ( $inTextAr , $textAr ) ) {
    			$textAr[] = $inTextAr;
    		  $textArString = implode('#',$textAr);
          db_query('UPDATE `prefix_poll` SET text = "'.$textArString.'" WHERE poll_id = "'.$poll_id.'"');
    		  db_query('UPDATE `prefix_poll_res` SET res = res + 1 WHERE poll_id = "'.$poll_id.'" AND sort = "'.$radio.'" LIMIT 1') or die (db_error());
    		}
    		
    }
    
    ##
    ###
    ####
    ##### V o t e    Ü b e r s i c h t 
    
    $title = $allgAr['title'].' :: '.$lang['vote'];
    $hmenu = $lang['vote'];
    $design = new design ( $title , $hmenu );
    $design->header();
    
    ?>
    <table width="100%" cellpadding="2" cellspacing="1" border="0" class="border">
      <tr class="Chead">
        <td><b><?php $lang['vote']; ?></b></td>
      </tr>
    	
    <?php
    
    $breite = 200;
    if ($_SESSION['authright'] <= -1 ) {
    	  $woR = '>= "1"';
    } else {
    	  $woR = '= "1"';
    }
    $limit = 3;  // Limit 
    $page = ( $menu->getA(1) == 'p' ? $menu->getE(1) : 1 );
    $MPL = db_make_sites ($page , 'WHERE recht '.$woR , $limit , "?vote" , 'poll' );
    $anfang = ($page - 1) * $limit;
    $class = '';
    $erg = db_query('SELECT * FROM `prefix_poll` WHERE recht '.$woR.' ORDER BY poll_id DESC LIMIT '.$anfang.','.$limit);
    while ($fraRow = db_fetch_object($erg)) {
    
    	$maxRow = db_fetch_object(db_query('SELECT MAX(res) as res FROM `prefix_poll_res` WHERE poll_id = "'.$fraRow->poll_id.'"'));
    	$gesRow = db_fetch_object(db_query('SELECT SUM(res) as res FROM `prefix_poll_res` WHERE poll_id = "'.$fraRow->poll_id.'"'));
    	$max = $maxRow->res;
      $ges = $gesRow->res;
    	$textAr = explode('#',$fraRow->text);
    	
    	  if ($fraRow->recht == 2) {
    		  $inTextAr = $_SESSION['authid'];
    		} elseif ($fraRow->recht == 1) {
    		  $inTextAr = $_SERVER['REMOTE_ADDR'];
    		}
        echo '<tr><td class="Cdark"><b>'.$fraRow->frage.'</b></td></tr>';
    		if ( $class == 'Cnorm' ) { $class = 'Cmite'; } else { $class = 'Cnorm'; }
    		echo '<tr><td class="'.$class.'">';
    		if ( in_array ( $inTextAr , $textAr ) OR $fraRow->stat == 0) {
    			  echo '<table width="100%" cellpadding="0">';
    		    $imPollArrayDrin = true;
    		} else {
    			  echo '<form action="index.php?vote-W'.$fraRow->poll_id.'" method="POST">';
    		    $imPollArrayDrin = false;
    		}
        $i = 0;
    		$pollErg = db_query('SELECT antw, res, sort FROM `prefix_poll_res` WHERE poll_id = "'.$fraRow->poll_id.'" ORDER BY sort');
    		while ( $pollRow = db_fetch_object($pollErg) ) {
    		    if ( $imPollArrayDrin ) {
    	 		     
    
    
    
    
    
    
    
    if ($fraRow->recht == 2)
       {            
        $teiln = explode('#',$fraRow->text);
        $info = '(abgestimmt haben: ';
        foreach ($teiln as $value)
            {
            if (!empty($value))
                {
                $name = db_result(db_query('SELECT name FROM prefix_user WHERE id = "'.$value.'"'),0);
                $info .= $name.', ';
              }
            }
        $info = substr($info, 0, -2); $info .= ')';
        echo $info;
        }
    
    
    
    
    
    
    
    if ( !empty($pollRow->res) ) {  
    				      $weite = ($pollRow->res / $max) * 200;
    		 		      $prozent = $pollRow->res * 100 / $ges;
    		 		      $prozent = round($prozent,0);
    				    } else {
    		  		    $weite = 0;
    					    $prozent = 0;
    				    }
    						$tbweite = $weite + 20;
    						echo '<tr><td width="30%">'.$pollRow->antw.'</td>';
    				    echo '<td width="50%">';
                /*
                '<table width="'.$tbweite.'" border="0" cellpadding="0" cellspacing="0"></td>';
    						echo '<tr><td width="10" height="10"></td>';
    						echo '<td width="'.$weite.'" background="include/images/vote/voteMitte.jpg" alt=""></td>';
    						echo '<td width="10"><img src="include/images/vote/voteRight.jpg" alt=""></td>';
    						echo '</tr></table>';*/
                echo '<div style="height: 10px; width: ' . $weite .'px; background: #3776a5 url(include/images/vote/voteMitte.png) repeat-y top left;">'.
                     '</div>';
    				    
                echo '<td width="10%">'.$prozent.'%</td>';
    				    echo '<td width="20%" align="right">'.$pollRow->res.'</td></tr>';
    				} else {
                $i++;
    			      echo '<input type="radio" id="vote'.$i.'" name="radio" value="'.$pollRow->sort.'"><label for="vote'.$i.'"> '.$pollRow->antw.'</label><br>';
    		    }
    		} 
    		if ( $imPollArrayDrin ) {
    			  echo '<tr><td colspan="2" align="right">'.$lang['whole'].': &nbsp; '.$ges.'</td></tr></table>';
    		} else {
    		    echo '<p align="center"><input type="submit" value="'.$lang['formsub'].'"></p></form>';
    		}
    		
        echo '</td></tr>';
    		
    } // end while
    
    echo '<tr><td class="Cdark" align="center">'. $MPL .'</td></tr></table>';
    $design->footer();
    
    ?>
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.629
    Beitragswertungen
    1192 Beitragspunkte
    Ich habe es mal angepasst!

    <?php 
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    
    
    
    //-----------------------------------------------------------|
    
    
    ##
    ###
    ####
    ##### ins vote
    $um = $menu->get(1);
    if ($menu->getA(1) == 'W') {
    
      $poll_id = escape ($menu->getE(1), 'integer');
    	$radio = escape ($_POST['radio'], 'integer');
    	
    		$fraRow = db_fetch_object(db_query("SELECT * FROM prefix_poll WHERE poll_id = '".$poll_id."'"));
    	  $textAr = explode('#',$fraRow->text);
    	  if ($fraRow->recht == 2) {
    		  $inTextAr = $_SESSION['authid'];
    		} elseif ($fraRow->recht == 1) {
    		  $inTextAr = $_SERVER['REMOTE_ADDR'];
    		}
    		if ( !in_array ( $inTextAr , $textAr ) ) {
    			$textAr[] = $inTextAr;
    		  $textArString = implode('#',$textAr);
          db_query('UPDATE `prefix_poll` SET text = "'.$textArString.'" WHERE poll_id = "'.$poll_id.'"');
    		  db_query('UPDATE `prefix_poll_res` SET res = res + 1 WHERE poll_id = "'.$poll_id.'" AND sort = "'.$radio.'" LIMIT 1') or die (db_error());
    		}
    		
    }
    
    ##
    ###
    ####
    ##### V o t e    Ü b e r s i c h t 
    
    $title = $allgAr['title'].' :: '.$lang['vote'];
    $hmenu = $lang['vote'];
    $design = new design ( $title , $hmenu );
    $design->header();
    
    ?>
    <table width="100%" cellpadding="2" cellspacing="1" border="0" class="border">
      <tr class="Chead">
        <td><b><?php $lang['vote']; ?></b></td>
      </tr>
    	
    <?php
    
    $breite = 200;
    if ($_SESSION['authright'] <= -1 ) {
    	  $woR = '>= "1"';
    } else {
    	  $woR = '= "1"';
    }
    $limit = 3;  // Limit 
    $page = ( $menu->getA(1) == 'p' ? $menu->getE(1) : 1 );
    $MPL = db_make_sites ($page , 'WHERE recht '.$woR , $limit , "?vote" , 'poll' );
    $anfang = ($page - 1) * $limit;
    $class = '';
    $erg = db_query('SELECT * FROM `prefix_poll` WHERE recht '.$woR.' ORDER BY poll_id DESC LIMIT '.$anfang.','.$limit);
    while ($fraRow = db_fetch_object($erg)) {
    
    	$maxRow = db_fetch_object(db_query('SELECT MAX(res) as res FROM `prefix_poll_res` WHERE poll_id = "'.$fraRow->poll_id.'"'));
    	$gesRow = db_fetch_object(db_query('SELECT SUM(res) as res FROM `prefix_poll_res` WHERE poll_id = "'.$fraRow->poll_id.'"'));
    	$max = $maxRow->res;
      $ges = $gesRow->res;
    	$textAr = explode('#',$fraRow->text);
    	
    	  if ($fraRow->recht == 2) {
    		$inTextAr = $_SESSION['authid'];
    		$info = '<hr>Abgestimmt haben: ';
        	foreach ($textAr as $value)
            {
            if (!empty($value))
                {
                $name = @db_result(db_query('SELECT name FROM prefix_user WHERE id = "'.$value.'"'),0);
                if ($name) {$info .= $name.', ';} ELSE {$info .= '';}
              }
            }
        $info = substr($info, 0, -2);
    		} elseif ($fraRow->recht == 1) {
    		  $inTextAr = $_SERVER['REMOTE_ADDR'];
    		  $info = '<hr>Keine interne Abstimmung';
    		}
        echo '<tr><td class="Cdark"><b>'.$fraRow->frage.'</b></td></tr>';
    		if ( $class == 'Cnorm' ) { $class = 'Cmite'; } else { $class = 'Cnorm'; }
    		echo '<tr><td class="'.$class.'">';
    		if ( in_array ( $inTextAr , $textAr ) OR $fraRow->stat == 0) {
    			  echo '<table width="100%" cellpadding="0">';
    		    $imPollArrayDrin = true;
    		} else {
    			  echo '<form action="index.php?vote-W'.$fraRow->poll_id.'" method="POST">';
    		    $imPollArrayDrin = false;
    		}
        $i = 0;
    		$pollErg = db_query('SELECT antw, res, sort FROM `prefix_poll_res` WHERE poll_id = "'.$fraRow->poll_id.'" ORDER BY sort');
    		while ( $pollRow = db_fetch_object($pollErg) ) {
    		    if ( $imPollArrayDrin ) {
    	 		     if ( !empty($pollRow->res) ) {  
    				      $weite = ($pollRow->res / $max) * 200;
    		 		      $prozent = $pollRow->res * 100 / $ges;
    		 		      $prozent = round($prozent,0);
    				    } else {
    		  		    $weite = 0;
    					    $prozent = 0;
    				    }
    						$tbweite = $weite + 20;
    						echo '<tr><td width="30%">'.$pollRow->antw.'</td>';
    				    echo '<td width="50%">';
                /*
                '<table width="'.$tbweite.'" border="0" cellpadding="0" cellspacing="0"></td>';
    						echo '<tr><td width="10" height="10"></td>';
    						echo '<td width="'.$weite.'" background="include/images/vote/voteMitte.jpg" alt=""></td>';
    						echo '<td width="10"><img src="include/images/vote/voteRight.jpg" alt=""></td>';
    						echo '</tr></table>';*/
                echo '<div style="height: 10px; width: ' . $weite .'px; background: #3776a5 url(include/images/vote/voteMitte.png) repeat-y top left;">'.
                     '</div>';
    				    
                echo '<td width="10%">'.$prozent.'%</td>';
    				    echo '<td width="20%" align="right">'.$pollRow->res.'</td></tr>';
    				} else {
                $i++;
    			      echo '<input type="radio" id="vote'.$i.'" name="radio" value="'.$pollRow->sort.'"><label for="vote'.$i.'"> '.$pollRow->antw.'</label><br>';
    		    }
    		} 
    		if ( $imPollArrayDrin ) {
    			  echo '<tr><td colspan="4" align="right">'.$lang['whole'].': &nbsp; '.$ges.'</td></tr>';
    			  echo '<tr><td colspan="4" align="justify">'.$info.'</td></tr></table>';
    		} else {
    		    echo '<p align="center"><input type="submit" value="'.$lang['formsub'].'"></p></form>';
    		}
    		
        echo '</td></tr>';
    		
    } // end while
    
    echo '<tr><td class="Cdark" align="center">'. $MPL .'</td></tr></table>';
    $design->footer();
    
    ?>
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    MagistYata Mitglied
    Registriert seit
    22.12.2007
    Beiträge
    861
    Beitragswertungen
    6 Beitragspunkte
    Hallo Lord,
    ist zwar schon ein uralter Post, aber wäre es möglich anzeigen zu lassen, wie oft ein User an einer Umfrage teilgenommen hat?
    Streß ist Lebensdiebstahl
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten