我想采用文本字段输入(作业)并将其存储在我的数据库中,并使用逗号分隔列表。这就是我尝试过的:
public function __saveNewJob($newJob,$jobscopeChosen) {
$jobId = $this->__getScopeId($jobscopeChosen);
$jobList = $this->__getJoblist($jobId);
$jobList_comma = explode(",",array_filter($joblist));
$jobList_array = array_push($jobList_comma,$newJob);
$jobList_save = implode(",",$jobList_array);
$query = "UPDATE xxxx SET jobs='".$jobList_save."' WHERE id='$jobId'";
$result = mysql_query($query) OR die(mysql_error());
$newJob
是我想要保存的文本字段中的字符串。
$jobscopeChosen
是选择框中的值。
数据库中名为jobs
的表应该像Designer, Producer, Administration
等。
我的想法是获取逗号分隔列表,将其分解为数组,推送新值并将其再次内爆到字符串。
我的数据库在我的表格中显示Array
。我很绝望。我究竟做错了什么?有什么想法吗?
答案 0 :(得分:0)
我个人不喜欢使用array_push,因为PHP具有完全可以接受的语言结构,如[]。
你需要内爆正确的数组,所以试试这个:
$jobList_comma = explode(",", array_filter($joblist));
$jobList_comma[] = $newJob;
$jobList_save = implode(",", $jobList_comma);
如果这对你不起作用,$ joblist必须是一个数组(爆炸需要)而不是字符串,你应该在它上面做一个var_dump来检查它的类型和内容,然后你就可以搞清楚这是错误的以及如何解决它。例如,如果getJobList()从数据库返回一个数组,则不需要对其进行分解,但是您需要仅过滤掉所需的数据并将其内容保存起来。