У меня есть PHP-код для простого поиска базы данных MySQL только с двумя столбцами данных. Я подозреваю, что я, вероятно, уже пройду долгий путь, когда я могу просто сделать это по-другому.Выполнение второго поиска автоматически
У меня есть форма, которую вы можете поместить в имя или IP-адрес, и он будет искать любой из них в базе данных и выводить результаты. У каждого имени может быть только один IP-адрес (последний из них был использован) (для полных уникальных имен будет только один результат или несколько результатов, если частичные имена соответствуют нескольким учетным записям), но IP-адрес может иметь несколько имен (люди, которые используют несколько учетных записей на том же IP-адресе). Что я хочу сделать, так это, если вы ищете имя, оно будет делать обычный одиночный результат (если было введено полное уникальное имя), но затем под ним выполните вторичный поиск для IP, если только NAME был найден в форме.
«Ищет NAME вернул эти результаты:. {Результаты} Мы также нашли эти учетные записи, которые использовали один и тот же 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» соответственно имеют такие данные:
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-адрес Player2, вы получили бы два результата [player2 + altaccount2], так как есть альтернативная учетная запись, которая использует тот же IP-адрес.)
(Прошу прощения за это очень долго ро ул. Я просто хочу предоставить как можно больше подробностей, я попытался исследовать это, но сейчас блок. Большое спасибо, и снова, извините за то, что вы все это прочитали.)
Если вы используете текущую версию PHP, воспользуйтесь входными фильтрами. '$ iplookup = filter_input (INPUT_GET, 'iplookup', FILTER_VALIDATE_IP);' –
Да, я буду, спасибо! :) – DreamPhreak