Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment gérez-vous ', guillemet simple dans les noms de personnes en php, javascript

Vous passez par beaucoup de travail d'ajout de chaîne désordonné et sujet aux erreurs juste pour sortir une variable javascript. Ce que vous devriez faire à la place est de construire la structure de données que vous voulez en PHP (un tableau de tableaux), puis d'utiliser json_encode() pour émettre un littéral compatible javascript. Toutes les citations et autres seront automatiquement échappées par l'encodeur.

$itemOutput = array();
if(count($items)) {
    foreach($items as $item) {
        foreach($advisors as $key=>$advisor) {
            if($item['advisor']==$advisor['id']) {
                $ad=$advisor['last_name'];
            }
        }
        $active_icon = ($item['active']=='1'?'tick':'cross');
        $editlink = anchor('auth/admin/members/form/'.$item['id'],$this->bep_assets->icon('pencil'));
        $itemOutput[] = array(
            $item['first_name'],
            $item['last_name'],
            $item['email'],
            $item['parent_email'],
            $item['parent_email2'],
            $ad,
            $this->beep_assets->icon($active_icon),
            $editLink
        );
    }
}
echo "data.addRows(" . json_encode($itemOutput) . ");" ;

Si vous avez un objet ou un tableau associatif, il est émis en tant qu'objet javascript :

echo json_encode( 
    array( 'a'=>'aa', 'b'=>'bb'),
    array( 'c'=>'cc', 'd'=>'dd')
);
==> [{"a":"aa","b":"bb"},{"c":"cc","d":"dd"}]