търсене в база с данни

systems

Registered
Добър вечер въпроса ми е следния има ли начин тази търсачка да се направи да търси в две таблици тоест имам впредвид следната заявка:
тоест да търси по два критерия
memebers и reg_ip


PHP:
$searchResults = mysql_query("SELECT * FROM users WHERE members LIKE  '%$search%'");

PHP:
?>
$dbhost = "localhost";
$dbuser = "dbuser"; 
$dbpass = "dbpass"; 
$dbname = "db"; 
$connect = mysql_connect("$dbhost", "$dbuser", "$dbpass");
mysql_select_db($dbname,$connect) or die ("Could not select database");
echo '<center>
<form action="index.php" method="post">
<input type="text" name="search" size="30" />
<input type="submit" value="search" />
<input type="hidden" value="1" name="form_submit" />
</form>
</center>';
if($_POST['form_submit']==1){
$search = $_POST['search'];
$searchResults = mysql_query("SELECT * FROM users WHERE members LIKE  '%$search%'");
while($row = mysql_fetch_array($searchResults)){
echo '<br/> <span style="color:#04688d">email адрес-:<span style="color:#04688d">'.$row['members'];
echo '<br/> <span style="color:#04688d">Регистрационен IP адрес-:<span style="color:#04688d">'.$row['reg_ip'];
}
echo '<br/><br/>';
}
if(mysql_num_rows($searchResults)==0)
{
echo "<div class='error'>Няма намерени данни</div>";
}
}
?>
 
това са колони :)
в две колони ли искаш да търсиш или в две различни таблици ?

това ти е за две колони :

PHP:
$search = $_POST['search'];
$searchip = $_POST['searchip'];
$searchResults = mysql_query("SELECT * FROM users WHERE members LIKE  '%$search%' and reg_ip LIKE  '%$searchip%'");
 
в две колони направих я така но отново си търси само memebers
като реша да търся ип ми казва че няма намерени резултати

ето я с примера които ми даде:
виждам че
$search = $_POST['search']; се повтаря но и да го махна пак същата работа

PHP:
$dbhost = "localhost";

$dbuser = "dbuser"; 

$dbpass = "dbpass"; 

$dbname = "db"; 

$connect = mysql_connect("$dbhost", "$dbuser", "$dbpass");

mysql_select_db($dbname,$connect) or die ("Could not select database");

echo '<center>

<form action="index.php" method="post">

<input type="text" name="search" size="30" />

<input type="submit" value="search" />

<input type="hidden" value="1" name="form_submit" />

</form>

</center>';

if($_POST['form_submit']==1){

$search = $_POST['search'];
$search = $_POST['search'];
$searchip = $_POST['searchip'];
$searchResults = mysql_query("SELECT * FROM users WHERE members LIKE  '%$search%' and reg_ip LIKE  '%$searchip%'");

while($row = mysql_fetch_array($searchResults)){

echo '<br/> <span style="color:#04688d">email адрес-:<span style="color:#04688d">'.$row['members'];

echo '<br/> <span style="color:#04688d">Регистрационен IP адрес-:<span style="color:#04688d">'.$row['reg_ip'];

}

echo '<br/><br/>';

}

if(mysql_num_rows($searchResults)==0)

{

echo "<div class='error'>Няма намерени данни</div>";

}

}

?>
 
$searchResults = mysql_query("SELECT * FROM users WHERE members LIKE '%$search%' and reg_ip LIKE '%$searchip%'");


Изтрий червените букви от заявката и всичко ще е ОК.
 
промених го махнах searchip го промених навсякъде на search
и сега каквото и да търся казва че няма намерени резултати.
 
сложи във формата още едно поле де :)
нали искаш да търсиш по две стойности а подаваш само една

<form action="" method="post">
<input type="text" name="search" size="30" />

<input type="text" name="searchip" size="30" />

<input type="submit" value="search" />
<input type="hidden" value="1" name="form_submit" />
</form>
 
$searchResults = mysql_query("SELECT * FROM users WHERE members LIKE '%$search%' and reg_ip LIKE '%$search%'");

Заменяш с OR. Ако ще добавяш второ поле, както е ти е написал vasilev, тогава остави втората променлива да е $searchip
 

Back
Горе