繁体   English   中英

将特定数据库列放入数组中

[英]Specific database columns into an array

最初,这个简单的数组和foreach语句工作得很完美,但我需要从php数组更改为从数据库中获取信息:

$serversArray = array(
    "domainname1.com",
    "domainname2.com:port",
    "domainname3.org",
    "000.000.000.000:port");

foreach($serversArray as $server)

ID    IP                Port
1     domainname1.com   
2     domainname2.com   12345
3     domainname3.org   
4     000.000.000.000   54321

我需要弄清楚的是如何将IP和端口列格式化为ip:port(中间带冒号),然后让foreach语句识别每一个,以便它可以使用其他一些脚本处理它,就像如何它已经与数组一起工作了。 (我也试过在foreach中使用sprintf,但这打破了页面。)

以下是如何使查询以正确的格式返回:

SELECT IF(`PORT` IS NULL, `IP`, CONCAT(`IP`,":",`PORT`)) as `Formatted IP`
FROM YOUR_TABLE;

你想从数据库查询构建$ serversArray吗?

$serversArray = array();
$sql     = "SELECT ip, port FROM my_table";
$result = mysql_query($sql);
while ($row  = mysql_fetch_array($result))
{
    // if have port include it after : otherwise just include ip
    $serversArray[] = $row['port'] ? "{$row['ip']}:{$row['port']}" : $row['ip'];
}


旧时尚sql查询只是为了显示构建数组的过程。 目前我们应该使用MySQL函数(PDO_MYSQL)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM