<?php 
  $result=mysql_query("select CityCd,CityName from city",$conn); 
  while ($row=mysql_fetch_array($result)) { 
  $CityValue=$row['CityCd']; 
  $str.=" <option value=".$CityValue">".$row['CityName']." </option>"; 
  } 
  ?> 
<select name="City" id="City" method="post"> 
  <?php 
        echo $str; 
  ?> 
</select> 
接收页的代码: 
      $cd=$_POST['City']; 

解决方案 »

  1.   

    不对啊。出现错误:Out of range value adjusted for column 'CityCd'
      

  2.   


    $cd=$_POST['City']; 就是这样的拉!
      

  3.   

    Out of range value adjusted for column 'CityCd,这个是你数据库的问题,$str.=" <option value=".$CityValue">".$row['CityName']." </option>";中的".$CityValue"那个.是多余的吧!
      

  4.   

    <?php 
      $result=mysql_query("select CityCd,CityName from city",$conn); 
      while ($row=mysql_fetch_array($result)) { 
      $CityValue=$row['CityCd']; 
      $str.=" <option value=".$CityValue.">".$row['CityName']." </option>"; 
      } 
      ?> 
    <select name="City" id="City" method="post"> 
      <?php 
            echo $str; 
      ?> 
    </select> LS,他一开始的点是多余的。我写的那个是少了一个点。。
      

  5.   

    另:Out of range value adjusted for column 'CityCd' 问题:原因:
    新版本的MySQL对字段的严格检查。解决方法:
    修改my.ini,将
    sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    改为
    sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"。
    重新启动MySQL。
      

  6.   

    $str = " <option value=".$City.">".$row['CityName']." </option>"; 
     其实建议你用smarty
     那样的话 <{html_options  values=$City output=$row['CityName']}> 直接就可以得到你想要的了
      

  7.   


    <?php 
      $result=mysql_query("select CityCd,CityName from city",$conn); 
      while ($row=mysql_fetch_array($result)) { 
      $CityValue=$row['CityCd']; 
      $str.=" <option value='".$CityValue"'>".$row['CityName']." </option>"; 
      } 
      ?> 
    <select name="City" id="City" method="post"> 
      <?php 
            echo $str; 
      ?> 
    </select> 
    只把<option哪行的value的值加上引号就可以了.
    形如<option value='111'>xxxxx</option>
    否则很容易出问题.
      

  8.   

    post 提交后提交的是select标签里面当前选中的option的value值。所以 <option value=bbbbb >2</option> 
    这样提交的就是bbbbb了
      

  9.   

    $str.=" <option value=.$City>".$row['CityName']." </option>"; 对比一下,下面均是正确的
    $str.=" <option value=$City>".$row['CityName']." </option>"; 
    $str.=" <option value='$City'>".$row['CityName']." </option>"; 
    $str.=" <option value=".$City.">".$row['CityName']." </option>"; 接收页
    echo $_POST['City']; 或print_r($_POST);