dポイントプレゼントキャンペーン実施中!

このような感じでやってみたのですが、
ちゃんと表示しません。

pr と言うフィールドの先頭10文字を表示させたいのです

初心者です、よろしくお願いいたします。


$body .= "<a href='../m/" .$col["id"] . "s.html'>★</a>" . "$col(pr,1,10)" . "<br>" ;

A 回答 (3件)

> $body .= "mb_substr($col['pr'],0,10)" . "<br>" ;



単純に、

$body .= mb_substr( $col['pr'], 0, 10 ) . "<br>" ;

――で良いかと。
もしかして、文字列操作は必ず二重引用符で囲まなければいけないと思い込んでるとか。

SQLを使ってるなら、クエリ(すなわちデータベース側)で10文字区切りにする手もあります。
    • good
    • 0
この回答へのお礼

ありがとうございます、
ちゃんと表示いたしました!!

文字列は必ず二重引用符で囲まないといけないと
思っていました。。
それからうまく行かない時にはずしたり
色々していました。

本当にありがとうございました。

お礼日時:2006/03/25 18:22

>pr と言うフィールドの先頭10文字を表示させたい


substr($col['pr'],0,10)

マルチバイト文字列の場合は
mb_substr を使う

参考URL:http://jp.php.net/manual/ja/function.substr.php

この回答への補足

回答ありがとうございます。

なかなかうまくいきません。

以下のようなエラーが返ってきました。
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /virtual/wave/public_html/mng/test.php on line 24

下記に全文記させていただきましたので
目を通していただけませんか。。

宜しくお願いいたします。

24行目はこの行です
$body .= "mb_substr($col['pr'],0,10)" . "<br>" ;
なお、この行を
$body .= $col['pr'] . "<br>" ;
こう書くと普通に表示します。


<?php
//データベース関連のデータをインクルードします
require_once("dbini.php");
//MySQLに接続します
$con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);
//データベースを選択します
$selectdb = mysql_select_db($DBNAME, $con);


//3件抽出するSQL文を組み立てます
$sql =" select * from mem order by regdate limit 3" ;


//結果セットを取得します
$rst = mysql_query($sql, $con);



$body .= "<hr>新着更新情報<br>";
//結果セットからデータを読み込みます
while($col = mysql_fetch_array($rst)) {


$body .= "mb_substr($col['pr'],0,10)" . "<br>" ;

}


mysql_free_result($rst);
$con = mysql_close($con);
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>無題ドキュメント</title>
</head>

<body>
<?= $body ?>
</body>
</html>

補足日時:2006/03/25 15:43
    • good
    • 0

部分文字列を取得する関数として、


substr()/mb_substr()
を利用できます。詳しくは、PHPのリファレンスをご覧ください。

初心者という事ですので、最初のうちは、
試験的なコード(文字列を変数に代入して、その変数でsubstrを呼び出した結果を出力するような2行程度のもの。)を書いて、どういう挙動するかを学習してったほうが、マスターの近道になると思います。

参考URL:http://jp.php.net/manual/ja/

この回答への補足

アドバイスありがとうございます!!

リファレンスなどじっくり読んでからの方が
効率もいいだろうとは思うのですが、
これだけは先にする必要に駆られて
皆さんの手を煩わせています。。

先ほどの物ですが、エラー表示になります
言われたように変数に文字を入れるとそのまま表示してしまいます。**5文字でして見ました

$body .= "mb_substr('あいうえおかきくけこさし',0,5)" . "<br>" ;

表示

mb_substr('あいうえおかきくけこさし',0,5)
mb_substr('あいうえおかきくけこさし',0,5)
mb_substr('あいうえおかきくけこさし',0,5)

スミマセン、宜しくお願いいたします。

補足日時:2006/03/25 15:37
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!