Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 8
Seite [1]
aschti


Poststar





Beiträge: 778
# Thema - 13.05.2010 um 15:19 Uhr
hi @ all,

ich steh schon seit wochen mit einer datei auf kriegsfuß vllt. hat jemand einen tipp für mich;

1.)
es soll nach senden der daten ein wert aus der sql um eins erhöht werden.
habe es versucht mit :
 
1.
2.
1. / 2. / ... 
 $add_point cs_secure($cs_gameranks['gameranks_addpoints']);
$cs_gameranks['gameranks_addpoints'] = $add_point++;


klappt allerdings nicht - andere varianten mit +1 frisst er komischer weise auch nicht.

2.)
hier wird ja die sql aus den vorhandenen daten aktualisiert, ich will dem ding aber beibringen - Vorhandener Wert + Neuer Wert / 2 & runden auf null komma stellen.
weiss aber nicht wie ich es setzten muss.

derzeit vorhandener Code;
 
1.
2.
3.
1. / 2. / ... 
 $gameranks_cells array_keys($cs_gameranks);
$gameranks_save array_values($cs_gameranks);
cs_sql_update(__FILE__,'gameranks',$gameranks_cells,$gameranks_save,$gameranks_id);


3.)

wie kann ich bei diesen code-auszug, nach den points absteigend sotieren lassen ?
denn es wird ja erst errechnet und ist nciht in der sql vorhanden.

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
1. / 2. / ... 
 $place_start =1;
if(!empty(
$cs_gameranks)) {
for(
$run=0$run<count($cs_gameranks); $run++){

  
$data['com'][$run]['url_view'] = cs_url('gameranks','view','id=' $cs_gameranks[$run]['gameranks_id']);

  
$data['com'][$run]['name'] = cs_secure($cs_gameranks[$run]['gameranks_name']);
  
$data['com'][$run]['genre'] = cs_secure($cs_gameranks[$run]['gameranks_genre']);
  
$data['com'][$run]['manufacturer'] = cs_secure($cs_gameranks[$run]['gameranks_manufacturer']);
  
  
$data['com'][$run]['points'] = cs_secure($cs_gameranks[$run]['gameranks_graphics']+$cs_gameranks[$run]['gameranks_gameplay']+$cs_gameranks[$run]['gameranks_interfaces']+$cs_gameranks[$run]['gameranks_community']+$cs_gameranks[$run]['gameranks_onlinemodus']+$cs_gameranks[$run]['gameranks_singlemodus']+$cs_gameranks[$run]['gameranks_networks']);

  
$data['com'][$run]['user'] = cs_user($cs_gameranks[$run]['users_id'],$cs_gameranks[$run]['users_nick'], $cs_gameranks[$run]['users_active'], $cs_gameranks[$run]['users_delete']);

  
$data['com'][$run]['place'] = $place_start++;

}
}


bin dankbar für jeden tipp & rat.

gruß aschti


------------------
p.s. die oben zufindenen Rechtschreibfehler sind eine gratis beigabe ^^

www.DemolitionGroup.de
It's Time to Fight - Play Hard & Fair !
Inaktiv
Spongebob


King for a day




Herkunft: Kassel
Beiträge: 277
# Antwort: 1 - 14.05.2010 um 19:42 Uhr
1.

 
1.
2.
1. / 2. / ... 
  $add_point = (int) cs_secure($cs_gameranks['gameranks_addpoints']);
$cs_gameranks['gameranks_addpoints'] = ++$add_point;





------------------
ClanSphere developer - since 2010
we know how to party! - since 2004: www.sternex.de
plentySystems developer - since 2010: www.plentysystems.de

Inaktiv
|
aschti
Thread-Ersteller


Poststar





Beiträge: 778
# Antwort: 2 - 14.05.2010 um 21:51 Uhr
danke spongebob, jedoch zählt er nicht höher als eins ...


------------------
p.s. die oben zufindenen Rechtschreibfehler sind eine gratis beigabe ^^

www.DemolitionGroup.de
It's Time to Fight - Play Hard & Fair !


Inaktiv
|
reVerB


Geekboy




Beiträge: 1237
# Antwort: 3 - 15.05.2010 um 02:06 Uhr
Zu 1.:
Haste mal testweise den Wert von $cs_gameranks['gameranks_addpoints'] mal ausgeben lassen? Ich vermute mal, das da schon das falsche drinne ist. Denn durch den erzwungenen Datentyp wird anscheinend eine Null reingeschrieben. Mal vor und nach dem Secure mal ausgeben und schauen, was raus kommt.

Zu 2.:
Die PHP-Funktion, die du suchst ist round. Der Rest erklärt sich von selbst:
 
1.
2.
3.
1. / 2. / ... 
 $ergebniss $alter_wert $neuer_wert// Addition der Werte
$ergebnis $ergebnis 2// Division des Ergebnisses durch 2
$ergebnis round($ergebnis); // Kaufmännisches Runden des Ergebnisses

Durch das Runden entfällt selbstverständlich eine Typenumwandluch, da die Funktion nur einen Integer zurückwirft.

Zu 3.:
Da Stelle ich erst einmal eine Gegenfrage. Soll der Wert in die Datenbank geschrieben werden (Denke ich mal)?. Wenn ja, würde ich den Wert erst reinschreiben und dann mit den SQL-Funktionen von CSP sortiert direkt gleich abholen.


Zuletzt editiert von reVerB am 15.05.2010 um 02:09 Uhr (3x Editiert)
Inaktiv
|
aschti
Thread-Ersteller


Poststar





Beiträge: 778
# Antwort: 4 - 16.05.2010 um 16:42 Uhr
erstmal danke für die hilfestellung,

zu 1.
in der sql ist derzeit der wert 1, da das zuzählen nciht funzt.
die sql läuft selbst als Typ=varchar / Null=Nein / Standart=1

zu 2.
zwecks der rechnung an sich und auch das round hab ich in google und phpinfo,
nachgelesen. jedoch weiss ich nur nicht wie ich oder wo ich das plazieren muss.
meine addpoints.php ist eine angeänderte edit.php denn es solln derzeitige werte im dropdown angezeigt werden was auch geht anschliesend wenn man diese verändert was auch funzt.

sollte das alt+neu /2 dann runden ergebniss gespeichert werden was nicht funzt weil ich nicht weiss wie ich das da anpacken / einpacken soll .

addpoints.php +-
 
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.
1. / 2. / ... 
<?php

$cs_lang 
cs_translate('gameranks');


$gameranks_id = empty($_GET['id']) ? : (int) $_GET['id'];
if (!empty(
$_POST['id']))  $gameranks_id $_POST['id'];

if(isset(
$_POST['submit'])) {

  
$cs_gameranks['gameranks_graphics'] = $_POST['gameranks_graphics'];
  
$cs_gameranks['gameranks_gameplay'] = $_POST['gameranks_gameplay'];
  
$cs_gameranks['gameranks_interfaces'] = $_POST['gameranks_interfaces'];
  
$cs_gameranks['gameranks_singlemodus'] = $_POST['gameranks_singlemodus'];  
  
$cs_gameranks['gameranks_onlinemodus'] = $_POST['gameranks_onlinemodus'];
  
$cs_gameranks['gameranks_community'] = $_POST['gameranks_community'];
  
$cs_gameranks['gameranks_networks'] = $_POST['gameranks_networks'];
  
  
  
$gesamt_points $_POST['gameranks_graphics']+$_POST['gameranks_gameplay']+$_POST['gameranks_interfaces']+$_POST['gameranks_singlemodus']+$_POST['gameranks_onlinemodus']+$_POST['gameranks_community']+$_POST['gameranks_networks'];
  
$cs_gameranks['gameranks_allpoints'] = $gesamt_points;


$add_point = (int) cs_secure($cs_gameranks['gameranks_addpoints']);
$cs_gameranks['gameranks_addpoints'] = ++$add_point;
  
  
$error '';
  
/*errors derzeit nicht definiert*/

}
else {

  
$cs_gameranks cs_sql_select(__FILE__,'gameranks','*',"gameranks_id = '" $gameranks_id "'");
}
if(!isset(
$_POST['submit'])) {
  
$data['head']['body'] = $cs_lang['points'];
}
elseif(!empty(
$error)) {
  
$data['head']['body'] = $error;
}

if(!empty(
$error) OR !isset($_POST['submit'])) {

  foreach(
$cs_gameranks AS $key => $value)
  
$data['com'][$key] = cs_secure($value);
  
$data['com']['id'] = $gameranks_id;

  include_once (
'mods/gameranks/sel-edit.php');
  
  echo 
cs_subtemplate(__FILE__,$data,'gameranks','addpoints');
}
else {

  
$gameranks_cells array_keys($cs_gameranks);
  
$gameranks_save array_values($cs_gameranks);
  
cs_sql_update(__FILE__,'gameranks',$gameranks_cells,$gameranks_save,$gameranks_id);
  
  
cs_redirect($cs_lang['changes_done'],'gameranks','view','id=' $gameranks_id);



zu 3.
habe es hinbekommen habe in der sql eine allpoints angelegt die sie summe speichert,
nach der konnt ich dann die sotierung steuern.

---

allerdings 1 & 2 bringen mich noch um den vertsand




------------------
p.s. die oben zufindenen Rechtschreibfehler sind eine gratis beigabe ^^

www.DemolitionGroup.de
It's Time to Fight - Play Hard & Fair !


Inaktiv
|
reVerB


Geekboy




Beiträge: 1237
# Antwort: 5 - 16.05.2010 um 17:51 Uhr
Zu 1.:
In der Datenbank steht 1. Aber was steht in der Variable in dem Moment, wenn +1 gezählt wird. Denn wenn 0 drinne steht, ist 0 + 1 immer noch 1 ^^

Zu 2.:
Ok ich glaube jetzt habe ichs kapiert ^^
Du willst also den Standartwert aus der Datenbank nehmen und diesen mit dem selben Wert +1 addieren. Denn im Grunde wird der Wert ja nur mit +1 geändert. Dann würde ich ab Zeile 26 das so einfügen:
 
1.
2.
3.
1. / 2. / ... 
 $add_point += $cs_gameranks['gameranks_addpoints'];
$add_point /= 2;
$erg round($add_point);

Das Ergebnis kannste dann in die Datenbank packen.


Inaktiv
|
aschti
Thread-Ersteller


Poststar





Beiträge: 778
# Antwort: 6 - 16.05.2010 um 18:06 Uhr
hi reVerB,

ich glaub ma sind n bißl durcheinander gekommen.

wie gesagt die sql zum thema $cs_gameranks['gameranks_addpoints'] hat den standart wert 1
und soll immer +1 gerechnet werden wenn das formular abgesendet worden ist wie eine art zähler.

dieses bezieht sich momentan auf zeile - 24 & 25 aus den obigen code.

------

das mit dem alt + neu / 2 & runden betrifft soll die werte aus zeile 11-17 betreffen.

wie z.b. $cs_gameranks['gameranks_graphics'] = $_POST['gameranks_graphics'];
hier soll der alte wert nicht mit dem neuen dann überschrieben werden sondern soll alt + neu / 2 & runden.


------------------
p.s. die oben zufindenen Rechtschreibfehler sind eine gratis beigabe ^^

www.DemolitionGroup.de
It's Time to Fight - Play Hard & Fair !


Zuletzt editiert von aschti am 16.05.2010 um 18:18 Uhr (2x Editiert)
Inaktiv
|
reVerB


Geekboy




Beiträge: 1237
# Antwort: 7 - 16.05.2010 um 18:37 Uhr
Ok Adde mich mal in ICQ. hab dir eine Anfrage geschickt. Dat müssen wa ma ausklabüstern ^^


Inaktiv
|
aschti
Thread-Ersteller


Poststar





Beiträge: 778
# Antwort: 8 - 16.05.2010 um 21:14 Uhr
danke reVerB, hat alles hingehaun noch das eine thema mit dem session's dann klappt alles.
aber das kapitel ist erledigt

thx @ all


------------------
p.s. die oben zufindenen Rechtschreibfehler sind eine gratis beigabe ^^

www.DemolitionGroup.de
It's Time to Fight - Play Hard & Fair !


Inaktiv
|
Antworten: 8
Seite [1]


Sie müssen sich registrieren, um zu antworten.