Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 2
Seite [1]
Koffein


Going for pro




Beiträge: 536
# Thema - 17.09.2011 um 14:11 Uhr
Hallo, ich nutzte das Trainingsmodul und habe aktuell ein paar Probleme mit der Abfrage, ob es es neue Mitglieder im Squad gibt. Das Modul überprüft alle X Stunden, ob es in dem Squad für das es Trainingseinheiten gibt neue Mitglieder gibt, damit diese zum Training hinzugefügt werden.
Diese Funktion geht im Moment nicht mehr bei mir, stattdessen erhalte ich folgende Fehlermeldung:

Fehlermeldung zeigen +-
 
1.
1. / 2. / ... 
 cs_sql_insert You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near '0,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,27,28,29,' at line 1 --QueryINSERT INTO cs_trainstats (0,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,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,train_id,users_id,users_status,users_infoVALUES ('Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','Array','277','53','','')

Datei Name: /mods/training/autostart.php
Verursacht in: params=/users/home


Ich gehe davon aus, dass es irgendwas mit meiner veränderten users_home.php zu tun hat, weil meines Wissens vorher diese Funktion geklappt hat. Hab die Users_home so abgeändert das man sich schon unter /users/home an/-abmelden kann.

Gibt es eine Möglichkeit die Abfrage, ob es ein neues Mitglied gibt auch manuell auszuführen? Sprich ich will mir irgendwo einen neuen Link einbauen und anschließend wird geprüft ob es neue Mitglieder gibt und wenn werden sie zu den Trainingseinheiten erstezt. Ich möchte also die variablen Stunden durch ein Interface ersetzten....

Hier mal die Dateien (musste sie aufgrund der Länge auslagern)
users_home.php
autostart.php
Inaktiv
Koffein
Thread-Ersteller


Going for pro




Beiträge: 536
# Antwort: 1 - 21.09.2011 um 17:32 Uhr
Hat jemand eine Idee wie ich die Abfrage manuell starten kann?


Inaktiv
|
Koffein
Thread-Ersteller


Going for pro




Beiträge: 536
# Antwort: 2 - 10.10.2011 um 15:07 Uhr
!bump,
hab leider immer noch keine Lösung gefunden wie ich die Abfrage manuell starten kann.




Abfrage wie viele angemeldet, abgemeldet, etc.. sind...

Ich würde gerne im Kopfbereich eine Zeile einfügen mit folgendem Inhalt:
Zusagen: X - Absagen: X - Verspätungen: X - Ohne: X
Die X' sollen natürlich durch die jeweilige Anzahl der User ersetzt werden, ich hab leider keine Ahnung wie ich das erstellen kann. Hier mal die dazugehörige Datei in der ich das ganze umsetzen möchte:
mehr... +-
 
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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
1. / 2. / ... 
<?php

$cs_lang 
cs_translate('training');

/* trains trains_id = trainstats train_id */
$trains_id $_GET['id'];
$userid $account['users_id'];
$data['pictures']['show'] = '';

    
/* Options laden. Wieviel Coins gibts für ?? */
    
$cs_trainopts cs_sql_option(__FILE__,'trainsopts');
    
$data['coins']['green'] = $cs_trainopts['trainsopts_green'];
    
$data['coins']['grey'] = $cs_trainopts['trainsopts_grey'];
    
$data['coins']['red'] = $cs_trainopts['trainsopts_red'];
    
$data['coins']['fail'] = $cs_trainopts['trainsopts_fail'];

    
/* 1 x komplette Trainingsdaten zur übermittelten trains_id abfragen */
    
$select  'trs.squads_id AS squads_id, trs.trains_typ AS trains_typ, trs.trains_address AS trains_address, sqd.squads_name AS squads_name,';     
    
$select .= 'trs.trains_time AS trains_time, trs.trains_info AS trains_info, trs.trains_pictures AS trains_pictures,';
    
$select .= 'trs.trains_play AS trains_play, trs.trains_vote AS trains_vote, trs.trains_avt AS trains_avt, trs.trains_pw AS trains_pw';
    
$from 'trains trs INNER JOIN {pre}_squads sqd ON trs.squads_id = sqd.squads_id';
    
$where 'trains_id = ' $trains_id;
    
$cs_trainentry cs_sql_select(__FILE__,$from,$select,$where,0,0,1);

    
/* Spielzeiten errechnen und Daten zuweisen */
    
$calca $cs_trainentry['trains_time']; 
    
$calcb $cs_trainentry['trains_play'] * 60;
    
$calc $calca $calcb;
    
$calcb $cs_trainopts['trainsopts_endtime'] * 60;
    
$cald $calca $calcb;
    
    
/* Betrugsschutz $userid & $time */
    
$select 'members_id';
    
$where  "users_id = '" $userid "'";
    
$where .= "AND squads_id = '" $cs_trainentry['squads_id'] . "'";
    
$cs_security cs_sql_select(__FILE__,'members',$select,$where,0,0,1);
    
$akttime cs_time();
    IF ((
$akttime $cald) OR (empty($cs_security['members_id']))) {
    
cs_redirect($cs_lang['direct'],'training','view');
    } else {
    
    
$data ['train']['playend'] = cs_date('unix',$calc,1);
    
$data ['train']['endtime'] = cs_date('unix',$cald,1);
    
$data ['train']['playtime'] = $cs_trainentry['trains_play'];
    
$data ['train']['votetime'] =  $cs_trainentry['trains_vote'];
    
$data ['train']['back'] = $cs_trainentry['squads_id'];
    
$data ['train']['typ'] = $cs_trainentry['trains_typ'];
    
$data ['train']['ip'] = $cs_trainentry['trains_address']; 
    
$data ['train']['time'] = cs_date('unix',$cs_trainentry['trains_time'],1);
    
$data ['train']['info'] = $cs_trainentry['trains_info'];
    
$data ['train']['pass'] = $cs_trainentry['trains_pw'];
    
$data ['train']['squad'] = $cs_trainentry['squads_name'];
    
    
    
/* Votetime abgeschaltet? */
    
$data['if']['vote_on'] = true;
    
$data['if']['vote_off'] = false;
    if(
$cs_trainentry['trains_vote'] < 1) {
    
$data['if']['vote_on'] = false;
    
$data['if']['vote_off'] = true;
    }
    
    
/* Wer hat sich in das Train eingetragen? */
    
$select  'trst.trainstats_id AS trainstats_id, trst.users_id AS users_id, trst.users_status AS users_status,';
    
$select .= 'trf.train_yes AS train_yes, trf.train_perhaps AS train_perhaps, trf.train_no AS train_no, trf.train_fail AS train_fail, trf.train_fame AS train_fame,';
    
$select .= 'usr.users_nick AS users_nick, usr.users_name AS users_name, usr.users_surname AS users_surname, usr.users_postalcode AS users_postalcode, usr.users_place AS users_place';
    
$from  'trainstats trst INNER JOIN {pre}_trainsfame trf ON trst.users_id = trf.users_id INNER JOIN {pre}_users usr ON trf.users_id = usr.users_id';
    
$where 'trst.train_id = ' $trains_id;
    
$order 'trf.train_fame DESC';
    
$cs_user cs_sql_select(__FILE__,$from,$select,$where,$order,0,0);
    
$cnt_user count($cs_user);
    
        FOR (
$run=0$run $cnt_user$run++) {
        
/* Max. eraubte Trainverspätungen und Absagen berechnen */        
        
$calc_grey = ($cs_user[$run]['train_yes'] * $cs_trainopts['trainsopts_maxgrey']) / 100
        
$calc_grey floor($calc_grey);
        
$calc_red = ($cs_user[$run]['train_yes'] * $cs_trainopts['trainsopts_maxred']) / 100;
        
$calc_red floor($calc_red);
                
        
$data['user'][$run]['if']['img_alert'] = false;
        
$data['user'][$run]['if']['img_submit'] = false;
        
$data['user'][$run]['if']['img_clock'] = false;
        
$data['user'][$run]['if']['img_cancel'] = false;
        
$data['user'][$run]['if']['user_submit'] = false;
        
$data['user'][$run]['if']['user_clock'] = false;
        
$data['user'][$run]['if']['user_cancel'] = false;
        
            
/* Training wurde nicht gesetzt Part1 (Status) */
            
if(empty($cs_user[$run]['users_status'])) {
            
$add['u'] = 0;
            
$add['r'] = 0;
            
$add['a'] = 0;
            
$data['user'][$run]['if']['img_alert'] = true;
                
/* Training noch nicht gesetzt Part2 (Berechtigt zu wählen?)*/
                
if($cs_user[$run]['users_id'] == $userid){
                
$data['user'][$run]['if']['user_submit'] = true;
                
$data['user'][$run]['if']['user_clock'] = true;
                
$data['user'][$run]['if']['user_cancel'] = true;
                }
            
            } else {

                
/* Trainzusage Sicher Part1 (Status) */
                
if($cs_user[$run]['users_status'] == 'traingreen') {
                
$add['u'] = 1;
                
$add['r'] = 0;
                
$add['a'] = 0;
                
$data['user'][$run]['if']['img_submit'] = true;
                    
/* Trainzusage Sicher Part2 (Berechtigt zu wählen?) */
                    
if($cs_user[$run]['users_id'] == $userid){
                    
$data['user'][$run]['if']['user_clock'] = true;
                    
$data['user'][$run]['if']['user_cancel'] = true;
                    }
                }
                            
                
/* Trainzusage Später Part1 (Status) */
                
if($cs_user[$run]['users_status'] == 'traingrey') {
                
$add['u'] = 0;
                
$add['r'] = 1;
                
$add['a'] = 0;
                
$data['user'][$run]['if']['img_clock'] = true;
                    
/* Trainzusage Später Part2 (Berechtigt zu wählen?) */
                    
if($cs_user[$run]['users_id'] == $userid){
                    
$data['user'][$run]['if']['user_submit'] = true;
                    
$data['user'][$run]['if']['user_cancel'] = true;
                    }
                }
                    
                
/* Trainabsage Part1 (Status) */
                
if($cs_user[$run]['users_status'] == 'trainred') {
                
$add['u'] = 0;
                
$add['r'] = 0;
                
$add['a'] = 1;
                
$data['user'][$run]['if']['img_cancel'] = true;
                    
/* Trainabsage Part2 (Berechtigt zu wählen?) */
                    
if($cs_user[$run]['users_id'] == $userid){
                    
$data['user'][$run]['if']['user_clock'] = true;
                    
$data['user'][$run]['if']['user_submit'] = true;
                    }
                }            
            }

        
/* Daten zuweisen */
        
$data['user'][$run]['maxr'] = $calc_grey;
        
$data['user'][$run]['maxa'] = $calc_red;
        
$data['user'][$run]['pain'] = $cs_trainopts['trainsopts_pain'];
        
$data['user'][$run]['nickname'] = $cs_user[$run]['users_nick'];
        
$data['user'][$run]['name'] = $cs_user[$run]['users_name'];
        
$data['user'][$run]['zuname'] = $cs_user[$run]['users_surname'];
        
$data['user'][$run]['plz'] = $cs_user[$run]['users_postalcode'];
        
$data['user'][$run]['ort'] = $cs_user[$run]['users_place']; 
        
$data['user'][$run]['u'] = $cs_user[$run]['train_yes'] + $add['u'];
        
$data['user'][$run]['r'] = $cs_user[$run]['train_perhaps'] + $add['r'];
        
$data['user'][$run]['a'] = $cs_user[$run]['train_no'] + $add['a'];
        
$data['user'][$run]['trainstats_id'] = $cs_user[$run]['trainstats_id'];
        
$data['user'][$run]['trains_id'] = $trains_id;
        }

    
/* Nächstes und Voriges Train ermitteln */
    /* Aktuelle Zeit - Ende Trainanmeldung */
    
$cala cs_time();
    
$fakttime = ($cala + ($cs_trainopts['trainsopts_endtime']*60));
    
$doctime $cs_trainentry['trains_time'];
    
$back 0;
    
$forwards 0;
    
$data['if']['forwards'] = false;
    
$data['if']['back'] = false;    
        
    
/* Training davor und danach ermitteln? */
    
$select  'trs.trains_id AS trains_id, trs.trains_time AS trains_time, trst.trainstats_id AS trainstats_id, trst.users_status AS users_status';
    
$from 'members mem INNER JOIN {pre}_squads sqd ON mem.squads_id = sqd.squads_id 
    INNER JOIN {pre}_trains trs ON mem.squads_id = trs.squads_id 
    INNER JOIN {pre}_trainstats trst ON trs.trains_id = trst.train_id'
;
    
$where  "mem.users_id = '" $userid "'";
    
$where .= "AND trs.trains_time > '" $fakttime "'";
    
$where .= "AND trst.users_id = '" $userid "'";
    
$order 'trs.trains_time ASC';
    
$cs_suche cs_sql_select(__FILE__,$from,$select,$where,$order,0,0);
    
$cnt_suche count($cs_suche);
    
    FOR (
$run=0$run $cnt_suche$run++){
        IF (
$cs_suche[$run]['trains_time'] == $doctime){
        
$back $run 1;
        
$forwards $run 1;
        }
    }
    
    IF (
$back > -1){
    
$data['if']['back'] = true;
    
$data['back']['id'] = $cs_suche[$back]['trains_id'];
    }
    IF (
$forwards $cnt_suche AND $forwards 0){
    
$data['if']['forwards'] = true;
    
$data['forwards']['id'] = $cs_suche[$forwards]['trains_id'];
    }
    
echo 
cs_subtemplate(__FILE__,$data,'training','update');
}
?>


Es sind im Grunde genommen ja 4 Abfragen. Bei wie vielen Usern ist der...
1) "users_status" = "traingreen"
2) "users_status" = "trainred"
3) "users_status" = "traingrey"
4) "users_status" = ""

Kann mir jemand verraten wie ich die 4 Abfragen schreibe?


Inaktiv
|
Antworten: 2
Seite [1]


Sie müssen sich registrieren, um zu antworten.