PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Min Ap und User ID



papahp
03.01.2023, 21:00
Moin Moin

Ich hab entweder grad 100 Tomaten auf den Augen oder ich bin schlicht zu doof am Abend.
Folgende Sache. Die Kontobuchung soll nur dann ausgeführt werden wenn User xy X Ap gemacht hat.
Damit nur user beachtet werden, die auch Anteile haben, soll er sich die user id aus ges_admin holen was in vms_anteil liegt
minap wird gespeichert in vms_anteil_einst.
bp wird in vms_kontodaten gespeichert.

Soweit so gut

Derzeit so:

$kontodaten = db_query("SELECT bp FROM ".$db_prefix."_kontodaten WHERE uid='".$ges_admin['uid']."'.");
$min = db_query("SELECT minap FROM ".$db_prefix."_anteil_einst")
;if ( $min['minap'] >= $kontodaten['bp'] ) {
kontobuchung ('+',$buch_betrag,$ausschuettung['uid']);}

Problem: er führt es trotzdem aus. Spiel ich mit = rum passiert garnichts mehr.Ist sicherlich nur 1 oder 2 Zeichen die vergesse aber ja.. da sind die Tomaten.

Danke schonmal... es darf gern gelacht werden ;)LG



oder anders: das ganze sieht so aus:



else
{


$betreiber_daten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_anteil_einst"));
$userid = db_query("SELECT uid FROM ".$db_prefix."_anteil");
$ges_admin =mysql_fetch_array(db_query("SELECT SUM(menge) AS a_ges_ad FROM ".$db_prefix."_anteil where uid='".$betreiber_daten['betreiber_id']."'"));
$ges_admin_wert = $ges_admin['a_ges_ad'] * $betreiber_daten['auto'];


//Pot auslesen
$im_pot = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_anteil_pot"));




$ges_anteile = mysql_fetch_array(db_query("SELECT SUM(menge) AS a_ges FROM ".$db_prefix."_anteil where uid !='".$betreiber_daten['betreiber_id']."'"));
$potanteil= $im_pot['pot'] / $ges_anteile['a_ges'];
$umgerechnet = ($betreiber_daten['auto'] + $potanteil) * $ges_anteile['a_ges'];
$zins = ($betreiber_daten['auto'] + $potanteil) * 100 / $betreiber_daten['ausgabe_preis']*30;
$wert = $betreiber_daten['auto'] + $potanteil;


db_query("UPDATE ".$db_prefix."_anteil_einst SET ausg_rendite = ausg_rendite + '$umgerechnet',aus_rueckkauf_admin = aus_rueckkauf_admin + '$ges_admin_wert'");
db_query ("INSERT INTO ".$db_prefix."_anteil_rendite (id,datum,anteile,ausschuettung,pro_anteil,zins,ti me) VALUES ('',CURRENT_TIMESTAMP,'".$ges_anteile['a_ges']."','$umgerechnet','$wert','$zins','$stamp')");


$anteil_aus = db_query("SELECT * FROM ".$db_prefix."_anteil where menge > '0' and uid !='".$betreiber_daten['betreiber_id']."'");
while ($ausschuettung = mysql_fetch_array($anteil_aus)) {

$buch_betrag = $ausschuettung['menge'] * $wert;
$buchungs_id = create_code(14);



buchungsliste_anteil ($buchungs_id,-$buch_betrag,'Ausschüttung '.$ausschuettung['menge'].' Anteil(e) User '.$ausschuettung['uid'],$ausschuettung['uid']);
buchungsliste ($buchungs_id,$buch_betrag,'Anteilausschüttung '.$ausschuettung['menge'].' Anteil(e)',$ausschuettung['uid']);
$kontodaten = db_query("SELECT bp FROM ".$db_prefix."_kontodaten WHERE uid='".$userid['uid']."'.");
$min = db_query("SELECT minap FROM ".$db_prefix."_anteil_einst");
if ( $min['minap'] < $kontodaten['bp'] ) {
kontobuchung ('+',$buch_betrag,$ausschuettung['uid']);
stg_bilanz (0,$buch_betrag,'Ralley','Anteil');

}

}






}

Sam2004
07.01.2023, 07:52
Moin,
da ja ausgeführt wird, liegt es nicht an den Querys ;)
Wenn die Einstellungen im Admin auch richtig sind, dann braucht es eigentlich nur eine Anpassung:

if ( $min['minap'] >= $kontodaten['bp'] ) { damit wird alles geholt, was kleiner als Summe X ist.
Das >= ändern in < und dann nochmal testen.

if ( $min['minap'] < $kontodaten['bp'] ) { sollte dann so aussehen.
Damit wird nur noch User XY berücksichtigt, der XX AP bei Abfrage zu Buche stehen hat.

LG
Sammy

papahp
07.01.2023, 21:32
Moin Moin

Danke für dein Ansatz.... (den ich auch schon hatte und nicht ging)

Ich habs heute morgen, da hatte ich Dein Beitrag noch nicht gelesen, noch hinbekommen.

So hats dann geklappt:



.....

$usr = mysql_fetch_array (db_query("SELECT bp FROM ".$db_prefix."_kontodaten WHERE uid = '".$ausschuettung['uid']."'")) or die();if($usr['bp'] < '50'){ }else {

....

Danke trotzdem...

Sam2004
09.01.2023, 11:32
Vom Prinzip her war der Ansatz ja nicht falsch und hätte auch gefunkt ;)
Hab ich ja bei mir auch im Einsatz.

Probier doch einfach beim nächsten Mal in der Datenbank direkt aus, dann siehste auch wo es hakt ;)

Und dafür nicht.