if(isset($_POST['button'])) {
$myfile = fopen("test.txt", "w") or die("Cannot open!");
$txt = '';
foreach($result_set as $result) {
$asd = $txt.json_encode($result['firstname']);
echo $asd;
}
fwrite($myfile, $asd);
fclose($myfile);
}
我得到了这个json,但它只在.txt中保存了一个名字而不是所有名字,但如果我回应
$ ASD
它显示了我所有的名字。
我该如何解决这个问题?
编辑:(result_set)
// DB
$db = DBWrapper::getInstance();
#Selecting data
$table = "staff";
$columns = array("id", "firstname");
$whereDish = array('categorie_bit = :idDish');
$valuesDish = array('idDish' => 10);
#random select
$whereRand = array('categorie_bit = :idRand');
$orderbyrandom = array('RAND()');
$result_set = $db->select($table, "*", $whereDish, $valuesDish, $orderbyrandom, 10);
答案 0 :(得分:0)
因为你一次又一次地写作$ asd。
试试这个。初始化$asd = ''
并且在foreach附加到$ asd
$asd .= $txt.json_encode($result['firstname']);
答案 1 :(得分:0)
为什么不简单地说:
<?php
if( isset( $_POST['button'] ) ) {
$txt = '';
foreach( $result_set as $result ) {
file_put_contents( 'test.txt', $txt . json_encode( $result['firstname'] ), FILE_TEXT | FILE_APPEND );
}
}
?>
或者,也许我认为你打算(因为单个名称上的json_encode可能不会产生任何有用的东西 - 只是引号内的一系列名称而不是json对象)
<?php
if( isset( $_POST['button'] ) ) {
$tmp=array();
$txt = '';
foreach( $result_set as $result ) {
$tmp[]=$txt . $result['firstname'];
}
file_put_contents( 'test.txt', json_encode( $tmp ), FILE_TEXT | FILE_APPEND );
}
?>
答案 2 :(得分:0)
您可以使用以下代码:
<?php
if( isset( $_POST['button'] ) ) {
private $txt;
$txt = "\n";
foreach( $result_set as $result ) {
file_put_contents( 'test.txt', $txt . json_encode( $result['firstname'] ), a );
}
}
?>