Ir para conteúdo
Fórum Script Brasil

Leo Medina

Membros
  • Total de itens

    11
  • Registro em

  • Última visita

Sobre Leo Medina

Leo Medina's Achievements

0

Reputação

  1. Leo Medina

    Sistema de busca.

    Se eu não estiver errado, acredito que, em seu caso, isso esteja acontecendo porque o mySQL por padrão só considera palavras com mais de 3 caracteres em sua busca FULL TEXT. Ou seja quando você busca "JB Autos eletrica", o mySQL só irá considerar o "Autos eletrica" descartando o "JB". É possível configurar o mySQL para que ele aceite buscas com palavras de tamanho menor, mas será preciso você ter acesso de administrador no servidor para configurar um parâmetro no my.ini ou my.cnf. Acesse essa página http://www.bugzilla.org/docs/2.18/html/configuration.html para maiores informações sobre como fazer isso. (Procure pela seção 2.2.2.2. Allow small words in full-text indexes) Espero ter ajudado
  2. Ehhh, estranho. você já tentou limpar o cache do navegador?
  3. você deve colocar as opções do select em questão, por exemplo: <SELECT NAME="marital_status"> <OPTION SELECTED VALUE="">Select...</OPTION> <OPTION>Single</OPTION> <OPTION>Married</OPTION> <OPTION>Separated</OPTION> <OPTION>Divorced</OPTION> <OPTION>Widowed</OPTION> </SELECT> Para maiores informações, leia http://htmlhelp.com/reference/html40/forms/option.html Espero ter ajudado.
  4. ah, tá, você tá querendo as mercadorias agrupadas por vendedor...Se o campo mercadoria fosse, ao invés de varchar, um campo numérico poderíamos usar umas das funções agregadas do sql e resolveríamos o problema com uma cláusula "group by" na query. Mas nesse caso o q você tem q fazer é ordenar a query q está na variável $query pelo nome do vendedor e dentro do loop você vai testar se o vendedor se repete. Enquanto ele se repetir você concatena os valores do campo "Mercadoria" em uma variável e quando ele não se repetir mais você dá o "echo". Entendeu? Seria uma coisa mais ou menos assim (eu não testei, mas já é uma idéia pra você começar): (...) $query ="SELECT V.nome,M.produto FROM Vendedor as V JOIN Vend_Merc as VM ON V.idv = VM.idv JOIN Mercadoria as M ON VM.idm = M.idm WHERE V.nome LIKE('j%') order by V.nome"; (...) $i=0; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $i++; $vendedor = $row["nome"]; //Vendedor Atual if ($i==1) $vendedor_anterior = $vendedor; if ($vendedor==$vendedor_anterior) $produtos.=$row["produto"].", "; else { echo "<tr>"; printf("<td>%s</td><td>%s</td>", $vendedor_anterior, $produtos); echo "</tr>"; $produtos=$row["produto"].", "; } $vendedor_anterior = $vendedor; } echo "<tr>"; printf("<td>%s</td><td>%s</td>", $vendedor_anterior, $produtos); echo "</tr>"; (...) Espero ter ajudado.
  5. Uma outra solução para isso seria criar um índice FULLTEXT para esses campos e usar a busca Full-Text do mysql, no caso de você está utilizando o mysql. Acredito q a consulta ficaria mais otimizada. Dá uma olhada nesses links: http://www.dicas-l.com.br/dicas-l/20060423.php http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html Espero ter ajudado.
  6. Leo Medina

    Erro conexao remota

    tenta colocar $host = "localhost";
  7. <?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Não foi possível conectar: " . mysql_error()); mysql_select_db("mydb"); $query ="SELECT V.nome,M.produto FROM Vendedor as V JOIN Vend_Merc as VM ON V.idv = VM.idv JOIN Mercadoria as M ON VM.idm = M.idm WHERE V.nome LIKE('j%')"; $result = mysql_query($query); if (!$result) { $message = 'Invalid query: ' . mysql_error() . "\n"; $message .= 'Whole query: ' . $query; die($message); } echo "<table> <tr> <td> vendedor </td> <td> mercadoria </td> </tr>"; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "<tr>" printf("<td>%s</td><td>%s</td>", $row["nome"], $row["produto"]); echo "</tr>" } echo "</table>" mysql_free_result($result); ?> Eu não testei o código não, mas acho q é isso. Espero ter ajudado.
  8. Leo Medina

    Duvida PHP + MSSQL

    mysql_connect("localhost", "mysql_user", "mysql_password") or die("Could not connect: " . mysql_error()); mysql_select_db("mydb"); $result = mysql_query("SELECT nome, pontos FROM mytable limit 0,1000 order by pontos desc"); $posicao=0; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $posicao++; if ($row["nome"] == $nomedocara) break; } mysql_free_result($result); echo "posição = $posicao"; Eu não vejo outra solução melhor. Se você tem um banco de dados grande eu coloquei um limit na query do mysql para limitar os resultados em 1000 linhas. Assim a query não fica muito lenta e consome menos memória. Se o cara não estiver entre os 1000 primeiros então é melhor você não mostra a posição dele, exibe apenas uma mensagem dizendo que ele não está nos top 1000. Esses 1000 pode ser 100 ou 50, você decide o que é melhor pra você... Espero ter ajudado
  9. porque você não tenta ao invés de if(!ereg("^([a-zA-Z]*)$",$usuario)): if (!preg_match("/^([a-z]*)$/i", $usuario, $result)) { $status = false; echo = " errado"; } ...se não der certo tb pode ser problema de codificação. Seu script está definido para usar a codificação utf-8? Se estiver faça o seguinte: if (!preg_match("/^([a-z]*)$/i", utf8_decode($usuario), $result)) ou if (!preg_match("/^([a-z]*)$/iu", $usuario, $result)) No caso de if(strlen($senha)<8), você pode usar testar isso aqui(caso sua codificação seja realmente utf-8 como suspeito): if(mb_strlen($senha, 'UTF-8')<8){ (...) Espero ter ajudado.
  10. Leo Medina

    Hora GMT ou UTC

    Cara, no PHP até tem uma função q já faz isso automaticamente, mas no caso do ASP acredito q você vai ter q saber primeiro qual a diferença do GMT do servidor (no caso se seu servidor está no Brasil é -3, nos EUA, alguns são -4 outros -5), e fazer uma funçao que faça a compensação e retorne a data em GMT. No caso vamos dizer que você vá salvar a data 15/07/2008 08:00, se o seu servidor tá no Brasil, você vai acrescentar mais 3 horas a essa data nessa função q retorna a data em GMT para então salvar 15/07/2008 11:00 no seu banco de dados. Entendeu, você sempre acrescenta o inverso da diferença, como o brasil é -3, você vai acrescentar +3, se o seu servidor estivesse em um país com GMT +2, você vai tirar 2 horas. Entendeu? E no caso para mostrar o horario do Brasil você não vai acrescentar +3, e sim -3 ou seja tirar 3 horas da data q está salva em GMT. Cuidado pra não fazer confusão nisso, o Brasil é GMT -3. Espero ter ajudado.
  11. Funciona sim. Tenta a solução abaixo: <!--#include virtual="adovbs.inc"--> ... ip = Request.ServerVariables("remote_addr") sql = "SELECT ip_address, id FROM sql WHERE ip_address = '"& ip &"' ORDER BY id DESC" set conexao=server.CreateObject("ADODB.Connection") conexao.CursorLocation = adUseClient conexao.Open stringdeconexao rs.Open sql, conexao, adOpenKeyset, adLockReadOnly, adCmdText TotalRecs = rs.recordcount Só não esqueça que nesse exemplo acima o arquivo adovbs.inc tem q estar no mesmo diretório do seu script asp. Geralmente ele fica em "C:\Arquivos de programas\Arquivos comuns\System\ado", mas se não souber a localização dele no seu computador, use a facilidade de pesquisar arquivos ou pastas do windows para encontrá-lo e então copie ele para o diretório onde estão seus scripts. Espero ter ajudado
×
×
  • Criar Novo...