Ir para conteúdo
Fórum Script Brasil

Skin_

Membros
  • Total de itens

    158
  • Registro em

  • Última visita

Posts postados por Skin_

  1. Eu não testei o código não, mas acho q é isso. Espero ter ajudado.

    Obrigado Leo, mas isso não resolve meu problema!

    Seu código oferece como resposta:

    --------------------------------
     Vendedor   |   Mercadoria
    --------------------------------
     joao F. M. | relógio
     joao F. M. | lápis
     joao F. M. | régua
     Joca A. B. | relógio
     Joca A. B. | caderno
    ...
    Mas eu preciso exibir assim:
    --------------------------------
     Vendedor   |   Mercadoria
    --------------------------------
     joao F. M. | relógio,lápis,régua
     Joca A. B. | relógio,caderno
    ...

    Isto é, todas as mercadorias vendidas por joão precisam estar na mesma linha que seu nome (e assim com todos os vendedores)

    Ainda estou precisando de ajuda! se alguém tiver alguma sugestão...

    Valeu!

  2. Olá pessoal,

    considerem as tabelas:

    Table Vendedor (
    idv -> Chave primária,
    nome
    );
    Table Mercadoria(
    idm -> Chave primária,
    produto
    );
    Table Vend_Merc(
    idv,
    idm,
    Primary Key(idv,idm),
    idv -> Chave estrangeira de Vendedor,
    idm -> Chave estrangeira de Mercadoria
    )
    Eu preciso colocar em uma tabela todas as mercadorias vendidas por vendedores com nome começando com 'J'; A tabela precisaria ficar assim:
    | vendedor | Mercadorias |
    | joca    | relógio,lápis,régua|
    | joão    | relógio,caderno|
    ...
    Ou seja, todas as mercadorias de cada vendedor encontrado precisam ficar na mesma linha Não estou com problemas com a consulta.
    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%')

    Não sei como fazer para percorrer os registros da consulta de modo a organizar as informações conforme o exemplo de tabela.

    Alguém poderia me ajudar?

    Valeu!

  3. Olá pessoal,

    no mysql4, para armazenar o retorno da função password('string'), usava um campo tipo CHAR com tamanho 16. Funcionava!

    Ao atualizar para o mysql5, notei que a função password() retorna uma string muito maior.

    existe algum tipo de campo próprio para receber o retorno da função password(). Caso contrário, de for armazenar o retonrno num campo tipo CHAR, qual deve ser seu tamanho mínimo?

    Valeu!

    Skin_

  4. O ideal é deixar o php.ini no diretório do PHP. Crie variáveis de ambiente no PATH do sistema.

    No sub-fórum de artigos, há um tutorial do Fabyo ensinando a instalar.

    Beraldo,

    no passado, até ter formatado minha máquina, eu usava o PHP 4.3, mySQL 4.0 e Apache 2.0.

    Estrava lendo no tutoral que você indicou e o Fabyo sugere a instalação de "phpMySQLAdmin".

    Esse programa é necessário? porque não precisei dele no passado?

    Outra dúvida:

    é necessário baixar "PECL 5.2.5 Win32 binaries". O que significa PCL?

    Bom... obrigado pela ajuda até aqui....

    Acho que não rolou até agora porque não instalei direito!

    Skin_

    É... não está dando certo...

    no artigo do Fabyo, ele indica a criação de duas variáveis de ambiente (uma indicando c:\bin\php e outra indicando c:\bin\php\ext); as duas com o pesmo nome ("PHP")

    Não deveriam ter nomes diferentes?

    Se sim, qual?

    valeu!

    Beraldo,

    Já resolvi o problema!!!!!!!!!!!!!! UFA!

    precisava copiar libmysql.dll para a pasta bin do apache

    (como sugere a resposta do Fabyo para claudio_ts_ma em Artigo do Fabyo no Imasters)

  5. Não há problema em chamar essa função dentro de classes.

    Tente habilitar outras extensões e veja se elas aparecem habilitadas no phpinfo().

    Cara, não aparece nenhuma extensão habilitada no phpinfo().

    as únicas referências para a palavra extension em phpinfo() são:

    PHP Extension: 20060613

    Zend Extension: 220060519

    extension_dir: C:\php5\ext\ C:\php5\ext\

    mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.

    Será que estou trabalhando com o php.ini errado? (na versão anterior, o arquivo php.ini ficava em c:/windows. Para o php5 vale a mesma coisa?

  6. Mudou muta coisa em relação a classes, tanto é que existe um capítulo específico para isso no manual

    Classes e Objetos (PHP 5)

    Veja lá no Manual

    Você não tem o MySQL instalado? Deve ser esse o problema.

    No PHP5,

    Existe algum problema em chamar a função mysql_connect dentro de uma classe?

    Não, não...

    eu desinstalei o mysql pra ver o que estava acontecendo....

  7. você tem de descomentar a linha ;extension=php_mysql.dll.

    Beraldo, as linhas com as exensoes do mysql estão descomentadas.

    e o Erro

    "Fatal error: Call to undefined function mysql_connect() in C:\Apache2\htdocs\Amphibia5.1\classes\servidor.php on line 65"

    PERSISTE.

    DIGAM UMA COISA: mesmo que o Mysql não esteja instalado, o PHP deve reconhecer a função mysql_connect, não é?

    Ou seja, o problema é com o PHP e não com o MySQL, né?

    SIMPLISMENTE NÃO SEI O QUE FAZER!!!

    ALGuÈM pode me ajudar?

    ps: mudou alguma coisa no PHP5 para definições de classe? (é que a função mysql_connect() que não está sendo interpretada está dentro de uma classe (servidor) que eu criei. Volto a dizer: TUDO FUNCIONAVA PERFEITAMENTE BEM até atualizar para o PHP5.

    Valeu

    Skin_

  8. Verifique se você descomentou a linha da extensão mysql no php.ini.

    veja também se extension_dir está com o caminho correto ao diretório das extensões.

    1) no PHP.ini que eu tenho aqui, todas as linhas referentes ao MYSQ parecem descomentadas. você poderia me dizer, especificamente, qual linha devo prestar atenção?

    2) extension_dir estava com o seguinte valor: "c:/PHP/ext"

    No entanto, não existe a pasta "ext" em C:/PHP.

    Bem, o problema continua!

    você acha que pode ser por que eu optei por instalar o PHP automaticamente (MSI)?

    tb estou encontrando o seguinte problema:

    define("LOG_ACESSOS","./logs/acessos.txt");

    está gerando o seguinte erro:

    Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION in C:\Apache2\htdocs\Amphibia5.2\classes\registros.php on line 11

    Estou consado!

    Será que estou fazendo bobagens e não estou vendo?

  9. Olá pessoal,

    Acabei de parrar para o PHP5.2 e meus scripts não rodam corretamente.

    A primeira página do meu projeto é um logon simples (usuario e senha)... sempre rodou normalmente! Agora, parece que não está conectando com o Mysql. Mas não aparece nenhum erro!!!! (e eu tratei os erros para o caso de falha na conexão com o Mysql!)

    Já habilitei a exibição de erros no php.ini, mas nada aparece. A página fica em branco!

    Alguém sabe o que há? Poderiam me dizer se terei que rever meus códigos em função da atualização para o PHP5?

    OBS:

    Para a versão 5, ainda é permitido usar o '@' antes de algum código?

    tipo:

    @ $coneca = mysql_connect($host,$login,$senha);

    parece que o erro começa daí!

    Valeuz!

    Skin_

    Galera,

    ranquei o @ pra tentar ver o erro que estava ocorrendo,

    olhem só a mensagem:

    "Fatal error: Call to undefined function mysql_connect() in C:\Apache2\htdocs\Amphibia5.1\classes\servidor.php on line 65"

    alguém tem idéia do que está ocorrendo?

    Valeu!

  10. Olá pessoal.

    Gostaria de saber se existe alguma função já edfinida capaz de ordenar um vetor de acrodo com um caracter definido.

    Por exemplo: existe alguma função que ordena o vetor abaixo colocando nas primeiras posições apenas as strings que começarem com o caracter c?

    var vetor = new array('string', 'bcd', 'ade', 'bola', 'bico', 'arvore', 'chao');
    var c = document.getElementById('filtro');
    vetor = funcao_ordena(vetor,c);

    Valeu!

    Skin

  11. Se você tivesse clicado no link que eu te passei, em primeiro lugar descobriria que o que escapa alguma coisa é a barra -> \ e não a barra -> /...

    Aquilo ali simplesmente demarca o começo e o fim da ER...

    Pô ESerra,

    eu cliquei no link que você mandou, inclusive já tinha dado uma olhada no livro sobre ER. Só fiz a pergunta no forum porque, em outros materiais que li, não ví necessidade de marcar o início e o fim das ER's com -> /....

    Mesmo assim, obrigado pelo tempo gasto em me responder! Ajudou muito!

    Skin_

  12. Solução alternativa (pra não ter que ficar copiando um monte de ifs), cria uma função que faça isso, ai basta chamar a função para testar... o código vai ficar "mais bonito", mas o acho que no final das contas da na mesma...
    cria um array com as opções do <select> e itera sobre ele. Em cada iteração você verifica se o valor atual é igual ao valor informado. Dessa forma você fica com só 1 if e se quiser adicionar mais opções basta mexer no array

    Acabei juntando as duas idéias... (Eu já tinha pensado nelas, mas achei que existia um jeito mais rápido, com menos código...)

    Essa é a maneira mais elegante de resolver a questão?

    Valeu!

    André

  13. Obrigado ESerra,

    Sua explicação solucionou minhas dúvidas, com exceção de uma:

    Entendi o significado de \s e + na expressão abaixo, mas até agora não entendi os significados de "/ e /"

    preg_replace("/\s+/", " ", $string)
    As mesmas barras invertidas aparecem na expressao regular da função
    preg_match("/^([dn]?[aeiou][s]?|em)$/i", $string)

    Seriam barras de escape? Mas para escapar o que?

    Valeu!

  14. Olá pessoal,

    estou com o seguinte problema:

    quando o usuário clica num <label> da página, um <div> se torna visível

    div1.style.display = 'block';
    . Se clicar de novo, o <div> fica invisível. Tudo funciona normalmente! O problema é que, quano clico no <label>, um outro objeto (<table>) com a seguinte classe css
    .bar_op{filter:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#EFEFEF,endColorStr=#FFFFFF); border: 1 solid #EAEAEA; text-align:center; margin-bottom: 5px;}

    perde a sua cor.

    O estranho é que eu não faço referencia ao objeto <table> em nenhum código da página. Além disso, as ID's dos dois objetos em questão não são a mesma!

    Alguém sabe me diser o que está acontecendo? Dá para corrigir?

    Valeu

    André

  15. Olá pessoal,

    Sei que a função

    preg_replace($s1, $s2, $string)
    substitui todas as ocorrências de $s1 em $string por $s2. Assim, a função
    preg_replace("/\s+/", " ", $string)
    irá substituir quais caracteres por um espaço em branco? Aproveitando o ensejo, pergunto outras coisas: 1) qual a função dos colchetes [] no código:
    $retorno[] = $string[0];
    É a mesma coisa que fazer:
    $retorno = $string[0];
    OBS: $retorno é um array. 2) o que faz esta função:
    preg_match("/^([dn]?[aeiou][s]?|em)$/i", $string)

    Acho que meu problema é com "expressões regulares". Onde posso aprender mais sobre elas?

    Valeu!

    Skin_

  16. O $_POST e $_REQUEST guardam as informações de todos os tipos de inputs, isso dai se faz assim, na página "a" você tem o formulário, na "b" é o action, se der algum erro (no seu caso login duplicado) na "b", você tem que salvar as informações recebidas em sessões ($_SESSION) e ai retornar a página "a" e preencher os inputs com o que estiver nas sessões, no caso do SELECT, em cada option você vai ter que fazer uma verificação do tipo:

    if($_SESSION['qualquercoisa'] == 'valor do option'){echo "selected";}

    Onde o $_SESSION['qualquercoisa'] vai guarda o valor selecionado no select e ai em todos os options você repete isso dai, quando retornar verdadeiro, ou seja, $_SESSION['qualquercoisa'] for igual a 'valor do option' ele via imprimir o selected, o que vai marcar o option anteriormente escolhido.

    Pro radio vale a mesma lógica...

    Obrigado por ter respondido minha pergunta ESerra. Já havia pensado nesse algorítmo, mas o descartei por julgá-lo muito extenso e com muitos if's.

    De todo modo, valeu!

    Skin_

  17. Olá pessoal,

    Meu problema é simples:

    Tenho um formulário com alguma caixas de texto, um select e vários "radio buttons".

    Vamos supor que um usuário preencha o formulário, e que um dos campos informados seja o seu login.

    Quando o usuario submeter o formuário, faço uma verificação em uma tabela (mysql) para saber se já existe alguém cadastrado com esse login.

    Em caso afirmativo, devo devolver o formulário informando que já existe um usuário cadastrado com esse login e pedir para a pessoa informar outro.

    A questão é: como faço para que as informações digitadas antes de submeter o formulário reapareçam?

    Eu sei que as variáveis $_POST e $_REQUEST armazenam as informações digitadas. O problema é com os objetos <SELECT> e <INPUT TYPE="RADIO">.

    Como vocês fazem os códigos para prever situações desse tipo para os dois objetos acima? Tem um jeito fácil?

    Valeu!

    Skin_

  18. Pessoal, sobre manipulação de Strings:

    1) Dá pra usar expressão regular no Delphi? Sendo assim, qual o comando para localizar uma expressão regular dentro de uma string? Se não der pra usar, como eu faço para garantir que num EDIT o texto digitado seja #.# (isto é, números<ponto>números)? Não quero usar máscara porque não oferece o retorno esperado!

    2) Existe uma função "explode" que quebra uma string em algum caracter pedido (por exemplo, um exspaçõ em branco) e retorna um vetor? "Eu queria recuperar o primeiro nome de um nome composto informado por um usuário num TEdit".

    Obrigado

    André

  19. Skin_, se isto pode ocorrer, não seria o caso de criar uma tabela para cadastrar os coletores de cada indivíduo (relacionados por um código, p.e.)?

    Neste caso, você talvez podesse fazer uso de um DBGrid para permitir a edição de tantos coletores quantos fossem necessários, sem preocupação com scroll, criação de componentes e alteração do lay-out.

    A tabela de Coletores já existe. Eu havia pensado no seguinte: enquanto o usuário preenche o form, ele tem a opção de digitar um (ou mais) coletor(es). Caso algum deles ainda não exista na tabela de coletores (e eu ainda não pensei numa maneira de checar isso), eles seriam inseridos e o(s) codigo(s) respectivos fariam a ligação com o indivíduo coletado. (É difícil explicar em palavras.....)

    Mesmo assim... obrigado pela dica. Acho que usar um Grid poderá simplificar muito o trabalho.

    De qualquer forma, num TGrid, como saber quantas linhas ele possui e como recuperar o valor de cada campo de cada registro? (ou seja, como recuperar o valor de uma linha e coluna específicas do grid?)

    Thales Pontes Martins, obrigado pela dica.....

    Skin_

  20. Pessoal, para usar o evento Action de um TradioButton será preciso construir uma procedure própria?

    (Eu gostaria que, dependendo do TRardoB selecionado, um campo recebesse foco (entre outras coisas....)). Assim, cada TRádioB desempenhará uma função diferente quando estiver "checked". Precisarei declarar uma procedure para cada função de cada TRadioB?

    Skin_

  21. Olá pessoal....

    Na medida em que eutrabalho, vão surgindo muitas dúvidas. Por exemplo:

    1) como Limpar todos os campos TEdit de um form? (Todos eles estão dentro de 4 TGroupBox em posições diferentes de um TPanel). Existe um código geral?

    2) como pesquisar dentro dos Itens de um combo, e o texto digitado está dentro dele?

    3) os ítens de um combo formam um vetor? Se for assim, como faço para acessar cada item quando é dado um indice para a coordenada do vetor? (Ex. Combo.Items[2]?)

    Existe uma maneira de descobrir essas coisas sozinho??? Já procurei muitas apostilas, ams todas elas se preocupam em desenvolver um projeto e não em listar as propriedades, métodos e eventos de um componente!

    Atenciosamente,

    Slkin_

×
×
  • Criar Novo...