PHP搜索结果并将照片链接到profile.PHP页面?

PHP搜索结果并将照片链接到profile.PHP页面?,php,mysql,Php,Mysql,如何将这些搜索结果的每张照片或文本链接到profile.php以查询和输出数据库 简言之,搜索数据库,然后单击任何结果,将您带到他们的个人资料页面。例如:Match.com、facebook.com等(搜索并单击以查看个人资料) 另外,如何在同一行中输出名字和姓氏 请帮忙 这是HTML搜索表单 <h2>Search</h2> <form name="search" action="searchresults.php" method="POST"> Searc

如何将这些搜索结果的每张照片或文本链接到profile.php以查询和输出数据库

简言之,搜索数据库,然后单击任何结果,将您带到他们的个人资料页面。例如:Match.com、facebook.com等(搜索并单击以查看个人资料)

另外,如何在同一行中输出名字和姓氏

请帮忙

这是HTML搜索表单

<h2>Search</h2> 
<form name="search" action="searchresults.php" method="POST">
Search for: <input type="text" name="find" /> in 
<Select NAME="field">
<Option VALUE="firstName">First Name</option>
<Option VALUE="email">Email</option>
</Select>


Search for: <input type="text" name="find1" /> in 
<Select NAME="field1">
<Option VALUE="lastName">Last Name</option>
</Select>

<br><br>

Search for: <input type="text" name="find2" /> in 
<Select NAME="field2">
<Option VALUE="gender">Gender</option>
</Select>

<br><br>

Search for: <input type="text" name="find3" /> in 
<Select NAME="field3">
<Option VALUE="age">Age</option>
</Select>

<br><br>

Search for: <input type="text" name="find4" /> in 
<Select NAME="field4">
<Option VALUE="city">City</option>
</Select>

Search for: <input type="text" name="find5" /> in 
<Select NAME="field5">
<Option VALUE="state">State</option>
</Select>


<br><br>

<input type="hidden" name="searching" value="yes" />
<input type="submit" name="search" value="Search" />
</form>
搜索
搜索:在
名字
电子邮件
搜索:在
姓


搜索:在 性别

搜索:在 年龄

搜索:在 城市 搜索:在 陈述

这是searchresults.php

DATABASE CONNECTION

$find = strtoupper($find); 
$find = strip_tags($find); 
$find = trim ($find); 

$find=$_POST['find'];
$field=$_POST['field'];

$find1=$_POST['find1'];
$field1=$_POST['field1'];

$find2=$_POST['find2'];
$field2=$_POST['field2'];

$find3=$_POST['find3'];
$field3=$_POST['field3'];

$find4=$_POST['find4'];
$field4=$_POST['field4'];

$find5=$_POST['find5'];
$field5=$_POST['field5'];

$data="SELECT firstName, lastName, email, userphoto, gender, age, city, state FROM    actorsInfo 
WHERE upper($field) LIKE '%$find%'
AND upper($field1) LIKE '%$find1%'
AND upper($field2) LIKE '%$find2%'
AND upper($field3) LIKE '%$find3%'
AND upper($field4) LIKE '%$find4%'
AND upper($field5) LIKE '%$find5%'
"; 

$result = mysql_query($data);
$count=mysql_numrows($result);

echo '<br><br>';

if($count > 0){
echo"<table border=0>";

//get images and names in two arrays

$firstName= $row["firstName"];
$lastName= $row["lastName"];
$email= $row["email"]; 
$userphoto= $row["userphoto"];
$gender= $row["gender"];
$age= $row["age"];
$city= $row["city"];
$state= $row["state"];

$age = array();
$gender = array();
$userphoto = array();
$firstName = array();
$lastName = array();
$city = array();
$state = array();

while ($row = mysql_fetch_array($result))
{
$userphoto[] = "<img src='images/".$row['userphoto']."' height='200' width='160'>";
$firstName[] = $row['firstName'];
$lastName[] = $row['lastName'];
$age[] = $row['age'];
$gender[] = $row['gender'];
$email[] = $row['email'];
$city[] = $row['city'];
$state[] = $row['state'];

}

while(!empty($userphoto))
{       
//output images     
foreach(array($userphoto, $firstName, $lastName, $age, $email, $city, $state) as $items)
{
    echo "<tr>";

    foreach($items as $key=>$item)
    {
        echo "<td><font size =\"2\" >$item</td>"; 

        //output only four of them
        if($key==4)
        {
            break;
        }
    }
    echo "</tr>";
}
//remove the first five images from $images because they're already printed
$userphoto = array_slice($userphoto, 5);
$firstName = array_slice($firstName, 5);
$lastName= array_slice($lastName, 5);
$email = array_slice($email, 5);
$age = array_slice($age, 5);
$city = array_slice($city, 5);
$state = array_slice($state, 5);

}
数据库连接
$find=strtoupper($find);
$find=带标签($find);
$find=修剪($find);
$find=$_POST['find'];
$field=$_POST['field'];
$find1=$_POST['find1'];
$field1=$_POST['field1'];
$find2=$_POST['find2'];
$field2=$_POST['field2'];
$find3=$_POST['find3'];
$field3=$_POST['field3'];
$find4=$_POST['find4'];
$field4=$_POST['field4'];
$find5=$_POST['find5'];
$field5=$_POST['field5'];
$data=“从ActorInfo中选择名字、姓氏、电子邮件、用户照片、性别、年龄、城市、州
其中上部($field)如“%$find%”
和上面的($field1),如“%$find1%”
和上面的($field2),如“%$find2%”
和上层($field3),如“%$find3%”
和上层($field4),如“%$find4%”
和上层($field5),如“%$find5%”
"; 
$result=mysql\u查询($data);
$count=mysql\u numrows($result);
回音“

”; 如果($count>0){ 回声“; //获取两个数组中的图像和名称 $firstName=$row[“firstName”]; $lastName=$row[“lastName”]; $email=$row[“email”]; $userphoto=$row[“userphoto”]; $SEXT=$row[“SEXT”]; $age=$row[“age”]; $city=$row[“city”]; $state=$row[“state”]; $age=array(); $gender=array(); $userphoto=array(); $firstName=array(); $lastName=array(); $city=array(); $state=array(); while($row=mysql\u fetch\u数组($result)) { $userphoto[]=“”; $firstName[]=$row['firstName']; $lastName[]=$row['lastName']; $age[]=$row['age']; $gender[]=$row['gender']; $email[]=$row['email']; $city[]=$row['city']; $state[]=$row['state']; } 而(!empty($userphoto)) { //输出图像 foreach(数组($userphoto、$firstName、$lastName、$age、$email、$city、$state)作为$items) { 回声“; foreach($key=>$item的项目) { 回显“$item”; //只输出其中四个 如果($key==4) { 打破 } } 回声“; } //从$images中删除前五个图像,因为它们已打印 $userphoto=array\u slice($userphoto,5); $firstName=array\u slice($firstName,5); $lastName=array\u slice($lastName,5); $email=array\u slice($email,5); $age=array\u slice($age,5); $city=array\u slice($city,5); $state=array\u slice($state,5); }
以下是将id传递给profile.php的解决方案

$userphoto[] = "<a href='profile.php?id=".$row['id']."'><img   src='images/".$row['userphoto']."' height='200' width='160'></a>";
<?php
$id = (int)$_GET['id'];
if (isset($_GET['id']))
{
//fetch and display the information with database Query 

$con=mysqli_connect("127.0.0.1", "admin", "password","actors");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM actorsInfo where id = " . $_GET['id']);

while($row = mysqli_fetch_array($result))
{


echo $row['firstName'] . " " . $row['email'];
echo "<br>";
}
mysqli_close($con);
}

?>
$userphoto[]=”;
下面是profile.php

$userphoto[] = "<a href='profile.php?id=".$row['id']."'><img   src='images/".$row['userphoto']."' height='200' width='160'></a>";
<?php
$id = (int)$_GET['id'];
if (isset($_GET['id']))
{
//fetch and display the information with database Query 

$con=mysqli_connect("127.0.0.1", "admin", "password","actors");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM actorsInfo where id = " . $_GET['id']);

while($row = mysqli_fetch_array($result))
{


echo $row['firstName'] . " " . $row['email'];
echo "<br>";
}
mysqli_close($con);
}

?>


旁注:它是
mysql\u num\u rows
而不是
mysql\u numrows
。这(
mysql.*
)扩展从
PHP5.5.0
开始就被弃用,并将在将来被删除。相反,应使用准备好的或扩展语句来抵御SQL注入攻击!我以为SQL注入只发生在插入上。有人误导了我。