对于从MYSQL源连接HTML中的Dropdown select选项有疑问。我已成功将下拉列表项与数据库连接,但是我注意到,下拉列表中还有其他“ 1”值,该值未存储在数据库中。这是下拉菜单的外观:


有数据库数据的屏幕截图,其结构如下:




最后,还有PHP代码,它将我的下拉菜单项与数据库连接:

  $sql = "SELECT dan, datum, lokacija FROM termini";
  $result = mysql_query($sql);

  echo "<td><select name='dan, datum, lokacija'>";
  while ($row = mysql_fetch_array($result)) {
    echo "<option value='" . $row['dan'], $row['datum'], $row['lokacija'] . "'>" . $row['dan'], print(" , "),  $row['datum'], print(" , "), $row['lokacija'] . "</option>";
  }
  echo "</select></td>";

  ?>
</select>


为什么在“基准”和“ Lokacija”之前存在“ 1”值?

最佳答案

输出中额外的“ 1”的原因是此行中的print()语句:

echo "<option value='" . $row['dan'], $row['datum'], $row['lokacija'] . "'>"
     . $row['dan'], print(" , "),  $row['datum'], print(" , "), $row['lokacija']
     . "</option>";


实际上,在此处使用,.语法进行回显都没有关系。

原因在于您的print(" , ")语句:


print()echo之前执行,因为它是echo参数的一部分。
print(" , ")将字符串" , "回显到STDOUT,并返回true(= 1)以表示成功。
所得的true值将转换为1,然后由echo写入STDOUT。


结合使用echoprint()基本上是说同一件事两次。您的代码应为:

echo "<option value='" . $row['dan']. $row['datum']. $row['lokacija'] . "'>"
     . $row['dan'] . " , " . $row['datum'] . " , " . $row['lokacija']
     . "</option>";

关于php - 来自MYSQL的下拉菜单中的其他“1”值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31538305/

10-11 22:22
查看更多