major db queries

This commit is contained in:
Nael 2014-02-13 01:45:56 +01:00
parent 8059716e46
commit e52abd4988
9 changed files with 61 additions and 30 deletions

View File

@ -75,16 +75,7 @@ class votes {
}
public static function get_barsperparty($poll_ID){
$con = new \SYSTEM\DB\Connection(new \DBD\uVote());
$pbpp = array();
$part = $con->prepare( 'selVoteByPoll_ID',
'SELECT * FROM `uvote_votes_per_party` WHERE `poll_ID` = ?;',
array($poll_ID));
while ($result = $part->next()){
$pbpp[] = $result;}
return $pbpp;
}
return \DBD\UVOTE_DATA_PARTY_PER_POLL::QA(array($poll_ID));}
public static function write_vote($poll_ID, $vote){
if(!\SYSTEM\SECURITY\Security::isLoggedIn()){
@ -99,7 +90,7 @@ class votes {
$res = $con->prepare( 'insertVote',
'REPLACE uvote_data
VALUES (?, ?, ?, 0);',
VALUES (?, ?, ?, 0, NOW());',
array($poll_ID, \SYSTEM\SECURITY\Security::getUser()->id, $vote));
return JsonResult::ok();
}

View File

@ -11,6 +11,6 @@ class UVOTE_DATA_BT_PER_POLL extends \SYSTEM\DB\QP {
sum(votes_pro) as bt_pro,
sum(votes_contra) as bt_con,
sum(nr_attending) as bt_attending,
sum(total) as bt_total
sum(total) as bt_total
FROM uvote_votes_per_party WHERE poll_ID = ?;'
);}}

View File

@ -0,0 +1,11 @@
<?php
namespace DBD;
class UVOTE_DATA_PARTY_PER_POLL extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT * FROM `uvote_votes_per_party` WHERE `poll_ID` = ?;'
);}}

View File

@ -0,0 +1,15 @@
<?php
namespace DBD;
class UVOTE_DATA_USER_PER_PARTY_OVERALL extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT sum(case when uvote_data.choice = uvote_votes_per_party.choice then 1 else 0 end) class_MATCH,
sum(case when uvote_data.choice != uvote_votes_per_party.choice then 1 else 0 end) class_MISSMATCH
FROM uvote_data LEFT JOIN uvote_votes_per_party
ON uvote_data.poll_ID = uvote_votes_per_party.poll_ID
WHERE user_ID = ? AND party = ?;'
);}}

View File

@ -0,0 +1,15 @@
<?php
namespace DBD;
class UVOTE_DATA_USER_TO_PARTY_OVERALL extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'',
//mys
'SELECT sum(case when uvote_data.choice = uvote_votes_per_party.choice then 1 else 0 end) class_MATCH,
sum(case when uvote_data.choice != uvote_votes_per_party.choice then 1 else 0 end) class_MISSMATCH
FROM uvote_data LEFT JOIN uvote_votes_per_party
ON uvote_data.poll_ID = uvote_votes_per_party.poll_ID
WHERE party = ?;'
);}}

View File

@ -1,21 +1,20 @@
<script language="JavaScript" src="/default_bulletin/js/vote.js">
</script>
<div style="margin-right: 10px;">
<img src="${frontend_logos}logo2.png" style="float: right" width="200px"/>
${vote_buttons}
</div>
<br>
<div>
<div>
${bars_user}
</div>
<div>
<h4>Ergebnis Bundestag</h4>
${bars_bt}
</div>
<div style="margin-right: 10px;">
<img src="${frontend_logos}logo2.png" style="float: left; margin-right: 70px;" width="200px"/>
${vote_buttons}
</div>
<br>
<br>
<div>
<h4>Ergebnis der Fraktionen</h4>
${bars_party}
</div>
<div style="clear: both"></div>
<div>
${bars_bt}
</div>

View File

@ -53,8 +53,8 @@ class default_bulletin extends SYSTEM\PAGE\Page {
$poll_data[] = DBD\UVOTE_DATA_CHOICE_OVERALL::Q1(array(2));
$poll_data[] = DBD\UVOTE_DATA_CHOICE_OVERALL::Q1(array(3));
$vars = array();
$vars['bars_party'] = $this->bars_party();
$vars['bars_user'] = $poll_expired ? '' : $this->bars_user();
$vars['bars_party'] = $poll_expired ? '' : $this->bars_party();
$vars['bars_user'] = $this->bars_user();
$vars['bars_bt'] = $this->bars_bt();
$vars['js'] = $this->js();
$vars['css'] = $this->css();

View File

@ -1,6 +1,5 @@
<div style="margin-right: 10px;">
<h4>Ergebnis Bundestag</h4>
<div class="progress" style="width: 150px; height: 20px;">
<div style="margin-right: 10px;">
<div class="progress" style="height: 20px;">
<div class="bar bar-success" style="width: ${bt_pro}%;"></div>
<div class="bar bar-danger" style="width: ${bt_con}%;"></div>
<div class="bar bar-info" style="width: ${bt_ent}%;"><p></p></div>

View File

@ -5,4 +5,5 @@ ${party}
<div class="bar bar-danger" style="width: ${party_no}%;"></div>
<div class="bar bar-info" style="width: ${party_ent}%;"><p></p></div>
</div>
${choice}
</div>