AJAX + PHP自生成字段产生空白结果

时间:2013-08-05 16:00:46

标签: php ajax mysqli

我回来了,这个可能有点棘手,但我们会发现! :d

好的我正在使用php自行填充我的select字段,因此我不必在新代理加入时不断更新options。我在页面的这一部分使用ajax(javascript),除了公司select字段外,我没有遇到任何问题。

Live site

我的所有select字段都可以解决任何问题,但公司字段不会只显示那些似乎有“&”的公司在名字里。 (两家公司仍在使用名称中的“&”)

无法运作的公司名单:
-Anthem
-Bogart
-Burnham
- 保险保险 -Fawcett
-JRM
-Kenneth B. Brown
-Newton
-Sam F.
-Sherrill
-Wallace&特纳

PHP公司select代码:(公司字段中的if / else语句理想情况下为if ($row['Company'] !== NULL) { echo '<option value="'.$row['Company'].'">'.$row['Company'].'</option>'; }但由于某种原因,它将在option下拉列表中的空白处回显。 )

<label for="company">Company</label><br />
<select id="company" name="users" onChange="showUser(this.value)">
       <?php include 'login.php';

        $result = mysqli_query($con, "SELECT DISTINCT Company FROM `roster` ORDER BY Company ASC;");
                    echo '<option value="">' . 'Select a Company' .'</option>';
                    while ($row = mysqli_fetch_array($result)) {
                        if ($row['Company'] == NULL) {

                        }
                        else {
                            echo '<option value="'.$row['Company'].'">'.$row['Company'].'</option>';
                        }
                    }
        ?>
</select>

其他select字段的PHP:

<label for="last">Last Name</label><br />
                <select id="last" name="Last_Name" onChange="showUser(this.value)">
                    <?php include 'login.php';

                    $result = mysqli_query($con, "SELECT DISTINCT Last_Name FROM `roster` ORDER BY Last_Name ASC;");
                    echo '<option value="">' . 'Select an Agent' .'</option>';
                    while ($row = mysqli_fetch_array($result)) {
                        echo '<option value="'.$row['Last_Name'].'">'.$row['Last_Name'].'</option>';
                    }
                    ?>
</select>

关于这个的任何想法?如果你需要查看结果中回显的process.php页面,那就问一下!非常感谢任何帮助过的人。

通过php填充HTML时的外观:

<select id="company" name="users" onchange="showUser(this.value)">
     <option value="">Select a Company</option><option value="A.R.T. Group">A.R.T. Group</option><option value="ALPHA Benefits">ALPHA Benefits</option>                    
</select>

我只包含了一些,因为其中80个是一大块html。

1 个答案:

答案 0 :(得分:1)

您需要urlencode通过ajax传递的参数。 &符号告诉PHP $_GET['q']已完成且新的$_GET变量正在开始。

注意&符号的%26会返回所需的结果。

http://healthbenefitsohio.com/process.php?q=Anthem%20Blue%20Cross%20%26%20Blue%20Shield

您的公司选项应如下所示:

echo '<option value="'.urlencode($row['Company']).'">'.$row['Company'].'</option>';

为了更好的衡量,我还会对显示器进行编码

echo '<option value="'.urlencode($row['Company']).'">'.htmlspecialchars($row['Company'],ENT_QUOTES).'</option>';