PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : suche VCheck im Menü anzeigen



cece75
21.09.2010, 02:05
Hi Leute
Suche einen Codeschnipsel damit die Vcheck Anzeige im Menü angezeigt wird z.B. 90%

Hab mir schon n Wolf gesucht und einiges ausprobiert :redface:

jpwfour
21.09.2010, 13:48
Im "alten" VCheck wurde der Wert in der Datei v_top_oben.php berechnet, also könnte man die einbinden und dann $gesamt ausgeben lassen.

Im neuen (4.1) gibt es das glaub ich nicht mehr, dafür kann man aber den Code aus der Kontoübersicht rauskopieren, v_konto.php dort wird doch die % angezeigt?

cece75
21.09.2010, 14:07
joop das stimmt.
Habe versucht das in die Menü rechts zu packen:



<?
while($row=mysql_fetch_array($sponsoren))
{
$count++;
if($count >'2'){$count ='1';}
$col[1]='#eeeeee';//erste Tabellenfarbe

$col[2]='#dddddd';//zweite Tabellenfarbe

$sql_1=mysql_fetch_array(db_query("Select COUNT(*) as menge from ".$db_prefix."_vcheck_codes where sponsor='".$row['kamp_als']."' and uid='".$_SESSION['uid']."'"));
$sql_2=mysql_fetch_array(db_query("Select SUM(betrag) as summe,COUNT(*) as menge from ".$db_prefix."_vcheck_codes where sponsor='".$row['kamp_als']."' and uid='".$_SESSION['uid']."' and status='0'"));
$erg=100-(100/$sql_1['menge']*$sql_2['menge']);
$g1=$g1+$sql_1['menge'];
$g2=$g2+$sql_2['menge'];
$g3=$g3+$sql_2['summe'];
$ges=100-(100/$g1*$g2);
if($erg < $marker){$col[$count]='#FF3366';}
?>
und das zur ausgabe des vcheck wertes z.B. 80%

<?=number_format($erg,2,",",".");?>

Ergebnis ist das die menü rechts nicht mehr angezeigt wird.

Füge ich nur <?=number_format($erg,2,",",".");?> ein funzt die anzeige nur wenn ich die konto übersicht aufrufe was ja auch logisch ist.

Dachte an einen Code in Form von:


<?menuehead("Vergütungs Check");?>
<? $kontodaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1")); ?>
<?=number_format($erg,2,",",".");?><br>
<?menuefoot();?>
Nur weiss ich ned wie die Mysql Abfrage lauten muss.
Die DB Tabelle ist vms_vcheck_temp_2 und die Spalte die ausgegeben werden soll lautet ges

cece75
21.09.2010, 15:08
habe jetzt das versucht:

<?menuehead("Vergütungs Check");?>
<?$vms_vcheck_temp_2 = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_vms_vcheck_temp_2 WHERE uid=".$_SESSION['uid']." LIMIT 1")); ?>
<?=number_format($ges,2,",",".");?><br>
<?menuefoot();?>

wenn ich die konto übersicht aufrufe funzt es wenn ich zu den paidbannern wechsel klappt es nicht. ich versteh es nicht :rolleyes:

Masterphil
21.09.2010, 15:58
Du gibst den Wert "ges" aus, dieser ist in deinem Code gar nicht definiert, in den vorigen Post von dir schon, also vermute ich mal das es deshalb mit der Kontoübersicht funktioniert, da haste den Code sicher funktionierend drin.

Der Ansatz den Rest auch ins Menü zu Packen ist schon der Richtige, vermutlich liegts nur an einem Formfehler wenn plötzlich das Menü ganz weg ist.

MfG

cece75
21.09.2010, 16:16
Naja ich häng da fast 2 Tage dran und komme ned weiter ich gebs auf. :confused:

h-m
22.09.2010, 11:50
ungetestet:
<?menuehead("Vergütungs Check");?>
<? $erg = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_vms_vcheck_temp_2 WHERE uid=".$_SESSION['uid']." LIMIT 1")); ?>
<?=number_format($erg['ges'],2,",",".");?><br>
<?menuefoot();?>
hier wird ja mit mysql_fetch_array ein ergebnis-datensatz von db_query in $erg in form eines array gespeichert. also musst du bei der formatierung mit number_format und ausgabe auch auf das richtige feld im array $erg zugreifen, hier $erg['ges'].

cece75
22.09.2010, 13:31
Funktioniert leider auch nicht.
Das abrufen dieser temp Tabelle bringt nix weil da der Vcheck wert nur zwischen gespeichert wird. Ich denke der Wert muss in der Menü rechts komplett errechnet und ausgegeben werden.

h-m
22.09.2010, 15:03
das könnte klappen:


<?
$sponsoren=db_query("SELECT * FROM ".$db_prefix."_vklicks_einst where status='1' order by sponsor");
while($row=mysql_fetch_array($sponsoren))
{
$count++;
if($count >'2'){$count ='1';}
$sql_1=mysql_fetch_array(db_query("Select COUNT(*) as menge from ".$db_prefix."_vcheck_codes where sponsor='".$row['kamp_als']."' and uid='".$_SESSION['uid']."'"));
$sql_2=mysql_fetch_array(db_query("Select SUM(betrag) as summe,COUNT(*) as menge from ".$db_prefix."_vcheck_codes where sponsor='".$row['kamp_als']."' and uid='".$_SESSION['uid']."' and status='0'"));
$erg=100-(100/$sql_1['menge']*$sql_2['menge']);
$g1=$g1+$sql_1['menge'];
$g2=$g2+$sql_2['menge'];
$g3=$g3+$sql_2['summe'];
$ges=100-(100/$g1*$g2);
}
menuehead("Vergütungs Check");?>
<?=number_format($ges,2,",",".")."%";?>
<?menuefoot();?>

cece75
22.09.2010, 15:10
daaaaanke funzt :thumb::thumb::thumb:

CeleronD
11.12.2010, 17:35
Könnte jemand das so einrichten das die farbe der Zahl farblich der Prozente anpasst. zb: 100 - 75% Grün > 74 - 50% > Orange 49 - 0 Rot.

Wäre echt nett. Danke.

hankfromhelvete
12.12.2010, 03:26
Könnte jemand das so einrichten das die farbe der Zahl farblich der Prozente anpasst. zb: 100 - 75% Grün > 74 - 50% > Orange 49 - 0 Rot.


<?=number_format($ges,2,",",".")."%";?>

Ersetzen mit:


<? if ($ges >= '75') {
echo '<font color="green">'.number_format($ges,2,",",".").' %</font>';
}
elseif ($ges < '75' && $ges > '49') {
echo '<font color="orange">'.number_format($ges,2,",",".").' %</font>';
}
elseif ($ges <= '49') {
echo '<font color="red">'.number_format($ges,2,",",".").' %</font>';
} ?>

CeleronD
12.12.2010, 12:40
1000 Dank. Funzt super.

Edit...

Ich hab das ganze noch gecacht und auf 5 Min aktualisierung gestellt.


<?
//Cache damit es weniger db abfragen macht und den traffic schont
if (!file_exists('dynamic_cache/vcheck.txt') || @filemtime('dynamic_cache/vcheck.txt') < time()-300) //Hier sind es 7200 sec Reload = 2 Std
{
ob_start(); ?>

<?if ($_SESSION['login'] == 'true'){?>
<?
// VCHECK ANZEIGE ANFANG
$sponsoren=db_query("SELECT * FROM ".$db_prefix."_vklicks_einst where status='1' order by sponsor");
while($row=mysql_fetch_array($sponsoren))
{
$count++;
if($count >'2'){$count ='1';}
$sql_1=mysql_fetch_array(db_query("Select COUNT(*) as menge from ".$db_prefix."_vcheck_codes where sponsor='".$row['kamp_als']."' and uid='".$_SESSION['uid']."'"));
$sql_2=mysql_fetch_array(db_query("Select SUM(betrag) as summe,COUNT(*) as menge from ".$db_prefix."_vcheck_codes where sponsor='".$row['kamp_als']."' and uid='".$_SESSION['uid']."' and status='0'"));
$erg=100-(100/$sql_1['menge']*$sql_2['menge']);
$g1=$g1+$sql_1['menge'];
$g2=$g2+$sql_2['menge'];
$g3=$g3+$sql_2['summe'];
$ges=100-(100/$g1*$g2);
}
// VCHECK ANZEIGE ENDE
}
?>

<center><b>Dein V-Check:<br><? if ($ges >= '75') {
echo '<font color="green">'.number_format($ges,2,",",".").' %</font>';
}
elseif ($ges < '75' && $ges > '49') {
echo '<font color="#FF6A00">'.number_format($ges,2,",",".").' %</font>';
}
elseif ($ges <= '49') {
echo '<font color="red">'.number_format($ges,2,",",".").' %</font>';
}
?>
<br><font size=-3>(aktual. = 5 Min.)
</font> </b></center>
<?
//Auslesen des traffics der vor xx sec eingelesen wurde
file_put_contents('dynamic_cache/vcheck.txt', ob_get_flush() );

}else{
echo file_get_contents('dynamic_cache/vcheck.txt');
}

?>

Mann packe das in eine neue Php Names vcheck.php packe sie in den Hauptordner, und mit <?php include 'vcheck.php';?> an gewünschter Stelle anzeigen lassen.

So entlasstet man ehrblich die Datenbank anfragen. Wenn jemand was zu verbessern hat immer her damit.