Hallo ca
erstmal wünsche ich euch noch ein gesundes neues Jahr!
Danke ;) dir auch !
Das habe ich immer so gemacht z.B
function getFeeID()
{
$iRet = NULL;
$myDB = &new DB;
$myDB->query("SELECT fee_id FROM fee_contract WHERE fee_c_id = ".
$this->iFeeCID." AND fee_eff = ".$this->iFeeEff." AND fee_exp = ".
$this- >iFeeExp." AND fee_basicfee = ".$this->dFeeBasicfee);
if($myDB -> next_record()){
$iRet = $myDB->f("fee_id");
}
return $iRet;
}
Diese Funktion sieht zwar recht gut aus, aber du verwendest wohl IMHO dir nicht verständlichen Code.
Außerdem solltest du bei Funktionsaufrufen in $this keine Leerstelle zwischen dem Pfeil haben ;) ( "$this- >iFeeExp" => "$this->iFeeExp" )
Noch was:
Warum "$this" ?!
Bist du in einer Klasse ?
Wo ist die Funktion die du uns da zeigst ?
z.B.:
DB::getFeeID() ?
Aber jetzt möchte ich mehr Spalten haben und die auslesen aber ich bekomme das nicht hin. hin und her habe ich überlegt was ich falsch mache und PHP kann ich noch nicht so gut
function getListe()
{
$iRet = NULL;
$myDB = &new DB;
$myDB->query("SELECT fcf.pcfee_puprice,
fcf.pcfee_pumaxcount,fc.fee_basicfee,
fc.fee_eff, fc.fee_exp FROM fee_catfee fcf, fee_contract fc
WHERE fc.fee_c_id =".$this->iFeeCID);
if($myDB -> next_record())
{
//und hier habe ich mir was versucht aber ich weiß nicht weiter//$iPupric = $myDB->f("pcfee_puprice");
//$iPumaxcount = $myDB->f("pcfee_pumaxcount");
//$iFeeCID = $myDB->f("fee_basicfee");
//$dEff = $myDB->f("fee_eff");
//$dExp = $myDB->f("fee_exp");
}
return $iRet;
}
Oha !
In SQL scheinst du dich ja ganz gut zurecht zu finden ;)
Das Problem : das return !
Was sollte denn zurückkommen :
-> _Eine_ Zeile mit mehreren Spalten ?
-> _Mehrere_ Zeilen mit mehreren Spalten ?
Ich tippe auf ersteres.
Also ...
Gehen wir systematisch vor :
Wir haben eine Klasse DB.
-> Was macht sie ?
-> Wie komme ich an das was ich von der Datenbank hole ran ?
-> Was bekomme ich von der Klasse ? Arrays ? ints ? String ?
Das musst du nun rausbekommen !
Wenn das gelärt ist, dann gehts weiter.
Ich gehe nun einfach davon aus, dass mit $myDB->f("feldname") mir den Inhalt des abgefragten Feldes liefert.
Nun...
$result['fee_exp'] = $myDB->f("fee_exp"); // (String) "hallo"
$result['fee_eff'] = $myDB->f("fee_eff"); // (int) "5456"
$result['fee_basicfee'] = $myDB->f("fee_basicfee"); // (float) "5.3432"
nun noch am Schluss ein :
return $result;
Fertig :
function getListe()
{
$result = NULL;
$myDB = &new DB;
$myDB->query("SELECT fcf.pcfee_puprice,
fcf.pcfee_pumaxcount,fc.fee_basicfee,
fc.fee_eff, fc.fee_exp FROM fee_catfee fcf, fee_contract fc
WHERE fc.fee_c_id =".$this->iFeeCID);
if($myDB -> next_record())
{
$result['fee_exp'] = $myDB->f("fee_exp"); // (String) "hallo"
$result['fee_eff'] = $myDB->f("fee_eff"); // (int) "5456"
$result['fee_basicfee'] = $myDB->f("fee_basicfee"); // (float) "5.65432"
}
return $result;
}
Ich denke das sollte funktionieren.
Das einzigste wo ich mir nicht sicher bin :
die Klasse DB
-> Ich weiß nicht, wie und was sie macht bzw. wie sie agiert.
Soweit so gut ...
should help ;)
Gruß Jojo