只显示mysql_fetch_array的第一部分

时间:2014-01-11 03:37:25

标签: php mysql sql arrays fetch

虽然之前已经提出过这个问题的变体,但是没有一个能帮我解决这个难题。目前我已经把表格放在一起更新数据库等等,问题是当我去编辑字段时,只显示数据的第一部分,例如,如果数据是'晴天'那么当我点击时编辑这个字段我得到的只是'Sunny',所以如果我然后点击更新,它会将数据库编辑回Sunny。我错过了什么吗?!

提前致谢。

    // Connects to your Database
    $query=mysql_connect("localhost", "cl52-abcdef","abcdef") or die(mysql_error());
    mysql_select_db("cl52-abcdef",$query);
    ?>
    <html>
    <body>
    <?php
    if(isset($_GET['id']))
    {
      $id=$_GET['id'];
      if(isset($_POST['submit']))
      {
        $holdesc1=$_POST['holdesc1'];
        $holdest1=$_POST['holdest1'];
        $rrp1=$_POST['rrp1'];
        $cpe1=$_POST['cpe1'];
        $ea1=$_POST['ea1'];

        $query3=mysql_query("update DealOne set holdesc1='$holdesc1',holdest1='$holdest1',rrp1='$rrp1',cpe1='$cpe1',ea1='$ea1' where id='$id'");
        if($query3)
        {
          header('location:list.php');
        }
      }
      $query1=mysql_query("select holdesc1, holdest1, rrp1, cpe1, ea1 from DealOne where id='$id'");
      $query2=mysql_fetch_array($query1);
      ?>
        <form method="post" action="">
        1 <input type="text" value=<? echo $query2['holdesc1']; ?> name="holdesc1"><br>
        2 <input type="text" value=<? echo $query2['holdest1']; ?> name="holdest1"><br>
        3 <input type="text" value=<? echo $query2['rrp1']; ?> name="rrp1"><br>
        4 <input type="text" value=<? echo $query2['cpe1']; ?> name="cpe1"><br>
        5 <input type="text" value=<? echo $query2['ea1']; ?> name="ea1"><br><br>
        <input type="submit" name="submit" value="update" />
        </form>
        <?php
    }
    ?>
    </body>
    </html>

2 个答案:

答案 0 :(得分:0)

仅显示数据的第一部分,因为您的value属性值没有引号。否则,您的HTML看起来像:<input type="text" value=Sunny day name="holdesc1">

将文字输入更改为以下内容:

<input type="text" value="<? echo $query2['holdesc1']; ?>" name="holdesc1"><br>
<input type="text" value="<? echo $query2['holdest1']; ?>" name="holdest1"><br>
<input type="text" value="<? echo $query2['rrp1']; ?>" name="rrp1"><br>
<input type="text" value="<? echo $query2['cpe1']; ?>" name="cpe1"><br>
<input type="text" value="<? echo $query2['ea1']; ?>" name="ea1"><br><br>

答案 1 :(得分:0)

也很好地解释了here。这应该可以帮助任何遇到相同问题的人,但不能使用input标记