두 개의 데이터 열로 간단한 MySQL 데이터베이스 검색을 수행하는 PHP 코드가 있습니다. 나는 내가 이미 다른 방식으로 그것을 할 수있을 때 나는 이미 먼 길을 가고 있다고 생각한다.자동으로 두 번째 검색하기
이름이나 IP 주소에 입력 할 수있는 양식이 있으며 데이터베이스에서 해당 양식을 검색하여 결과를 출력합니다. 각 이름은 하나의 IP 주소 (마지막으로 사용 된 IP 주소) 만 가질 수 있습니다 (전체 고유 이름은 1 개의 결과 만 가지거나 부분 이름이 여러 계정과 일치하는 경우 여러 결과가 있음). 그러나 IP 주소는 여러 개의 이름 같은 IP에). 내가 원하는 것은 이름을 검색하면 정규 고유 한 결과 (전체 고유 이름이 입력 된 경우)를 수행하지만 그 아래에서 이름에 대한 IP의 보조 검색을 수행합니다. 형식으로 검색했습니다.
내가 지금까지 가지고있는 코드 :는 "당신의 이름에 대한 검색이 결과를 반환했습니다. {결과를} 우리는 또한 는 동일한 IP 주소를 사용하고 이러한 계정을 발견 : {결과 이름 검색의 첫 번째 결과에서 같은 IP와 일치를} ". 여기
(내가 GET을 사용하고 있기 때문에 일부 정리)
$iplookup = strtolower($_GET['iplookup']);
$iplookup = stripslashes($iplookup);
$iplookup = strip_tags($iplookup);
$iplookup = preg_replace('/[^A-Za-z0-9\._]/','',$iplookup);
$sql = mysql_query("select
* from banlistip where name like '%$iplookup%' OR lastip like '%$iplookup%'
");
if (empty($iplookup)) {
echo '<br><b>You left the search form empty.</b>';
} else {
while ($row = mysql_fetch_array($sql)) {
echo '<br/> Name: '.$row['name'];
echo '<br/> Player IP: '.$row['lastip'];
echo '<br/><br/>';
}
}
그리고 바로 여기 그것이 얻을 것이다 $row['lastip']
변수를 검색 한 다음 검색을 수행하면 처음부터 IP 주소를 검색하는 것과 동일합니다.
두 가지 단계를 없애고 모든 원하는 결과를 한 번에 볼 수 있습니다. 일반적으로 IP 검색을 수행하려면 이름을 검색하고 강조 표시 한 다음 IP를 복사 한 다음 양식으로 돌아가서 IP을 검색해야합니다.
"이름"과 "lastip"각각 다음과 같이 데이터가라는 두 개의 열이있는 테이블 : 당신이 Player2를 검색하는 경우 (
player1 111.111.111.111
player2 222.222.222.222
player3 111.000.111.000
player4 222.000.222.000
altaccount1 111.000.111.000
altaccount2 222.222.222.222
, 당신이 있기 때문에, 하나 개의 결과를 얻을 것 Player2의 IP를 검색 한 경우 동일한 IP 주소를 사용하는 다른 계정이 있으므로 [player2 + altaccount2]의 결과가 두 개 있습니다.
포 성. 나는 가능한 한 많은 세부 사항을 제공하기를 원한다. 나는 이것을 연구하려고 노력했지만, 지금 당장 블록을 가지고있다. 감사합니다. 다시 한 번,이 모든 것을 읽게해서 죄송합니다.)
현재 버전의 PHP를 사용하는 경우 입력 필터를 활용하십시오. '$ iplookup = filter_input (INPUT_GET, 'iplookup', FILTER_VALIDATE_IP); ' –
네, 고마워요! :) – DreamPhreak