sebbo: wer findet den fehler

hallo un dguten abend.

ich benötige dringend eure hilfe da ich allein nicht weiterkomme, womöglich liegt es nur an einer kleinigkeit und ich bin nur betriebsblind.

ich habe also eine umfrage die mir die ergebnisse ausgeben soll.
die umfrage ergebnisse werden per php/mysql ermittelt und an die result.tpl datei weitergeben.
hier die funktion in meiner php.

function result($uid="") {
  GLOBAL $PHP_SELF, $QUERY_STRING;
  $un=$uid;
  $cfg=$this->cfg;

// init mysql
  include($this->pos."/include/mysql.php");

if($un=="") {
   $db_res=mysql_query("SELECT * FROM $cfg[dbpre]umfragen ORDER BY id DESC LIMIT 1");
   $res=mysql_fetch_array($db_res,MYSQL_ASSOC);
   $un=$res[id];
  }

$db_res_auswahl=mysql_query("SELECT * FROM $cfg[dbpre]auswahl WHERE un='$un' ORDER BY id") or die(mysql_error());
        $pot_answers=mysql_num_rows($db_res_auswahl);

for($i=0;$i<=$pot_answers;$i++) {

${reply.$i}=0;
        }

$db_res_rep=mysql_query("SELECT auswahl FROM $cfg[dbpre]replies WHERE un='$un'");
        $anz_rep=mysql_num_rows($db_res_rep);
        if($anz_rep==0) {
            $anz_rep=1;
            $reply0++;
        }
        while($row=mysql_fetch_array($db_res_rep)) {
            ${reply.$row[0]}++;
        }
        $tpl=implode("",file($this->pos."/template/".$this->tpl."/result.tpl"));
        $tpl=str_replace("{PHP_SELF}",$PHP_SELF."".$QUERY_STRING,$tpl);

$tpl_parts[0]=str_replace("{anz_rep}",$anz_rep,$tpl_parts[1]);
        $tpl_parts[0]=str_replace("{rep0}",$reply0,$tpl_parts[1]);
        $tpl_parts[0]=str_replace("{rep0proz}",number_format($reply0/$anz_rep*100,2)." %",$tpl_parts[1]);
  echo $tpl_parts[0];

$tpl_parts=explode("<!--_-->",$tpl);
  $i=1;
  $out=$tpl_parts[0];
        while($row=mysql_fetch_array($db_res_auswahl,MYSQL_ASSOC))
  {
            $proz=${reply.$i}/$anz_rep;
            $balklen=$cfg[maxbalk]*$proz;
            $proz=number_format($proz*100,2)." %";

$curr_tpl=$tpl_parts[1];
            $curr_tpl=str_replace("{auswahl}",$row[auswahl],$curr_tpl);
            $curr_tpl=str_replace("{bar}",$cfg[images].'/bar.gif',$curr_tpl);
            $curr_tpl=str_replace("{balklen}",$balklen,$curr_tpl);
            $curr_tpl=str_replace("{proz}",$proz,$curr_tpl);
            $out.=$curr_tpl;
            $i++;
  }
        $out.=$tpl_parts[2];
        echo $out;
 }

}

komme nicht weiter, die funktion läuft einwandfrei.
nur wird in meiner result.tpl
die {anz_rep} {rep0} und {rep0proz} nicht ersetzt.
die {auswahl,bar} und der grafik{balklen} sowie {proz}werden geparst.
findet jemand den fehler.

wäre super glücklich endlich weiter arbeiten zu können, ich verzweifle fast daran.

danke und tschau sebbo

  1. Hi,

    im code hast du zuerst

    $tpl_parts[0]=str_replace("{anz_rep}",$anz_rep,$tpl_parts[1]);

    und erst später

    $tpl_parts=explode("<!--_-->",$tpl);

    gehört andersrum.

    LG,
    gerhardii