这是我的功能,我首先使用ophalencontact() 在将这些放入我的班级之后从我的DB中检索联系人我将它们放入一个数组中(因为1" klant"可以有多个联系人)
现在我想把我的联系人放到我的" klant(客户)"使用过滤方法
$contact= array();
foreach($contactlijst as $CT ){
if($key['idklanten']==$CT->getklantID()){
array_push($contact,$CT);
}
else{$contact="";}
}
我认为错误可能在这个功能中有人可以帮助我吗?该代码没有得到调试错误,但当我在网站上呈现它时,它给了我一个空数组。
提前感谢。
function ophalen(){
$this->ophalencontact();
$dbh = new pdo( 'mysql:host=localhost;dbname=nextlead_spreker','nextlead_spreker', 'xxxxxx',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
try {$sth = $dbh->prepare("select * from klanten;");
$sth->execute();
$row = $sth->fetchAll(PDO::FETCH_ASSOC);
$lijst =array();
foreach($row as $key){
$contact= array();
foreach($contactlijst as $CT ){
if($key['idklanten']==$CT->getklantID()){
array_push($contact,$CT);
}
else{$contact="";}
}
$I= new Klanten($key['idklanten'],$key['naam'],$key['adres'],$key['postcode'],$key['stad'],$contact);
array_push($lijst,$I);
}
return $lijst;
}
catch(PDOException $ex){
print_r($ex);
die(json_encode(array('outcome' => false, 'message' => 'Unable to connect')));
}
}
function ophalencontact(){
$dbh = new pdo( 'mysql:host=localhost;dbname=nextlead_spreker', 'nextlead_spreker', 'xxxxxxx',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
try {$sth = $dbh->prepare("select * from contactpersoonklant;");
$sth->execute();
$row = $sth->fetchAll(PDO::FETCH_ASSOC);
$contactlijst =array();
foreach($row as $key){
$CT= new klantContact($key['idcontactpersoonklant'],$key['Voornaam'],$key['tussenvoegsel'],$key['achternaam'],$key['tel'],$key['email'],$key['klanten_idklanten']);
array_push($contactlijst,$CT);
print_r($contactlijst);
}
return $contactlijst;
}
catch(PDOException $ex){
print_r($ex);
die(json_encode(array('outcome' => false, 'message' => 'Unable to connect')));
}
}
答案 0 :(得分:0)
您在此处将$ contact设置为空字符串:
else{$contact="";}
你还想做什么呢?
答案 1 :(得分:0)
摆脱
else {$contact = "";}
您将所有匹配的元素添加到数组中,但每次遇到不匹配的元素时,都会用空字符串替换该数组。你应该忽略不匹配的元素。
另一个问题:你永远不会在$contactlijst
函数中设置ophalen
,因此foreach($contactlist as $CT)
循环没有做任何事情(如果你启用错误报告,你应该收到通知关于未定义的变量)。您从$this->ophalencontact
返回,但ophalen
对返回值没有任何作用。所以第一行应该是:
$contactlijst = $this->ophalencontact();