2011-04-22 2 views
1

私はslqテーブル(postgresdb)を作成しますが、フィールド 'notes'のすべての値を出力したいが、phpはこの値の最初の単語のみを出力します。 'イプサムディキシット'なぜphpがフィールドテキストタイプのすべての内容を出力しないのですか

なぜを切断

$name=trim($_POST['name']); 


//select 


if(!$query = @pg_query($conn,"SELECT notes FROM customer WHERE customer.name = '$name' ")) 
die("Errore nella query: " . pg_last_error($conn)); 


//print the content of field 'notes' 


while($row = pg_fetch_array($query)) 
{ 

echo "<li>Notes: <input type=\"text\" placeholder=\"insert text\" id=\"note\" value=".$row['note']."></li>";  

} 

私のフィールドノートの値が 'Loremのイプサムのディキシット' である場合、PHPの印刷のみ 'Loremの'?私は解決策を見つける


は、私はあなたにみんなに感謝

<li>Note: <input type="text" placeholder="inserisci testo" id="note" value=" <?php echo $row['note'] ?>"></li>

echo "<li>Notes: <input type=\"text\" placeholder=\"insert text\" id=\"note\" value=".$row['note']."></li>";

を交換

+0

DBレコードの内容である "lorem ipsum dixit" ? – azat

+0

これは二重引用符を含む可能性があるので、文字列をhtmlエンコードする必要があります。PHPでは、これは関数htmlentities()またはhtmlspecialchars()で行うことができます – Erik

答えて

1

私もところでecho $row['notes'];

+0

基本的に、セルの内容をエコーアウトしたいときに二重引用符を使用する理由はありません。 –

-1

あなたは、配列ではなくフェッチしているので連想配列mysql_fetch_assoc関数を使ってみてください。探している動作が分かるはずです。

+0

書き込みしません!まずmysql_fetch_assocではなく、ここではpgsqlです。そして、2番目の配列contantとassoc配列も! – azat

+0

問題は機能ではありません。このようにして結果を出力する場合は、echo "$ row ['notes']";すべての 'lorem ipsum dixit'を出力しますが、入力テキストのhmtlフィールドに$ row ['notes']を表示すると、テキストが途切れます。例echo "

  • 注:
  • ";このようにして 'lorem'だけを印刷するのはなぜですか? – Antonio

    +0

    私はpostgresと同じ機能を試してみましたが、入力テキストフィールドに値を印刷すると機能しません – Antonio

    0

    echo "$row['notes']";に代わる、それがあるべき引用符の必要はありませんecho $row['notes'];

    +0

    両方のバリエーションが正しいです。しかし、二重引用符を使わない方が好きです。 – azat

    1

    あなたが得るべきである

    <input ... value=lorem ipsum> 
    

    のようなもの

    <input ... value="lorem ipsum"> 
    
    関連する問題