Php 从逗号分隔的数组和其他数组获取数据
我正在为我的邮件程序制作一个Php 从逗号分隔的数组和其他数组获取数据,php,arrays,str-replace,Php,Arrays,Str Replace,我正在为我的邮件程序制作一个str\u replace函数,但我无法让某些东西工作。我目前正在使用此代码替换以下文字: $strSQL = "SELECT * FROM NAW.VAAW"; $objQuery = mysql_query($strSQL); { while($objResult = mysql_fetch_array($objQuery)) $Voornaam = $objResult["Voornaam"]; $Achternaam = $objRes
str\u 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)");
及
我还没能在我看过的任何其他网站/论坛上找到任何东西,所以如果有人知道这有什么功能,那就太好了 我不确定我是否完全理解你想要实现的目标。但是看看这个,看看这是不是你想要的
上述示例将输出:
用户id
密码
您可以使用mysqli\u field\u count和mysql\u field\u name的组合来动态填充数组。基本上,您需要确定字段的数量,然后使用for循环,使用索引将项动态附加到数组中
数组(mysql_field_name($res,0),mysql_field_name($res,1)) Probeer-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"
?>
所以基本上,这将搜索与数据库列名对应的键名,并用相应的值替换它们
非常适合电子邮件系统,简单明了;)
<?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
<?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"
?>