1

SQLクエリとPHPであなたの助けが必要です.

ここでコードを書く必要があります:
1.

$sql = "SELECT SUBSTR(n.`title`, 1,1) FROM node n WHERE n.`type` = 'type1'";
$results = db_query($sql);
while ($fields = db_fetch_array($results)) {
  foreach($fields as $key => $value) {
    echo $value;
  }
}

上記のコードは、記事のタイトルの最初の文字 (テーブル - ノード、列 - タイプ、タイトル) を次のように返します - NHDKFLF...

2.

if (preg_match ('/A/i', $string)) {
  echo ('Contains letter A'); //
}
else {
  echo ('Nothing'); //
}    

2 番目の部分では、文字列に特定の文字が含まれているかどうかを確認します。

さて、問題はこれら 2 つのコードをどのように組み合わせるかです。DB からデータを取得し、特定の文字があるかどうかを確認する方法を意味します。

前もって感謝します。

4

2 に答える 2

1

2 つの選択肢が思い浮かびます。現在行っていることを実行するか、SQL を書き直して両方を同時に実行するかです。

オプション1:

$sql = "SELECT SUBSTR(n.`title`, 1,1) FROM node n WHERE n.`type` = 'type1'";
$results = db_query($sql);
while ($fields = db_fetch_array($results)) {
  foreach($fields as $key => $value) {
    if (preg_match ('/A/i', $value)) {
       echo ('Contains letter A'); //
    } else {
       echo ('Nothing'); //
    }
  }
}

オプション 2:

$sql = "SELECT SUBSTR(n.`title`, 1,1) FROM node n WHERE n.`type` = 'type1' AND SUBSTR(n.`title`, 1,1) = 'A' ";

プロジェクトの残りの詳細によっては、おそらくこれを処理するためのより良い方法があります。

于 2009-08-03T22:45:41.117 に答える
0

必要なものだけを照会しないのはなぜですか?

... where SUBSTR(n.`title`, 1,1) = 'A' ...

クエリの外側でコードをフィルター処理する必要がある場合は、次のようになります。

foreach($fields as $key => $value) {
    if (preg_match ('/A/i', $value)) {
        ...
}
于 2009-08-03T22:45:33.350 に答える