Jump to content
Lucas-5281

Filtragem de dados mysql

Recommended Posts

Boa tarde galera, estou com muita dificuldades em fazer uma filtragem de busca por mais de uma coluna, tipo eu consigo fazer a busca em apenas uma das colunas, eu tenho aqui 4 colunas no meu banco de dados e queria fazer uma busca por uma das 4 coluna, tanto colocar uma informação da coluna 1 2 ou 3 e os dados aparecerem. as colunas que eu tenho são:

 

Coluna 1: nome

Coluna 2: validade

Coluna 3: email

Coluna 4: login

 

Eu estou conseguindo filtrar só em uma dessas colunas. :(

mysql_select_db($database_config, $config);
$query_Recordset1 = sprintf("SELECT * FROM `1` WHERE login LIKE %s", GetSQLValueString("%" . $colname_Recordset1 . "%", "text"));

Por favor.... Me ajudem :worship: :clover:

Share this post


Link to post
Share on other sites

Tenta assim:

 

$query_Recordset1 = "SELECT * FROM `1` WHERE nome LIKE '%s' OR validade LIKE '%s' OR email LIKE '%s' OR login LIKE '%s'";
trocando o %s pela sua respectiva variável.
  • +1 1

Share this post


Link to post
Share on other sites

Boa noite amigo!!! Aqui esta mostrando só o primeiro resultado e quando eu aperto no botão buscar não acontece nada, fica como esta. O que será que pode ser?

mysql_select_db($database_config, $config);
$query_Recordset1 = "SELECT * FROM `1` WHERE nome LIKE '%s' OR validade LIKE '%s' OR email LIKE '%s' OR login LIKE '%s'";

2s6mvxh.jpg

Share this post


Link to post
Share on other sites

Sim, '1' é a tabela, estou usando o dreamweaver, a estrutura esta logo abaixo. Obrigado

<?php require_once('Connections/config.php'); ?><?phpif (!function_exists("GetSQLValueString")) {function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") {  if (PHP_VERSION < 6) {    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;  }  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);  switch ($theType) {    case "text":      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";      break;        case "long":    case "int":      $theValue = ($theValue != "") ? intval($theValue) : "NULL";      break;    case "double":      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";      break;    case "date":      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";      break;    case "defined":      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;      break;  }  return $theValue;}}$colname_Recordset1 = "-1";if (isset($_POST['00000'])) {  $colname_Recordset1 = $_POST['00000'];}mysql_select_db($database_config, $config);$query_Recordset1 = "SELECT * FROM `1` WHERE nome LIKE '%s' OR validade LIKE '%s' OR email LIKE '%s' OR login LIKE '%s'";$Recordset1 = mysql_query($query_Recordset1, $config) or die(mysql_error());$row_Recordset1 = mysql_fetch_assoc($Recordset1);$totalRows_Recordset1 = mysql_num_rows($Recordset1);?><style type="text/css">body {	margin-left: 0px;	margin-top: 0px;	margin-right: 0px;	margin-bottom: 0px;	background-color: #09C;}</style><form name="form1" method="post" action="">  <label for="00000"></label>  <input type="text" name="00000" id="00000">  <input type="submit" name="button" id="button" value="Enviar"></form><table width="100%" border="0" cellpadding="2" cellspacing="8">  <?php do { ?>    <tr>      <td width="14%" bgcolor="#ffc000">Nome: <?php echo $row_Recordset1['nome']; ?></td>      <td width="22%" bgcolor="#92d050">Validade: <?php echo $row_Recordset1['validade']; ?></td>      <td width="34%" bgcolor="#ffc000">E-mail: <?php echo $row_Recordset1['email']; ?></td>      <td width="21%" bgcolor="#92d050">Login: <?php echo $row_Recordset1['logincs']; ?></td>      <td width="9%" ><img src="img/editar.png" width="27" height="25" style="margin-right:10px;"><img src="img/apagar.png" width="24" height="25"></td>    </tr>    <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?></table><?phpmysql_free_result($Recordset1);?>

O que pode estar errado?

Edited by Mário Monteiro

Share this post


Link to post
Share on other sites

Presta atenção no que eu te falei no POST anterior. Você precis é estudar mais. Seu problema está debaixo de seu nariz.

 

Você quer fazer uma pesquisa com base em 3 condições, baseado no "login" ou no "email" ou no "NOME"

 

Porém você, não está informando isso ao mysql. Sua consulta deverá ficar assim:

$query_Recordset1 = "SELECT * FROM `1` WHERE nome LIKE '%$colname_Recordset1' OR validade LIKE '%$colname_Recordset1' OR email LIKE '%$colname_Recordset1' OR login LIKE '%$colname_Recordset1'";
  • +1 1

Share this post


Link to post
Share on other sites

Muito obrigado amigo!!!! Realmente a resposta estava em baixo de meu nariz e eu não estava achando. Agora aprendi certinho. Agradeço muito pela ajuda :clap: :clap: :clap:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.