CLM Logo

Idee Internes Turnier starten

  • petesky
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
15 Jahre 8 Monate her - 15 Jahre 7 Monate her #258 von petesky
Internes Turnier starten wurde erstellt von petesky
Nachdem ich nun alles beisammen habe wollte ich ein internes Schachturnier starten. Allerdings schaffe ich es nicht, das Turnier mit Spielern aus meinen Mannschaften zu füllen da er wohl immer nur die dwz_spieler statt der clm_dwz_spieler aufruft.

Wie kann ich ein simples Turnier starten wo nur Spieler aus meiner Schule und nur aus 1 Verein gegeneinander spielen ?
Letzte Änderung: 15 Jahre 7 Monate her von TSchwietert.

Bitte Anmelden um der Konversation beizutreten.

Mehr
15 Jahre 8 Monate her #288 von TSchwietert
Ich habe den Post erst jetzt gesehen, daher dauerte es mit der Antowrt etwas länger, sorry.

Ich prüfe welche der beiden Tabellen verwendet wird, da ich es ehrlich gesagt nicht mehr weiß. Sobald ich das geklärt habe melde ich mich hier.

Bitte Anmelden um der Konversation beizutreten.

  • petesky
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
15 Jahre 7 Monate her #310 von petesky
petesky antwortete auf Aw: Internes Turnier starten
Hallo !

Hatte zufälligerweise jemand Zeit sich das anzusehen :-) Danke

Bitte Anmelden um der Konversation beizutreten.

Mehr
15 Jahre 7 Monate her #312 von TSchwietert
Hi,
Du bist leider von mir vergessen worden. Ich kümmere mich heute oder morgen um die Klärung des Problems.

Grüße
Thomas

Bitte Anmelden um der Konversation beizutreten.

Mehr
15 Jahre 7 Monate her #317 von TSchwietert
Du hast mit deiner Vermutung das nur auf die dwz_spieler zurückgegriffen wird recht !

Im Prinzip ist das auch gut so, denn man hat bei "normalen" Turnieren immer mal jemanden dabei der nicht aus dem eigenen Bezirk stammt und sonst mühsam nachgemeldet werden müßte.

Leider habe ich noch keine zündende Idee wie ich das Problem löse und muß dich daher noch ein paar Tage vertrösten. Ich bin und bleibe aber dran !

Bitte Anmelden um der Konversation beizutreten.

Mehr
15 Jahre 7 Monate her - 15 Jahre 7 Monate her #324 von TSchwietert
Ich hab es ! War gar nicht so einfach weil alle SQL Querys des Edit Controllers neu gebaut werden mußten.

Die Funktion hänge ich unten an, ersetze damit die gleiche in der Datei

/PFAD_ZU_JOOMLA/administrator/components/com_clm/controllers/turnier_teilnehmer.php

Ein kurzes Feedback wäre auch ganz nett !

function edit()
{
global $mainframe, $option;
$section = JRequest::getVar('section');
$db =& JFactory::getDBO();

$filter_gid = $mainframe->getUserStateFromRequest( "$option.filter_gid",'filter_gid',0,'int' );
$filter_order = $mainframe->getUserStateFromRequest( "$option.filter_order",'filter_order','a.id', 'cmd' );
$filter_order_Dir = $mainframe->getUserStateFromRequest( "$option.filter_order_Dir",'filter_order_Dir','','word' );
$filter_verband = $mainframe->getUserStateFromRequest( "$option.filter_verband",'filter_verband',0,'int' );
$filter_turnier = $mainframe->getUserStateFromRequest( "$option.filter_turnier",'filter_turnier',0,'int' );
$filter_vid = $mainframe->getUserStateFromRequest( "$option.filter_vid",'filter_vid',0,'int' );
$search = $mainframe->getUserStateFromRequest( "$option.search",'search','','string' );
$search = JString::strtolower( $search );
$limit = $mainframe->getUserStateFromRequest( 'global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int' );
$limitstart = $mainframe->getUserStateFromRequest( $option.'.limitstart', 'limitstart', 0, 'int' );

$where = array();
$orderby = "";

// Wenn Ergebnisse gemeldet kein nachträgliches Melden erlauben
$sql =" SELECT COUNT(id) as id FROM `#__clm_turniere_rnd_spl` "
." WHERE turnier =".$filter_turnier
." AND ergebnis IS NOT NULL"
;
$db->setQuery( $sql);
$counter_erg = $db->loadObjectList();
$count = $counter_erg[0]->id;

if ($count > 0 ) {
JError::raiseWarning( 500, JText::_( 'Es wurden Ergebnisse gemeldet : Kein hinzufügen von Spielern mehr möglich !' ) );
$link = 'index.php?option='.$option.'&section='.$section;
$mainframe->redirect( $link);
}

if ( $filter_verband ) {
if ( (int)$filter_verband ==700 ) {
$og = '79999';
$ug = (int) $filter_verband.'00';
}
else {
$og = (int) $filter_verband.'99';
$ug = (int) $filter_verband.'00';
}
$where[] = " a.ZPS BETWEEN '$ug' AND '$og'";
}
if ( $filter_vid ) { $where[] = "a.zps = '$filter_vid'"; }
if ($search) { $where[] = 'LOWER(a.Spielername) LIKE '.$db->Quote( '%'.$db->getEscaped( $search, true ).'%', false ); }

$where = ( count( $where ) ? ' ' . implode( ' AND ', $where ) : '' );
$where_sel = 'WHERE '.$where;
$where_union = ' AND '.$where;

if ($filter_order =='a.Spielername' OR $filter_order == 'a.DWZ' OR $filter_order == 'a.Mgl_nr' OR $filter_order == 'a.FIDE_Elo' OR $filter_order == 'v.Vereinname' OR $filter_order == 't.snr' OR $filter_order == 'a.FIDE_Titel') {
$orderby = ' ORDER BY '. $filter_order .' '. $filter_order_Dir ;
}
else { $filter_order = 'a.DWZ'; }

// get the total number of records
$query = '( SELECT COUNT(ZPS) '
. ' FROM dwz_spieler AS a '
. " $where_sel ) "
. ' UNION '
. '( SELECT COUNT(ZPS) '
. ' FROM #__clm_dwz_spieler AS a '
. " WHERE STATUS ='N' $where_union ) "
;
$db->setQuery( $query );
$total = $db->loadResult();

jimport('joomla.html.pagination');
$pageNav = new JPagination( $total, $limitstart, $limit );

// get the subset (based on limits) of required records
$query = '( SELECT v.Vereinname,t.turnier,t.snr,n.name as tname,a.Mgl_Nr, a.Status,a.Spielername,a.DWZ'
. ' FROM dwz_spieler AS a'
. ' LEFT JOIN #__clm_turniere_tlnr AS t ON t.zps = a.ZPS AND t.mgl_nr = a.Mgl_Nr AND t.turnier ='.(int)$filter_turnier
. ' LEFT JOIN #__clm_turniere AS n ON n.id = t.turnier AND n.sid = t.sid '
. ' LEFT JOIN dwz_vereine AS v ON v.ZPS = a.ZPS '
. " $where_sel $orderby) "
. ' UNION '
. '( SELECT v.Vereinname,t.turnier,t.snr,n.name as tname,a.Mgl_Nr, a.Status,a.Spielername,a.DWZ'
. ' FROM #__clm_dwz_spieler AS a'
. ' LEFT JOIN #__clm_turniere_tlnr AS t ON t.zps = a.ZPS AND t.mgl_nr = a.Mgl_Nr AND t.turnier ='.(int)$filter_turnier
. ' LEFT JOIN #__clm_turniere AS n ON n.id = t.turnier AND n.sid = t.sid '
. ' LEFT JOIN dwz_vereine AS v ON v.ZPS = a.ZPS '
. " WHERE a.STATUS ='N' $where_union $orderby) "
;
$db->setQuery( $query, $pageNav->limitstart, $pageNav->limit );

$rows = $db->loadObjectList();
if ($db->getErrorNum()) {
echo $db->stderr();
return false;
}
// Verbandfilter
$sql = 'SELECT Verband, Verbandname FROM dwz_verbaende';
$db->setQuery($sql);
$verbandlist[] = JHTML::_('select.option', '0', JText::_( '- Verband wählen -' ), 'Verband', 'Verbandname' );
$verbandlist = array_merge( $verbandlist, $db->loadObjectList() );
$lists = JHTML::_('select.genericlist', $verbandlist, 'filter_verband', 'class="inputbox" size="1" onchange="document.adminForm.submit();"','Verband', 'Verbandname', intval( $filter_verband ) );
// Vereinefilter
$sql = 'SELECT ZPS as zps, Vereinname as name FROM dwz_vereine ';
if ( $filter_verband ) { $sql = $sql." WHERE ZPS BETWEEN '$ug' AND '$og'"; }
$db->setQuery($sql);
$vlist[] = JHTML::_('select.option', '0', JText::_( '- Verein wählen -' ), 'zps', 'name' );
$vlist = array_merge( $vlist, $db->loadObjectList() );
$lists = JHTML::_('select.genericlist', $vlist, 'filter_vid', 'class="inputbox" size="1" onchange="document.adminForm.submit();"','zps', 'name', $filter_vid );
// Suchefilter
$lists= $search;
// Ordering
$lists = $filter_order_Dir;
$lists = $filter_order;

require_once(JPATH_COMPONENT.DS.'views'.DS.'turnier_teilnehmer.php');
CLMViewTurnierteilnehmer::Teilnehmer_add( $rows, $lists, $pageNav, $option, $filter_turnier );
}

Letzte Änderung: 15 Jahre 7 Monate her von TSchwietert.

Bitte Anmelden um der Konversation beizutreten.

  • Nicht erlaubt Themen erstellen
  • Nicht erlaubt antworten
  • Nicht erlaubt Beitrag bearbeiten
Ladezeit der Seite: 0.088 Sekunden
Powered by Kunena Forum