$contacts = array(
array("name"=>"Samatha Perera", "Email"=>"smatha@gmail.com", "Telephone"=>array("office"=>"0112233789","personal"=>"0718256385","home"=>"0112843425")),
array( "name"=>"Charith Fernando", "Email"=>"charith@gmail.com", "Telephone"=>array("office"=> "0112656457","personal"=>"0718456723","home"=>"0112334466"))
);
从这个阵列我需要通过HTML表格按名称,电子邮件,电话号码进行搜索。我已经完成了表单和搜索编码部分,但它没有工作。
搜索代码:
if(isset($_POST['submit'])){
function search_name($id, $array){
foreach($array as $key => $val){
while($val['name'] === $name){
echo "<td>".$array['id']."</td>";
}
}
return "wrong";
}
$name = $_POST['val-box'];
$id= search_name($name,$contacts);
}
答案 0 :(得分:0)
$ name作为$ id参数发送给函数 我想你的意思是:
while($val['name'] === $name){
到
while($val['name'] === $id){
答案 1 :(得分:0)
这是你正在寻找的吗? (你有一些小的错别字和错误。)(我从代码中删除了帖子以在本地测试它,但你可以轻松地再次添加该代码。)
$contacts = array(
array("name"=>"Samatha Perera", "Email"=>"smatha@gmail.com", "Telephone"=>array("office"=>"0112233789","personal"=>"0718256385","home"=>"0112843425")),
array( "name"=>"Charith Fernando", "Email"=>"charith@gmail.com", "Telephone"=>array("office"=> "0112656457","personal"=>"0718456723","home"=>"0112334466"))
);
function search_name($id, $array){
foreach($array as $key => $val){
if($val['name'] == $id){
echo "<td>".$val['name']."</td>" .
"<td>".$val['Email']."</td>" .
"<td>".$val['Telephone']['office'] . "</td>" .
"<td>".$val['Telephone']['personal'] . "</td>" .
"<td>".$val['Telephone']['home'] . "</td>";
}
}
echo "wrong";
}
$name = 'Samatha Perera';
$id= search_name($name,$contacts);
答案 2 :(得分:0)
$contact = array(
array("name"=>"Samantha Perera",
"email"=>"samantha@gmail.com",
"telephone"=>
array("office"=>"0112233789",
"personal"=>"0718256385",
"home"=>"0112843425")),
array("name"=>"Charith Fernando",
"email"=>"charith@gmail.com",
"telephone"=>
array("office"=>"0112656457",
"personal"=>"0718456723",
"home"=>"0112334466")),
array("name"=>"Malith Wijekoon",
"email"=>"malith@hotmail.com",
"telephone"=>
array("office"=>"0332301311",
"personal"=>"077456453",
"home"=>"0112556677")),
array("name"=>"Sanath Perera",
"email"=>"sanath@yahoo.com",
"telephone"=>
array("office"=>"0112201654",
"personal"=>"0757277365",
"home"=>"0312867725")),
array("name"=>"Gihnan Indran",
"email"=>"gihan@gmail.com",
"telephone"=>
array("office"=>"032222526",
"personal"=>"0778856385",
"home"=>"0322243426")),
);
function searchValue($type, $value, $array) {
foreach ($array as $key => $val) {
//echo $val[$type]. "=== ".$value."<br/>";
if($type != 'tp'){
if ($val[$type] === $value) {
return $key;
}
}else{
if ($val['telephone']['office'] === $value || $val['telephone']['personal'] === $value || $val['telephone']['home'] === $value) {
return $key;
}
}
}
return null;
}
if(isset($_POST['btn_search'])){
$text = isset($_POST['search_val'])?$_POST['search_val']:null;
$type = isset($_POST['search'])?$_POST['search']:null;
$result = searchValue($type,$text, $contact);
$data ='';
$data .= "<table class=\"resl\" width=\"800px\"><tr><td>Name</td><td>Email</td> <td>Telephone</td></tr>";
$data .= "<tr><td valign=\"top\">".$contact[$result]['name']."</td><td valign=\"top\">".$contact[$result]['email']."</td><td>Office :".$contact[$result]['telephone']['office']."</br>Personal :".$contact[$result]['telephone']['personal']."</br>Home :".$contact[$result]['telephone']['home']."</td></tr>";
$data .= "</table>";
}
这是html部分。
<body>
<form name="form1" action="<?php $_SERVER['PHP_SELF']?>" method="POST">
Search Contacts
<table>
<tr>
<td>Search By</td>
<td colspan="2"><select name="search">
<option value="name" <?php echo(isset($_POST['search'])&&($_POST['search']=="name")?"selected":null); ?>>Name</option>
<option value="email" <?php echo(isset($_POST['search'])&&($_POST['search']=="email")?"selected":null); ?>>Email</option>
<option value="tp" <?php echo(isset($_POST['search'])&&($_POST['search']=="tp")?"selected":null); ?>>Telephone</option>
</select>
</td>
</tr>
<tr>
<td>Search Value</td>
<td><input type="text" name="search_val" id="search_val" value="<?php echo (isset($_POST['search_val'])?$_POST['search_val']:null) ?>"></td>
<td><button type="submit" name="btn_search">Search</button>
</tr>
</table>
<?php
if(isset($data )){echo $data ;}
?>
</form>
</body>