1

私はかなり単純な本のデータベースを持っています.9つのフィールドを持つテーブルは1つだけです。いくつかのフィールドには複数の単語が含まれていますが、テーブルにレコードを表示すると、最初の単語しか取得できません。

私は以下を使用してテストしました:print_r($record['title']);

DB の画像からわかるように、テーブルの外側に完全なタイトルが表示されます。コードを確認しましたが、問題がどこにあるのかわかりませんが、単純な解決策である可能性が高いことはわかっています。

<?php
    include "mysqlconnect2.php";    
    mysql_select_db('MySite',$conx);    

    if (isset($_POST['update'])){
        $updateQuery = "UPDATE books SET id='$_POST[id]', section='$_POST[section]', topic='$_POST[topic]', subtopic='$_POST[subtopic]', title='$_POST[title]', isbn13='$_POST[isbn13]', isbn10='$_POST[isbn10]', cdincluded='$_POST[cdincluded]', notes='$_POST[notes]' WHERE id='$_POST[id]'";

        mysql_query($updateQuery, $conx);


    };



    $sql = "SELECT `id`,`section`,`topic`,`subtopic`,`title`,`isbn13`,`isbn10`,`cdincluded`,`notes` FROM books";
    $mydata = mysql_query($sql,$conx);

    echo "<table border=1>
    <tr>
    <th>id</th>
    <th>Section</th>
    <th>Topic</th>
    <th>Subtopic</th>
    <th>Title</th>
    <th>Isbn13</th>
    <th>Isbn10</th>
    <th>Cd Included</th>
    <th>Notes</th>
    <th>Update</th>
    </tr>";

    while ($record = mysql_fetch_array($mydata)){
        print_r($record['title']);
        echo "<form action='books3.php' method='post'>";
        echo "<tr>";
        echo "<td>" . "<input type='text' name='id' disabled value=" . $record['id']  . "> </td>";
        echo "<td>" . "<input type='text' name='section' value=" . $record['section'] . "> </td>";
        echo "<td>" . "<input type='text' name='topic' value=" . $record['topic'] . "> </td>"; 
        echo "<td>" . "<input type='text' name='subtopic' value=" . $record['subtopic'] . "> </td>"; 
        echo "<td>" . "<input type='text' name='title' value=" . $record['title']  . "> </td>";
        echo "<td>" . "<input type='text' name='isbn13' value=" . $record['isbn13']  . "> </td>";
        echo "<td>" . "<input type='text' name='isbn10' value=" . $record['isbn10']  . "> </td>";
        echo "<td>" . "<input type='text' name='cdincluded' value=" . $record['cdincluded']  . "> </td>";
        echo "<td>". "<input type='text' name='notes' value=" . $record['notes']   . "> </td>";
        echo "<td>" . "<input type='submit' name='update' value='Update'>";
        echo "</td>";
        echo "</tr>";
        echo "</form>"; 
    }
    echo "</table>";
    mysql_close($conx);

?>

DB と出力のスクリーンショット

前もって感謝します

4

1 に答える 1

2

問題は、HTML の作成方法にあります。

あなたのコードは次のようになります:

<td><input type='text' name='title' disabled value=Several words in a title> </td>

しかし、あなたはこれを持っている必要があります:

 <td><input type='text' name='title' disabled value='Several words in a title'> </td>

(タイトルの周りの引用符に注意してください。)

値を引用符で囲みます。

echo "<td><input type='text' name='title' value='" . $record['title']  . "'> </td>";
于 2013-06-14T03:02:25.927 に答える