2013-07-16

【PHP】検索機能と名簿

●検索側

<form method="post" action="list.php">
 <label>検索キーワード:<input type="text" name="keywd"></label>
 <input type="submit" value="検索">
</form>




●アクションPHP(list.php)

<?php
$data = array(
  '山田太郎' => 
    array('男', '1965/12/04', '東京都東京市東町1-1-1'),
  '横山花子' => 
    array('女', '1975/09/21', '神奈川県神奈川市西町1-2-3'),
  '田中一郎' => 
    array('男', '1968/11/17', '東京都東京市南町2-1-4'),
  '山本久美子' => 
    array('女', '1972/01/24', '東京都東京市西町3-2-1'),
  '鈴木次郎' => 
    array('男', '1976/08/09', '千葉県千葉市北町1-4-2'),
  '星山裕子' => 
    array('その他', '19679/05/07', '茨城県茨木市東町3-2-1'),
  '佐藤勝男' => 
    array('男', '1980/12/15', '東京都東京市北町2-1-3')
);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>PHP入門教室</title>
</head>
<body>
<ol>
<?php
foreach($data as $name =>$prof){
 $pos = mb_strpos($name, $_POST['keywd']);
 if($pos !== FALSE){
  print('<li>'.$name.'</li>');
  print('<li>'.$prof[0].'</li>');
  print('<li>'.$prof[1].'</li>');
  print('<li>'.$prof[2].'</li>');
  }
 
 }

?>
</ol>
</body>
</html>






mb_strpos(文字列, 検索する文字列);


検索した文字位置、見つからない場合は→false返す



文字位置とは?
(例)
$data ='山田岡田塚';

$pos = mb_strpos($data, $_POST['keywd']);
print('<p>'.$pos.'</p>');


『笹』で検索 結果→『4』($pos文字位置『0』から数える)


配列場合↓↓
$data = array('山田','岡田','笹塚');

foreachで配列を全て選択

foreach($data as $d){
 $pos = mb_strpos($d, $_POST['keywd']);
print('<p>'.$pos.'</p>');
 }

『笹』で検索 結果→『0』
『田』で検索する 結果→『1』が縦に2つ並ぶ


$pos = mb_strpos($name, $_POST['keywd']);
 if($pos !== FALSE){
  print('<li>'.$name.'</li>');
  print('<li>'.$prof[0].'</li>');
  print('<li>'.$prof[1].'</li>');
  print('<li>'.$prof[2].'</li>');



◆if文 もしも●●だったら…

if(●●){
この処理をしてね


$pos !== FALSE//FALSEじゃなかったら

!==…同じじゃない

0 件のコメント:

コメントを投稿

アマゾン和書/最新の情報