您好我有以下问题我正在使用以下代码。
<?php
//DB CONNECTION
$ROWS = "id,firstname,lastname";
// explode at the comma and insert into an array
$test = explode("," , $ROWS);
//adds array test to the var sam
$sam = array($test);
// querys the database
$new = mysql_query("SELECT * FROM {$DB_TABLE}");
// while loop to loop through selected fields
while ($row = mysql_fetch_array($new)) {
foreach ($sam[0] as $v) {
echo $row[$v] . $DELIMITER . "<br />";
}
echo "<br />";
}
?>
这将输出以下内容。
834(|)Step(|)Thompson(|)
835(|)Lucy(|)kim(|)
836(|)Iwan(|)Will(|)
837(|)Sarah (|)Good(|)
我正在努力的是我想摆脱最后的分隔符
所以它会是
834(|)Step(|)Thompson
835(|)Lucy(|)kim
836(|)Iwan(|)Will
837(|)Sarah (|)Good
我尝试过使用
// while loop to loop through selected fields
while ($row = mysql_fetch_array($new)) {
foreach ($sam[0] as $v) {
$test = $row[$v] . $DELIMITER;
echo substr($test, 0, -1);
}
echo "<br />";
}
但是这摆脱了所有人的分隔符???
这将输出以下内容。
834Stephompson
835Lucykim
836IwanWill
837SarahGood
理想情况下,我希望每一行都可以存储在一起。
任何帮助请今天我有一个糟糕的一天,我的头完全被炒了???
答案 0 :(得分:3)
尝试使用implode:
while ($row = mysql_fetch_array($new)) {
$myrows = array();
foreach ($sam[0] as $v) {
myrows[] = $row[$v];
}
echo implode($DELIMITER, $myrows).'<br />';
}
答案 1 :(得分:1)
方法1: 将每行的数据写入数组,然后使用implode
方法2: 设置一个标志以省略分隔符;
<?php
while (...)
{
$tmp = 1;
foreach (...)
{
if ($tmp)
{
$tmp = 0;
}
else
{
echo $DELIMETER;
}
echo $row[...];
}
}
答案 2 :(得分:0)
您可以插入一个数组(表示为替代方式)所需的值,并避免从数据库中获取的每一行的foreach,但如果您真的想使用现在的代码,则可以执行以下操作:
while ($row = mysql_fetch_array($new)) {
$values = array();
foreach ($sam[0] as $v) {
$values[] = $row[$v];
}
echo implode($DELIMITER , $values) . '<br/>';
}
或替代
while ($row = mysql_fetch_array($new)) {
$values = array($row['id'], $row['firstname'], $row['lastname']);
echo implode('(|)',$values) . '<br/>';
}
答案 3 :(得分:0)
您可以尝试这样的事情
// querys the database
$new = mysql_query("SELECT * FROM {$DB_TABLE}");
// while loop to loop through selected fields
while ($row = mysql_fetch_array($new)) {
echo $row[0];
for($i = 1; $i < count($row); $i++) {
echo $DELIMITER.$row[$i];
}
echo "<br />";
}
答案 4 :(得分:0)
感谢所有人们设法让它与以下内容一起使用的响应;)
// querys the database
$new = mysql_query("SELECT {$ROWS} FROM {$DB_TABLE}");
// while loop to loop through selected fields
while ($row = mysql_fetch_assoc($new)) {
$tmp = array();
$tmp[] = implode($DELIMITER, $row);
echo $tmp[0] . "<br />";
}