AW: wo ist der fehler? php
mh könnt auch an das liegen $kontoinfo['bp'] und $kontoinfo['bpg'] was ich mich schon ne weile Frage ? Wo wird den das abgefraget aber nicht von hier
PHP-Code:
$kontodaten = mysql_fetch_array(db_query("SELECT uid,kontostand,tresor,klickrang FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1"));
AW: wo ist der fehler? php
Sorry das war noch nicht geändert.
selbstverständlich nicht Kontoinfo sondern kontodaten.
jetzt mal anders gefragt für die Ausgabe der Zahlen aus der Datenbank wird der zum Beispiel der Code
echo "".number_format($kontodaten['bpg'],2,",",".")." ".AP´z."<br />";
verwendet.
Was ist wenn ich aus der Datenbank anstatt von Zahlen den Text im Echo ausgeben will?
Das wäre ja eigentlich auch ne Lösung des Problems.
AW: wo ist der fehler? php
Möglich wenn die spalte mit min. varchar, text oder longtext angelegt ist.
Hilfe kann man hier lesen ( nicht übel nehmen)
PHP-Code:
$Text=mysql_fetch_array(db_query("SELECT meintext,deranderetext FROM ".$db_prefix."_textdaten LIMIT 1"));
echo $Text['meintext'];
echo 'dieser '.$Text['deranderetext'].' könnte '. $Text['meintext'].' sein';
AW: wo ist der fehler? php
irgendwie haben wa das immer noch nicht hin bekommen... hat noch jemand ne idee? bin echt am verzeifeln :(
AW: wo ist der fehler? php
mach mal ein Screen oder als code von der Datenbanktabelle _kontodaten wo die Spalte klickrang ist
Beispiel:
PHP-Code:
CREATE TABLE IF NOT EXISTS `vms_kontodaten` (
`uid` int(7) NOT NULL default '0',
`passwort` char(32) NOT NULL,
`status` tinyint(1) NOT NULL default '0',
`hinweis` longtext NOT NULL,
`kontostand` double(100,2) NOT NULL default '0.00',
`login_ip` varchar(15) NOT NULL default '',
`loginzeit` int(11) NOT NULL default '0',
`last_active` int(11) NOT NULL default '0',
`klicks` bigint(20) NOT NULL default '0',
`kv` double(100,2) NOT NULL default '0.00',
`angebettelt` bigint(20) NOT NULL default '0',
`bv` double(100,2) NOT NULL default '0.00',
PRIMARY KEY (`uid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
AW: wo ist der fehler? php
So die Textausgabe aus der Datenbank funktioniert nun endlich:
PHP-Code:
<? if ($_SESSION['login'] == 'true') {?>
<?menuehead("Kontostand");
$kontodaten = mysql_fetch_array(db_query("SELECT `kontostand`, `tresor`, `bp`, `bpg`, `klickrang` FROM `".$db_prefix."_kontodaten` WHERE `uid` = ".$_SESSION['uid']." LIMIT 1"));
echo number_format($kontodaten['kontostand'],2,",",".")." ".$waehrung."<br />";
echo number_format($kontodaten['tresor'],2,",",".")." ".Tresorguthaben."<br />";
echo number_format($kontodaten['bp'],2,",",".")." ".AP´s."<br />";
echo number_format($kontodaten['bpg'],2,",",".")." ".AP´z."<br />";
echo $kontodaten['klickrang']."<br />";
menuefoot();?>
<?menuehead("Goldlore");
include ("content/sm.php");
menuefoot();?>
<?menuehead("Games");?>
<ul>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
<?menuefoot();
menuehead("Online");
include ("lib/weristonline.php");
menuefoot();
}
$filename = 'lib/texte/box1.txt';
$fp = fopen ($filename, "r");
$inhalt = fread ($fp, filesize ($filename));
fclose ($fp);
$inhalt = str_replace('\\', '', $inhalt);
if ($inhalt != ''){
menuehead("Counter");
echo nl2br($inhalt);
menuefoot();
}
?>
Wie baue ich jetzt die include ein damit der Rangabgleich auch mit der Datenbank kommuniziert:
PHP-Code:
include ("content/klick_rang/klick_rangabgleich.php")
Die rang_abgleich.php sieht so aus:
PHP-Code:
<?php
// Klickrang_nach_Klicks Addon
// Version für das VMS 1.2.4
// (c) 2010 by www.lose-scripte.de
$klick_user = mysql_fetch_array(db_query ("SELECT klickrangid, rangklicks FROM ".$db_prefix."_kontodaten WHERE uid= ".$_SESSION['uid']));
//Rang festlegen
$klick_rang= mysql_fetch_array(db_query("SELECT `klickid`,`bonus`,`klickrang` FROM ".$db_prefix."_klick_rang WHERE benoetigte_klicks <= $klick_user[1] ORDER BY klickid DESC
"));
//Rang abgleichen
if ($klick_user[0] < $klick_rang[0] ) {
// neuen Rang festlegen
$neuer_rang = ($klick_user[0] + 1);
$bonus = mysql_fetch_array(db_query("SELECT `bonus`,`klickrang` FROM ".$db_prefix."_klick_rang WHERE klickid = '$neuer_rang' LIMIT 1 "));
// neuen Rang eintragen und Bonus gutschreiben
db_query("UPDATE ".$db_prefix."_kontodaten SET kontostand = kontostand + ".$bonus[0].", klickrangid = ".$neuer_rang.", klickrang = '".$bonus[1]."' WHERE uid= ".$_SESSION['uid']."");
$buchungs_id = create_code(14);
buchungsliste ($buchungs_id,'+'.$bonus[0],'Du hast einen neuen KlickRang erreicht.',$_SESSION['uid']);
}
?>
wenn ich es nach Einbauanleitung (welche sehr dürftig gehalten ist) einbaue besteht wieder das Prob das entweder der Klick nicht gezählt wird oder aber das Menü verschwindet.
Hier mal die Anleitung:
Zitat:
Einbauanleitung für das VMS_1.2.4_KlickRangAddon
Achtung: Vor dem Einbau alle unveränderten Dateien sichern!
Veränderungen an der Datenbank
--
-- Daten für Tabelle `vms_kontodaten`
--
ALTER TABLE `vms_kontodaten` ADD `klickrang` VARCHAR( 20 ) NOT NULL,
ADD `klickrangid` INT( 3 ) NOT NULL DEFAULT '0',
ADD `rangklicks` double(100,2) NOT NULL default '0.00';
--
-- Daten für Tabelle `vms_klick_rang`
--
CREATE TABLE `vms_klick_rang` (
`klickid` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`benoetigte_klicks` DOUBLE( 10, 2 ) DEFAULT '0.00' NOT NULL ,
`klickrang` VARCHAR( 20 ) NOT NULL ,
`bonus` DOUBLE( 10, 2 ) DEFAULT '0.00' NOT NULL ,
PRIMARY KEY ( `klickid` )
) TYPE = MYISAM ;
Veränderungen am Script:
In der Datei content/konto/uebersicht.php:
Suche die Zeilen
$sql = db_query("SELECT u.nickname,u.vorname,u.nachname,u.angemeldet_seit, w.werber,w.umsatz,w.gesamt,w.refback,k.kontostand, k.klicks,k.kv,k.angebettelt,k.bv FROM
".$db_prefix."_kontodaten k
LEFT JOIN ".$db_prefix."_userdaten u ON u.uid = k.uid
LEFT JOIN ".$db_prefix."_werberdaten w ON w.uid = k.uid
WHERE k.uid=".$_SESSION['uid']." LIMIT 1");
und füge
,k.rangklicks , k.klickrang
nach dem ,k.bv und vor dem FROM
ein.
Suche die Zeile
<?head("Diverse Einnahmen");?>
und füge dahinter:
<? head("Rangübersicht"); ?>
<table width="100%" border="0" cellpadding="1" cellspacing="1">
<tr>
<td align="left" width="55%">Klickrangklicks: </td><td align="left"><?=number_format($kontoinfo['rangklicks'],2,",",".").' Klicks'?></td>
</tr>
<tr>
<td align="left" width="55%">Klickrang: </td><td align="left"><?=$kontoinfo['klickrang']?></td>
</tr>
</table>
<? foot(); ?>
ein.
In der Datei /lib/menue_links.php
Suche die Zeilen
menuehead("Navigation");
?>
<ul>
<li><a href="?content=/konto/uebersicht">Kontoübersicht</a></li>
<li><a href="?content=/konto/einzahlen">Einzahlen</a></li>
<li><a href="?content=/konto/auszahlen">Auszahlen</a></li>
<li><a href="?content=/konto/buchungen">Buchungen</a></li>
<li><a href="?content=/konto/refuebersicht">Refübersicht</a></li>
<li><a href="?content=/konto/userprofil">Userprofil</a></li>
<li><a href="?content=/intern/startseite&logout=true"><i>Logout</i></a></li>
</ul>
<?
menuefoot();
und füge dahinter
include ("content/klick_rang/klick_rangabgleich.php")
menuehead("Dein Klickrang"); ?>
<? $kontodaten = mysql_fetch_array(db_query("SELECT klickrang FROM ".$db_prefix."_kontodaten WHERE uid=".$_SESSION['uid']." LIMIT 1")); ?>
<a href="?content=/klick_rang/uebersicht"><?=$kontodaten['klickrang'];?></a>
<?menuefoot();
ein.
Dateianpassung, damit die Aktivität gerechnet wird.
Für die Bannerklicks:
Öffne die Datei topframe_forced und suche die Zeile
refumsatz ($forced['verdienst'],$_SESSION['uid']);
füge dahinter die Zeile
db_query ("UPDATE ".$db_prefix."_kontodaten SET rangklicks = rangklicks + 1 WHERE uid = ".$_SESSION['uid']."");
ein.
Für die Textlinks:
Öffne die Datei topframe_textlinks und suche die Zeile
refumsatz ($text['verdienst'],$_SESSION['uid']);
füge darunter
db_query ("UPDATE ".$db_prefix."_kontodaten SET rangklicks = rangklicks + 1 WHERE uid = ".$_SESSION['uid']."");
ein.
Für die Paidmails:
Öffne die Datei pcheck.php und suche die Zeile
refumsatz ($mail['verdienst'],$mail['uid']);
füge darunter
db_query ("UPDATE ".$db_prefix."_kontodaten SET rangklicks = rangklicks + 1 uid = ".$mail['uid']."");
ein.
AW: wo ist der fehler? php
also includen brauchst du die datei nicht für was auch noch da jetzt im menü der Rang Angezeigt wird und nur eine verlinkung auf die rang_abgleich.php (bsp: echo "<a href="?content=/klick_rang/uebersicht"> ".$kontodaten['klickrang']."<br />"; )
ich Denke mal das in der rang_abgleich.php auch was asgegeben wird deshalb ist es sinlos diese noch zu includen.
AW: wo ist der fehler? php
Also so wie es jetzt aufgebaut ist funzt es nicht. Unter Kontodaten zählt er zwar die Klicks mit aber in der Klickrangtabelle ändert sich rein garnichts....
AW: wo ist der fehler? php
ersetze mal den code in der klick_rang.php
PHP-Code:
<?php
// Klickrang_nach_Klicks Addon
// Version für das VMS 1.2.4
// (c) 2010 by www.lose-scripte.de
$klick_user = mysql_fetch_array(db_query ("SELECT klickrangid, rangklicks FROM ".$db_prefix."_kontodaten WHERE uid='".$_SESSION['uid']."' LIMIT 1"));
//Rang festlegen
$klick_rang= mysql_fetch_array(db_query("SELECT `klickid`,`bonus`,`klickrang` FROM ".$db_prefix."_klick_rang WHERE benoetigte_klicks <= '".$klick_user['rangklicks']."' ORDER BY klickid DESC"));
//Rang abgleichen
if ($klick_user['klickrangid'] < $klick_rang['klickid'])
{
// neuen Rang festlegen
$neuer_rang = $klick_user['klickrangid']+1;
$bonus = mysql_fetch_array(db_query("SELECT `bonus`,`klickrang` FROM ".$db_prefix."_klick_rang WHERE klickid ='".$neuer_rang."' LIMIT 1 "));
// neuen Rang eintragen und Bonus gutschreiben
db_query("UPDATE ".$db_prefix."_kontodaten SET kontostand = kontostand+".$bonus['bonus'].", klickrangid = '".$neuer_rang."', klickrang = '".$bonus['klickrang']."' WHERE uid= '".$_SESSION['uid']."'");
$buchungs_id = create_code(14);
buchungsliste ($buchungs_id,'+'.$bonus['bonus'],'Du hast einen neuen KlickRang erreicht.',$_SESSION['uid']);
}
?>