Die letzten gewählten Antworten von Umfragen anzeigen lassen


Der Artikel besteht aus 692 Wörtern. Geschätzte Lesezeit: 02:46 Minuten

wordpress-Bildschirm

3c0c44f10777313b2bcc1ff49738e044000

So schaut der Code aus, den ich in diesem Artikel veröffentlicht habe.

Nutzt man in seinem Blog WP-Polls, um damit Umfragen zu den verschiedensten Artikeln durchzuführen, kann man mit diesem Code Angaben zu den Umfragen anzeigen lassen, bei denen zuletzt eine Antwort gewählt wurde.

Nun habe ich diesen Code noch um ein paar Angaben erweitert. Zudem wurde er - dank der Hilfe des Forums von Seitenreport.de - noch ein wenig zusammengedampft. Denn die Jungs halfen mir bei einem Problem, das ich auch aufgrund meiner geringen PHP-Kenntnisse nicht gelöst bekam!

Denn ich hatte mir in den Kopf gesetzt, zu den jeweiligen Ausgaben noch angeben zu lassen, wieviele Leute für die zuletzt gewählte Antwort auch schon gevotet haben.

Leider aber gibt es diesbezüglich aber ja sowetwas wie Singular und Plural, also Ein- und Mehrzahl! Und das war es, was ich nicht auf die Reihe bekam! Bei mir hieß es - egal ob nur 1 Person schon die gleiche Antwort gewählt hatte oder ob es 3, 4 oder noch mehr Besucher waren:

x Besucher stimmte auch so ab

oder es hieß

x Besucher stimmten auch so ab!

Aber es muss ja variieren:

Denn bei 1 weiterem Besucher müsste die erste Version ausgegeben werden, bei 2 oder mehr Leuten die für die gleiche Antwort abgestimmt haben kommt die 2. Version zur Ausgabe!

Und nachdem ich das mit Hilfe des Forums nun geregelt bekommen habe, möchte ich Euch den veränderten Code nicht vorenthalten.

Er sieht so aus:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function umfrage() {
	global $wpdb;	
	$upd_query = "SELECT FROM_UNIXTIME(pollip_timestamp,'%d.%m.%Y um %H:%i:%s') AS polliptime_ger, pollip_aid, polla_aid, polla_answers, polla_votes, pollq_active, pollq_question,pollip_qid, pollip_timestamp FROM $wpdb->pollsip 
		INNER JOIN $wpdb->pollsq AS pq ON $wpdb->pollsip.pollip_qid = pq.pollq_id
		INNER JOIN $wpdb->pollsa AS pa ON $wpdb->pollsip.pollip_aid = pa.polla_aid
		WHERE pollq_active = '1'
		ORDER BY pollip_timestamp DESC
		LIMIT 3";	
	$upd_result = $wpdb->get_results($upd_query);
	if ( empty($upd_result) ) {
	echo '<h4 class="sidebar-title">Zur Zeit keine Umfrage aktiv</h4>';
	}
	foreach ($upd_result as $updat) {
		$cntVotedUser  = $updat->polla_votes - 1;
		$personsString = ($cntVotedUser == 1) ? ' weiterer Besucher stimmte' : ' weitere Besucher stimmten';
	echo '<div class="umfrage">';
	echo '<h5>'.$updat->pollq_question.'</h5><small>abgestimmt am: '.$updat->polliptime_ger.'<br />Letzte gewählte Antwort:<br />'.$updat->polla_answers.'</small>';
	if ($updat->polla_votes == 1) {
	echo ('<small><br />Erste Stimme für diese Antwort</small>');
	}
	elseif ($updat->polla_votes > 1) {
	echo '<small><br />'. $cntVotedUser . $personsString .' auch so ab</small>';
	}
	echo '</div><br />';
	}
}

Entscheidend für die korrekte Ausgabe entweder von Einzahl oder Mehrzahl sind hierbei die Zeilen 14 und 15. Die Angabe -1 am Ende von Zeile 14 sorgt noch dafür, das von den gesamten Stimmen für die zuletzt gewählte Antwort eine Stimme abgezogen wird. Das verhindert, das die gesamte Anzahl der für eine Antwort abgegebenen Stimmen angezeigt wird!

Wollt ihr also - so wie ich - ausgeben, wie viele Besucher ebenfalls die gleiche Antwort gewählt haben, lasst ihr den Code wie er ist. Wollt ihr hingegen ausgeben, wieviele Besucher nun inklusive der letzten Antwort selbige gewählt haben, müsstet ihr das -1 also weglassen!

In sofern ist der Code nun wie ich ihn gerne haben wollte.

Einziges Problem weiterhin ist nur der Timestamp, der 2 Stunden in der Zukunft liegt! Falls da jemand eine Lösung hat: Nur her damit!

Über Marcus 697 Artikel
Ich freue mich über Deinen Besuch auf meinem Blog! Wenn Dir der Artikel gefallen hat, teile ihn doch mit anderen und hinterlasse Deine Meinung. Mehr über mich gibt es hier zu lesen

Hinterlasse jetzt einen Kommentar

Kommentar hinterlassen

E-Mail Adresse wird nicht veröffentlicht.


*


CommentLuv - verlinke einen deiner Blog-Artikel