我正在为我的邮件程序制作一个str_replace
函数,但我无法使用它。我目前正在使用此代码替换单词:
$strSQL = "SELECT * FROM NAW.VAAW";
$objQuery = mysql_query($strSQL);
{
while($objResult = mysql_fetch_array($objQuery))
$Voornaam = $objResult["Voornaam"];
$Achternaam = $objResult["Achternaam"];
$Adres = $objResult["Adres"];
$Woonplaats = $objResult["Woonplaats"];
$string = $_POST['naam'];
$vaaw = array("(voornaam)", "(achternaam)", "(woonplaats)", "(adres)");
$vervang = array("$Voornaam", "$Achternaam", "$Woonplaats","$Adres");
echo str_replace($vaaw, $vervang, $string);
}
这个问题是,如果我更改列名或添加/删除列,那么我将不得不将我的代码更改为。我想知道是否有一种方法可以显示数组中的数据,看起来就像这行现在一样:
$vaaw = array("(voornaam)", "(achternaam)", "(woonplaats)", "(adres)");
类似于:
$vaaw = array("(1st value)", "(2nd value)", "(3rd value)", "(and so on)");
我得到的列名是:
select column_name from information_schema.columns where table_name='Klant'
长话短说,有没有办法得到这个查询的结果:
select column_name from information_schema.columns where table_name='Klant'
看起来像这样:
$vaaw = array("(value1)", "(value2)", "(value3)", "(and so on)");
和
$vervang = array("$objResult["value1"]", "$objResult["value2"]", "$objResult["value3"]","$objResult["and so on"]");
我无法在我看过的任何其他网站/论坛上找到任何内容,所以如果有人知道是否有某种功能,那就太棒了!
答案 0 :(得分:1)
我不确定我完全理解你想要完成的事情。但请看看这个,看看这是否是您正在寻找的http://php.net/manual/en/function.mysql-field-name.php
<?php
/* The users table consists of three fields:
* user_id
* username
* password.
*/
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect to MySQL server: ' . mysql_error());
}
$dbname = 'mydb';
$db_selected = mysql_select_db($dbname, $link);
if (!$db_selected) {
die("Could not set $dbname: " . mysql_error());
}
$res = mysql_query('select * from users', $link);
echo mysql_field_name($res, 0) . "\n";
echo mysql_field_name($res, 2);
?>
The above example will output:
user_id
password
您可以使用mysqli_field_count和mysql_field_name的组合来动态填充数组。基本上,您确定字段数,然后使用for循环,使用索引动态地将项目附加到数组。
数组(mysql_field_name($ res,0),mysql_field_name($ res,1));
答案 1 :(得分:1)
探测器dit:
<?php
// Grab your mysql result in your $objectResult array as you did in your code, then do the following:
$body = 'Geachte (Voornaam) (Achternaam), welkom bij blablabla... ' . PHP_EOL;
foreach($objectResult as $key => $value) {
$body = str_replcae('(' . $key . ')', $value, $body);
}
// The output would be something like: "Geachte Jan Janssen, welkom bij blablabla"
?>
基本上,这将是搜索与您的数据库列名对应的键名,并将其替换为相应的值。
电子邮件系统的理想选择,简单明了;)