Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 9
Seite [1]
Radiate


King for a day





Beiträge: 293
# Thema - 15.01.2008 um 21:13 Uhr
Hier ist mein Code:

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
1. / 2. / ... 
<?php
    
// Gain Points
    
$points cs_sql_select(__FILE__,'users','users_id, users_points, users_pointsnewscom',"users_id = '" $account['users_id'] . "'",0,0,1);
    
$newscom cs_sql_select(__FILE__,'users','users_id, users_newscomposts',"users_id = '" $account['users_id'] . "'",0,0,1);
    
$points['users_pointsnewscom'] = $points['users_pointsnewscom'] + 5;
    
$newscom['users_newscomposts'] = $newscom['users_newscomposts'] + 1;
    
$newscom_cells = array('users_id''users_newscomposts');
    
$newscom_save = array($account['users_id'], $newscom['users_newscomposts']);
    
$points_cells = array('users_id''users_pointsnewscom');
    
$points_save = array($account['users_id'], $points['users_pointsnewscom']);
    
cs_sql_insert(__FILE__,'comments',$com_cells,$com_save);
    
cs_sql_update(__FILE__,'users',$points_cells,$points_save,$points);
    
cs_sql_update(__FILE__,'users',$newscom_cells,$newscom_save,$newscom);
?>


Wie kann es sein das nur ich mit der users_id 1 News Comments +5 Points bekomme und kein anderer? O.o
Wäre über jede Hilfe die über den Code blickt sehr dankbar.


------------------
Clansphere 2008.0

Zuletzt editiert von Radiate am 15.01.2008 um 23:20 Uhr (2x Editiert)
Inaktiv
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 1 - 15.01.2008 um 23:18 Uhr
wuhhh was baust du da für sachen :/
weißt du was du da zusammenschusterst? ist ziemlich unlogisch was da steht.. fang mal bei dem $id parameter der cs_sql_update funktion an.


Inaktiv
|
Radiate
Thread-Ersteller


King for a day





Beiträge: 293
# Antwort: 2 - 15.01.2008 um 23:20 Uhr
Ganz ehrlich ich weiß nicht was du meinst?
Der Code gibt mir ja +5 aber den anderen User nicht.
Und ich finde auch kein $id im cs_sql_update oder weiß nicht wo ich das hinsetzen sollte.


------------------
Clansphere 2008.0

Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 3 - 15.01.2008 um 23:25 Uhr
hm.. schau dir mal die funktionen an die du verwendest, dann hast du auch keine probleme mehr sie richtig zu verwenden.
der 5. parameter der funktion cs_sql_update() ist die $id. das ist die id des datensatzes, der bearbeitet werden soll. weil da was bei dir falsch ist, wird nicht der richtige benutzer bearbeitet. ich weiß gerade nicht, welcher benutzer da bearbeitet werden soll. vermutlich ist es aber jeweils der benutzer, der gerade auf der seite aktiv ist. dessen benutzerid ist: $account['users_id']. versuch das mal da einzusetzen. aber warum du da 2 updates untereinander machst verstehe ich auch nicht ganz.


Inaktiv
|
Radiate
Thread-Ersteller


King for a day





Beiträge: 293
# Antwort: 4 - 15.01.2008 um 23:29 Uhr
Okay, versuche dir 2 Dinge nahe zu bringen:

1) Die ID die Points bekommen soll befindet sich hier:
 
1.
2.
3.
4.
1. / 2. / ... 
<?php
$points_cells 
= array('users_id''users_pointsnewscom');
$points_save = array($account['users_id'], $points['users_pointsnewscom']);
?>

2) Die zwei Updates beziehen sich auf unterschiedliche Tabellen, die eine auf die comments und das andere Update auf users.


------------------
Clansphere 2008.0

Zuletzt editiert von Radiate am 15.01.2008 um 23:29 Uhr (1x Editiert)
Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 5 - 15.01.2008 um 23:32 Uhr
beides falsch

1)
cells und save sind doch die inhalte des updates. die benutzerid muss aber wie gesagt im 5. parameter stehen damit sich das update auch auf diesen datensatz bezieht. in der regel sollten nie ids im inhalt von sql updates auftauchen.

2)
ne, die operation die sich auf die comments bezieht ist nen insert und kein update. darunter hast du aber noch 2 updates und beide beziehen sich auf die tabelle users.


Inaktiv
|
Radiate
Thread-Ersteller


King for a day





Beiträge: 293
# Antwort: 6 - 15.01.2008 um 23:36 Uhr
Um ehrlich zu sein finde ich das ehrlich komisch.
Denn ich habe die News Comments also die mods/news/create_com.php einfach nur inhaltlich kopiert.
Vorhanden war folgende PHP Anweisung:
 
1.
2.
3.
4.
5.
6.
7.
8.
1. / 2. / ... 
<?php
$newscom 
cs_sql_select(__FILE__,'users','users_id, users_newscomposts',"users_id = '" $account['users_id'] . "'",0,0,1);
$newscom['users_newscomposts'] = $newscom['users_newscomposts'] + 1;
$newscom_cells = array('users_id''users_newscomposts');
$newscom_save = array($account['users_id'], $newscom['users_newscomposts']);
cs_sql_insert(__FILE__,'comments',$com_cells,$com_save);
cs_sql_update(__FILE__,'users',$newscom_cells,$newscom_save,$newscom);
?>


Und hier habe ich folgendes einfach nur kopiert:
 
1.
2.
3.
4.
5.
6.
7.
1. / 2. / ... 
<?php
$points 
cs_sql_select(__FILE__,'users','users_id, users_points, users_pointsnewscom',"users_id = '" $account['users_id'] . "'",0,0,1);
$points['users_pointsnewscom'] = $points['users_pointsnewscom'] + 5;
$points_cells = array('users_id''users_pointsnewscom');
$points_save = array($account['users_id'], $points['users_pointsnewscom']);
cs_sql_update(__FILE__,'users',$points_cells,$points_save,$points);
?>


------------------
Clansphere 2008.0

Zuletzt editiert von Radiate am 15.01.2008 um 23:37 Uhr (1x Editiert)
Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 7 - 15.01.2008 um 23:40 Uhr
ok, der untere teil passt aber nicht. versuchs mal so:
 
1.
2.
3.
4.
5.
6.
1. / 2. / ... 
<?php
$points 
cs_sql_select(__FILE__,'users','users_id, users_points, users_pointsnewscom',"users_id = '" $account['users_id'] . "'",0,0,1);
$points_cells = array('users_pointsnewscom');
$points_save = array($points['users_pointsnewscom'] + 5);
cs_sql_update(__FILE__,'users',$points_cells,$points_save,$account['users_id']);
?>


Inaktiv
|
Radiate
Thread-Ersteller


King for a day





Beiträge: 293
# Antwort: 8 - 16.01.2008 um 00:04 Uhr
Benutze jetzt dies hier und es funktioniert Uuunnnd habe noch etwas dazu gelernt.
Super großen DANK an dich duRiel.

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
1. / 2. / ... 
<?php?
// Gain Points
$points = cs_sql_select(__FILE__,'users','users_id, users_points, users_pointsnewscom',"users_id = '" . $account['users_id'] . "'",0,0,1);
$newscom = cs_sql_select(__FILE__,'users','users_id, users_newscomposts',"users_id = '" . $account['users_id'] . "'",0,0,1);
$newscom_cells = array('users_newscomposts');
$newscom_save = array($newscom['users_newscomposts'] + 1);
$points_cells = array('users_pointsnewscom');
$points_save = array($points['users_pointsnewscom'] + 5);
cs_sql_insert(__FILE__,'comments',$com_cells,$com_save);
cs_sql_update(__FILE__,'users',$points_cells,$points_save,$account['users_id']);
cs_sql_update(__FILE__,'users',$newscom_cells,$newscom_save,$account['users_id']);
>


Im Update ausschließlich wenn es sein muss folgendes benutzen -> $account['users_id'].


------------------
Clansphere 2008.0

Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 9 - 16.01.2008 um 00:17 Uhr
jip, bei cs_sql_update eigentlich nie im 3. oder 4. parameter.
gern geschehen!

:closed:


Inaktiv
|

Dieses Thema wurde von duRiel ClanSphere Team PM geschlossen.

Antworten: 9
Seite [1]