Ir para conteúdo
Fórum Script Brasil

mbleonardo

Membros
  • Total de itens

    650
  • Registro em

  • Última visita

Posts postados por mbleonardo

  1. O único problema de compatibilidade entre o PHP4 e o 5 são algumas funções que o 4 não suporta e algumas estruturas de OO. Não deve ser esse o seu problema.

    Provavelmente o problema vem antes desse seu código, se você está pegando os dados de um banco de dados, pode estar acontecendo um problema na conexão entre seu script e o banco de dados.

    Não mostra nenhuma mensagem de erro? Se mostrar, poste pra gente. Se não coloca esse código lá no inicio do código:

    error_reporting(E_ALL);
    ini_set("display_erros", "On");
    

    Isso irá mostrar qualque erro que possa estar acontecendo, é bom para fazer debug como no seu caso. Poste os erros que aparecerem.

  2. Lembre-se que o PHP não trabalha com números com vírgula (separador de centenas). Você também não pode fazer cálculos com o número depois de formatado, pois ele passa a ser uma string.

    $valor = 5,000.50; // Não funciona

    $valor = 5000.50 // funciona

    $valor = number_format($valor,2,",",".");

    $valor = $valor + $valor2; //Não funciona -> $valor não é numérico

    Veja se você está definindo corretamente o valor.

  3. Acho que você precisa usar uma conbinação de "MousePressed", "MouseReleased" e "MouseDragged" para saber a posição que a peça estava e pra onde ela foi, além de permitir ao usuário segurar e soltar a peça.

    Tem como você acessar essa Grid por célula? Por exemplo, eu quero colorir as células onde o usuário passou o mouse, tem como ?

  4. Passa o valor para um campo <input type="hidden">

    Por exemplo:

    <input type="hidden" name="n_itens" id="n_itens">
    <script>
    //n_itens = variavel que armazena o numero de itens impressos
    document.getElementById("n_itens").value = n_itens
    </script>

    Acho que você sabe o que fazer depois disso.

  5. Problema clássico do newslatter? É que seu server limita o número de mensagens por hora?

    Deixar sleep por uma hora é o pior método a ser utilizado. Tenta programar tarefas CRON que é a melhor coisa a fazer.

    Esse site pode te ajudar se seu host não suporta tarefas Cron:

    http://www.webcron.org/

  6. Acho que no 1º post, no último while, onde esta assim:

    while ($i > 0){

    while ($line = mysql_fetch_array($query,MYSQL_ASSOC)){

    if ($mem[$i][1] == $line['id']){

    $mem[$i][2] = $line['apelido'];

    echo "<A href=ver.php?id=".$mem[$i][1]."'>".$mem[$i][2]."</A><BR>";

    $i -= 1;

    }

    }

    }

    Acho que aquela parte vermelha teria que estar dentro do 1º loop criado não no segundo, porque aí ele pode não subtrair 1 do $i e vai ser sempre maior que zero. Tenta assim:

    while ($i > 0){

    while ($line = mysql_fetch_array($query,MYSQL_ASSOC)){

    if ($mem[$i][1] == $line['id]){

    $mem[$i][2] = $line['apelido'];

    echo "<A href='ver.php?id=".$mem[$i][1]."'>".$mem[$i][2]."</A><BR>";

    }

    }$i -= 1;

    }

    Ah, para subtrair 1 de $i você também pode usar $i--

  7. Você pode gravar arquivos CSS dinamicamente utilizando as funções de acesso a arquivo do PHP (fopen(), fread(), fwrite()) ou utilizar um arquivo PHP mesmo, só basta mudar o header "Content-type", por exemplo:

    <?php

    header("Content-type: text/css");

    print " body {color: #000000; font-size: 10pt } ";

    ?>

    Logicamente você pode utilizar variáveis para escrever os estilos, por exemplo:

    <?php

    header("Content-type: text/css");

    $color = "#".$_GET["color"];

    $size = $_GET["size"]."pt";

    print " body {color: $color; font-size: $size } ";

    ?>

    Aí você linka assim por exemplo:

    <link href="styles/style.css?color=000000&size=12" rel="stylesheet" type="text/css"/>

  8. Assim como mbleonardo falou funciona, mas se o cara tiver o ip do brasil vai ser bloqueado. E outra, tem ip's estrangeiros que possuem apenas dois numeros na primeira classe. Tipo: 83.425.651.32.

    Exatamente o contrário, eu coloquei para permitir apenas IPs do Brasil, isso que ele quer. Só tem um erro que coloquei 2001 ao invés de 201

    O único problema aí é que não é so o Brasil que tem IP 201 (200 é).

    Procura no Google por GEOIP você vai achar bastante bancos de dados com informações de Ips de todos os praíses.

  9. Cara, eu ainda não entendi por que você estruturou o banco dessa forma. No caso da tabela eixos, as colunas são do tipo BOOL (Sim/não) ?

    Percebi que você colocou milhares de campos no WHERE, isso deixa sua consulta muito lenta. Para verificar isso utilize o EXPLAIN SELECT ...

    Você poderia colocar na tabela produtos um campo EIXO e jogar estes valores para ele ("BRASEIXOS", "BRASEIXOS 200", "DANA", etc).

    O mesmo acontece na tabela produtos, nos campos

    - CAT_GM

    - CAT_VW

    - CAT_FORD

    - CAT_MERC

    você poderia colocar um campo "Marca" com esses dados ("GM", "VW", "FORD", etc)

    esses campos poderiam ser to tipo ENUM se só pode haver uma marca por produto ou do tipo SET, que você pode escolher vários valores.

    Com relação a esse problema na sua consulta, acredito que seja porque você deve especificar o LIKE em todos os campos:

    ... WHERE cat_gm LIKE '%$busca%' OR

    cat_vw LIKE '%$busca%' OR

    cat_ford LIKE '%$busca%' OR

    cat_merc LIKE '%$busca%' OR

    cat_agr LIKE '%$busca%' OR

    ...

    se não ele interpreta como "verdadeiro" e sempre retorna o resultado

  10. Acho que você vai ter que utilizar uma query mais avançada com INNER JOIN. Tenta montar as tabelas no Access, criar uma consulta e pega a SQL dela.

    Se não, veja mais na documentação do mysql (eu não sei utilizar INNER JOIN). Mas eu ainda acho que tem algum problema na forma de como você estruturou o banco... Você colocou uma tabela pra busca por categoria, outra por produto e outra por eixo ?

  11. Não é uma boa prática manter dados duplicados no banco de dados, pois eles podem gerar muitos problemas como o seu. No caso de um estoque por exemplo, é melhor criar um campo numérico de controle de quantidade.

    Bom, tente utilizar assim:

    SELECT DISTINCT ....

    isso vai eliminar linhas onde todos os campos escolhidos são duplicados.

  12. No caso o PHP só vai poder trabalhar com o(s) valor(es) que o usuário escolheu.

    Se sua página for estática (HTML puro) fica fácil saber o número de itens, porque não vai mudar. Se foi gerado dinamicamente através de outra página PHP por exemplo, você pode contar quantos itens estão sendo inseridos na sua lista enquanto imprime os <option> e colocar como valor padrão em um novo campo do form ou gravar em uma variável de sessão por exemplo.

    Se tiver algum método para contar os itens depois que eles foram criados, deve ser em JavaScript.

×
×
  • Criar Novo...