PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DB Eintrag



dieter-kh
03.05.2009, 18:30
Hallo @ all,
wie kann ich die gewonnenen Daten aus $trans_check[2] bis $trans_check[4] in die DB _efkontostand schreiben ohne eine weitere Schnittstellenabfrage zu Verbrauchen.
Hab das schon wie folgt Probiert schreibe aber nur die Zeit alle anderen Daten werden auf 0 gesetzt.

db_query ("UPDATE ".$db_prefix."_efkontostand SET abfragen = '".$trans_check['2']."', konto = '".$trans_check['3']."', tresor = '".$trans_check['4']."', zeit = '".time()."'")

Hier mal der Code:

<?@require_once ('../lib/functions.lib.php');
$interface = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_schnittstelle LIMIT 1"));
$returned='';
$ret=file("http://www.klamm.de/engine/lose/efstatus.php?ef_id=".$interface['betreiber_id']."&ef_pw=".$interface['betreiber_passwort']."");
if ($ret){
for($i=0;$i<count($ret);$i++){
$returned.=$ret[$i];
}
$trans_check = split("[|]",$returned,5);
}
?>
<?head("Export Force Status");?>
<table border="0">
<tr>
<td align="center"><b>Anfragen:</b></td>
<td align="center"><b><?=$trans_check[2];?></b></td>
</tr>
<tr>
<td align="center"><b>Lose:</b></td>
<td align="center"><b><?=$trans_check[3];?></b></td>
</tr>
<tr>
<td align="center"><b>Tresor:</b></td>
<td align="center"><b><?=$trans_check[4];?></b></td>
<tr>
<td align="center"><b>Gesammt:</b></td>
<td align="center"><b><?=number_format($trans_check[4] + $trans_check[3],2,",",".").' '?>&nbsp;<?=$waehrung;?></b></td>
</tr>
</table>
<?
$guth = mysql_fetch_array(db_query("SELECT SUM(kontostand) AS gesamt FROM ".$db_prefix."_kontodaten"));
if ($trans_check[4]+$trans_check[3] < $guth['gesamt']){?>
<center>Es müssen <font color="red"><?=$guth['gesamt']-($trans_check[4]+$trans_check[3]);?>
Lose</font> nachgezahlt werden!</center>
<?}else{?>
<font color="green">Du hast genügend Lose auf dem EF!</font>
<?}?>
<?foot();?>


Besten Dank in Voraus.

Hardy
04.05.2009, 14:36
hi
die ' in $trans_check['3'] sind falsch.
Probiere es doch mal so:


db_query ("UPDATE ".$db_prefix."_efkontostand SET abfragen = '".$trans_check[2]."', konto = '".$trans_check[3]."', tresor = '".$trans_check[4]."', zeit = '".time()."'")

eRaaaa
04.05.2009, 16:24
hi
die ' in $trans_check['3'] sind falsch.
Probiere es doch mal so:


db_query ("UPDATE ".$db_prefix."_efkontostand SET abfragen = '".$trans_check[2]."', konto = '".$trans_check[3]."', tresor = '".$trans_check[4]."', zeit = '".time()."'")

bin ich blind? wo ist da jetzt der unterschied ? :D

jpwfour
04.05.2009, 18:07
Interesant waere, an welcher Zeile du den UPDATE Befehl einfuegst, ob dort die Variable trans_check schon/noch verfuegbar ist...

dieter-kh
04.05.2009, 20:05
!! Danke !! alle ' enfernt funktioniert es wird auch nur 1 Anfrage Verbraucht.

dieter-kh
04.05.2009, 20:08
Interesant waere, an welcher Zeile du den UPDATE Befehl einfuegst, ob dort die Variable trans_check schon/noch verfuegbar ist...

Sieht jezt so aus:


<?@require_once ('../lib/functions.lib.php');
$interface = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_schnittstelle LIMIT 1"));
$returned='';
$ret=file("http://www.klamm.de/engine/lose/efstatus.php?ef_id=".$interface['betreiber_id']."&ef_pw=".$interface['betreiber_passwort']."");
if ($ret){
for($i=0;$i<count($ret);$i++){
$returned.=$ret[$i];
}
$trans_check = split("[|]",$returned,5);
}
db_query ("UPDATE ".$db_prefix."_efkontostand SET abfragen = '".$trans_check[2]."', konto = '".$trans_check[3]."', tresor = '".$trans_check[4]."', zeit = '".time()."'")
?>
<?head("Export Force Status");?>
<table border="0">
<tr>
<td align="center"><b>Anfragen:</b></td>
<td align="center"><b><?=$trans_check[2];?></b></td>
</tr>
<tr>
<td align="center"><b>Lose:</b></td>
<td align="center"><b><?=$trans_check[3];?></b></td>
</tr>
<tr>
<td align="center"><b>Tresor:</b></td>
<td align="center"><b><?=$trans_check[4];?></b></td>
<tr>
<td align="center"><b>Gesammt:</b></td>
<td align="center"><b><?=number_format($trans_check[4] + $trans_check[3],2,",",".").' '?>&nbsp;<?=$waehrung;?></b></td>
</tr>
</table>
<?
$guth = mysql_fetch_array(db_query("SELECT SUM(kontostand) AS gesamt FROM ".$db_prefix."_kontodaten"));
if ($trans_check[4]+$trans_check[3] < $guth['gesamt']){?>
<center>Es müssen <font color="red"><?=$guth['gesamt']-($trans_check[4]+$trans_check[3]);?>
Lose</font> nachgezahlt werden!</center>
<?}else{?>
<font color="green">Du hast genügend Lose auf dem EF!</font>
<?}?>
<?foot();?>