在函数中的特定位置替换字符串在PHP中?

时间:2015-04-02 23:13:49

标签: php mysql

我想从我的函数中将一些动态数据打印到像这样的函数中传递字符串。

我的功能

function mysql_funX_Repeter($query,$itemtemplet)
{
    $this->mysql_funX_connect();

    $result = mysql_query($query) or die("Repeter Query Error.");
    if (!$result) 
    {
        $message = 'ERROR:' . mysql_error();
        return $message;
    }
    else
    {
        $newtempelt = str_replace("Eval", '$row', $itemtemplet);
        while ($row = mysql_fetch_array($result)) 
        {

            echo $newtempelt;
        }
    }
}

在函数中传递值

<ul>
<?php
$rptvalue="<li><a href=''>Eval['name']</a></li>";
$myFun->mysql_funX_Repeter("Select name from tbldemo",$rptvalue);
?>
</ul>

我的输出

  • $行[&#39;名称&#39;]
  • $行[&#39;名称&#39;]
  • $行[&#39;名称&#39;]

我想要输出

  • 拉吉

  • RAM

  • 王子

但是它只显示变量但不显示它的数据库值。 怎么解决这个...... !!!

3 个答案:

答案 0 :(得分:0)

我会改变你的方法。

function mysql_funX_Repeter($query,$itemtemplet)
{
    $this->mysql_funX_connect();

    $result = mysql_query($query) or die("Repeter Query Error.");
    if (!$result) 
    {
        $message = 'ERROR:' . mysql_error();
        return $message;
    }
    else
    {
        while ($row = mysql_fetch_array($result)) 
        {

            echo "<li><a href=''>".$row[$itemtemplet]."</a></li>";
        }
    }
}

当然,你的方法调用:

<ul>
<?php
$rptvalue="name";
$myFun->mysql_funX_Repeter("Select ".$rptvalue." from tbldemo",$rptvalue);
?>
</ul>

这就是我如何做到这一点来避免令人讨厌的逃避。 :)

答案 1 :(得分:0)

function mysql_funX_Repeter($query,$itemtemplet)
 {
  $html='';
  $this->mysql_funX_connect();
  $result = mysql_query($query) or die("Repeter Query Error.");
  $num_rows=mysql_num_rows($result);
  if($num_rows){
    while ($row = mysql_fetch_array($result)) 
    {
        $newtempelt = str_replace("Eval", $row['column_name'], $itemtemplet);
        $html.="<li><a href=''>".$newtempelt."</a></li>";
    }
  }
  return $html;  
}

//调用方法mysql_funX_Repeter

<ul>
<?php
$rptvalue="name";
echo $myFun->mysql_funX_Repeter("Select ".$rptvalue." from tbldemo",$rptvalue);
?>
</ul>

答案 2 :(得分:0)

开发人员我的问题已得到解决。 谢谢你的回复。

我的功能

//This Repeter Function Created By Priyank Patel
function mysql_funX_Repeter($query,$itemtemplet)
{
    $this->mysql_funX_connect();

    $result = mysql_query($query) or die("Repeter Query Error.");
    if (!$result) 
    {
        $message = 'ERROR:' . mysql_error();
        return $message;
    }
    else
    {
        preg_match_all('/{([^}]*)}/', $itemtemplet, $matches);
        $select = '';
        while($row = mysql_fetch_assoc($result)){
            $aux = $itemtemplet;

            for($i = 0; $i < count($matches[0]); $i++){
                $aux = str_replace($matches[0][$i], $row[$matches[1][$i]],$aux);
            }
            $select .= $aux."\n";
        }
        mysql_close();
        return $select;
    }
}

调用样式

<ul><?php $templet="<li>{name}</li>";echo $myFun->mysql_funX_Repeter("Select * from tbldemo",$templet);?></ul>