
mJi
Membros-
Total de itens
429 -
Registro em
-
Última visita
Tudo que mJi postou
-
Eu sempre trabalhei com timestamps quando foi necessário mexer com medidas de tempo. Basta fornecer um timestamp para a função date(), que você pode escolher o formato que a função retorna a data... Exemplo: echo date('d-m-Y', 1234567890); Procure á respeito, talvez seja a melhor opção. Também dá pra dar 'explodes' para separar os números e formar uma nova string para ser retornada, desta ver na ordem desejada.
-
Vai depender do formato que a data é armazenada no banco de dados... seria basicamente SELECT * FROM `nomedatabela` WHERE `data` BETWEEN 'AAAA/MM/DD' AND 'AAAA/MM/DD' Caso tu sigas o padrão 'datetime' do SQL, fica mais fácil. Caso tu armazene num varchar com um formato do tipo 'dd/mm/aaaa' fica um pouco mais complicado. Pessoalmente, usaria timestamp pra esse tipo de coisa.
-
Capturar URL de imagem de um perfil do Orkut pela UID
pergunta respondeu ao Giosepe Luiz de mJi em PHP
É necessário haver um padrão, uma relação entre o UID e o diretório/nome da foto. Eu pessoalmente não vejo padrão algum. -
Se não entra no if, cheque novamente se o conteúdo de $pegaUrl e $usuarioDaSecao batem com valores presentes na tabela. $sqlT = "select * from seguidores where seguidor1 = '".$usuarioDaSecao."' and seguidor2 = '".$pegaUrl."' "; $result_idT = mysql_query($sqlT); if($usuarioDaSecao == $result_idT['seguidor1'] && $pegaUrl == $result_idT['seguidor2']){ echo 'Já está seguindo!'; }else{ echo 'não está seguindo!'; } Fazer isto é meio estranho. Se a query retornar algum resultado, significa que o usuário já está seguindo, então não precisa comparar com o if. Você poderia usar o mysql_num_rows para ver se algum resultado foi retornado da query... Exemplo: $sqlT = "SELECT * FROM `seguidores` WHERE `seguidor1` = '".$usuarioDaSecao."' AND seguidor2 = '".$pegaUrl."'"; $result_idT = mysql_query($sqlT); if(mysql_num_rows($result_idT)){ echo 'Já está seguindo!'; }else{ echo 'não está seguindo!'; }
-
Você está testando com este exemplo? Se sim, cheque os números... Na query, seguidor1 ($usuarioDaSelecao) está com 18 e no if, está com 19. Também na query, seguidor2 ($pegaUrl) está com 21 e no if, está com 18.
-
Para criar o array, a função é toda em minúsculas: array; Na parte $strArray = "array($item, $peso, 'kg'),"; Não se deve colocar aspas; Tenta assim: while($row = mysql_fetch_array($sql)){ $strArray[] = array($row['item'], $row['peso'], 'kg'); } echo phpHtmlChart($strArray, 'H', 'Item', 'Peso', '8pt', 400, 'px', 15, 'px');
-
Relógio manual e Despertador em C
pergunta respondeu ao Alan Zanatta de mJi em Tutoriais & Dicas - C, C++
Ok, você postou o código... e agora? É dúvida? Contribuição? Problema? Ah, e evite variáveis globais. -
Armazene as notas de cada aluno na matriz (matriz de floats), e percorra-a para o calculo da média. Quanto á matrícula, é um número? Ou uma sequencia de int e char? Se for número, você pode armazenar na própria matriz. Se você preferir, pode armazenar num vetor à parte. E a média é aritmética, harmônica...? Esta é a maneira que eu faria: #include <stdio.h> int main(){ float notas[10][3]; int matriculas[10]; int i, j; for(i=0;i<10;i++){ printf("Numero de matricula do aluno %d: ", i+1); scanf("%d", &matriculas[i]); for(j=0;j<3;j++){ printf("Nota %d do aluno %d: ", j+1, i+1); scanf("%f", ¬as[i][j]); } system("CLS"); } system("CLS"); printf("Medias dos 10 alunos: \n\n"); for(i=0;i<10;i++){ printf("\tMatricula: %d - Media: %.2f pontos.\n", matriculas[i], (notas[i][0]+notas[i][1]+notas[i][2])/3); } system("PAUSE"); return(0); }
-
Isto porque agora teu script sequer tenta conectar. Só porque reduziu o número de erros, não significa que você arrumou algo. Todos servidor MySQL tem um usuário. O que é opcional (mas altamente perigoso) é a senha. No arquivo 'configuração.php' há as variáveis que dizem respeito á host, usuario, enfim, informações para estabelecer a conexão com o banco de dados. Você precisa atribuir á estas variáveis os dados corretos, para que a função 'mysql_connect' consiga conectar ao MySQL. Se não estabelecer a conexão, nenhuma query poderá ser executada.
-
Há duas maneiras de se fazer isto (que eu conheça): Com ou sem orientação á objetos. Caso prefira fazer com orientação á objetos, procure informações sobre a classe 'DirectoryIterator'. Sem OO, você pode utilizar as funções 'opendir', 'readdir', e se for necessário, 'is_dir'. Exemplo: $cont=0; $diretorio = "../exemplo"; $ponteiro = opendir($diretorio); while ($nome_itens = readdir($ponteiro)) { if (!(is_dir($nome_itens))){ $cont++; } } Ou seja... Abre a pasta, lê ela até acabar, e a cada leitura (a cada arquivo e pasta lido), testa se é uma pasta, se não for, incrementa o contador. No final, o contador terá o número de arquivos de uma determinada pasta, que é especificada na variável $diretório.
-
Você pode fazer de duas maneiras... 1 - Colocar todos os números válidos que o usuário digitou num vetor, e percorrê-lo para encontrar o maior e menor números; 2 - Fazer uma estrutura iterativa que vá recebendo valores. Cada valor válido entrado é comparado com uma variavel que possui o maior e outra que possui o menor até então. Se o valor entrado é maior que o que esta na variável 'maior', atribua á 'maior'. O mesmo vale para a variavel 'menor'. O único empecílho da segunda maneira é definir um valor inicial para 'maior' e 'menor'. Basta checar se a iteração é a primeira. Se for, atribua os valores entrados pelo usuário, ao contrário, faça as verificações.
-
infelizmente, eu não posso utilizar essa função, preciso fazer sem essa função.... Então faça uma função que desempenhe o papel de comparar as strings. Pode ser até semelhante á 'strcmp': Recebe duas strings, percorre-as, descobre qual é a maior ou se são idênticas e retorna um valor.
-
Tu tem de chamá-las deixando explicito o diretório em que se localizam. No teu caso, acredito que sejam em "adm/administração/AREAADMINISTRATIVA/fotos/".
-
Pesquise sobre a função 'strcmp', que compara strings (os nomes dos jogadores). Ela recebe duas strings, e retorna: 0, se as strings são iguais; valor positivo, se a segunda string vier antes da primeira (alfabeticamente) valor negativo, se a primeira vier antes de segunda (também alfabeticamente).
-
Copiar arquivo para outra unidade usando um .bat
pergunta respondeu ao AristófanesFTP de mJi em Microsoft Windows
Não é dificil... Primeiramente, selecione o diretorio raiz para C:\ cd C:\ Depois, utilize o comando 'copy'. O primeiro parametro sera o nome do arquivo (com extensão). O segundo, a Pasta destino: copy arquivo.txt D:\ Isto copiará o arquivo de texto para a unidade D:\. Faz no prompt pra ver como funciona. -
E qual é este problema? Especifica melhor, e de preferência, poste seu código.
-
Opa, obrigado por especificar melhor. Na opção 7, você deve percorrer todas as estruturas do tipo 'dados', e procurar nos vetores de char 'nome' o primeiro caractere (nome[0]). Se encontrar algum que bata com o caractere digitado pelo usuario, imprime na tela. Siga esta logica: for(i=0;i<ultimo;i++){ if(vet[i].nome[0] == achouletra){ printf("%s\n", vet[i].nome); } } Interpretando: Percorre o vetor de dados atéo ultimo (como tu disseste), e se nome[0] for igual ao caractere pedido pelo usuario, imprime o nome. Na opção 8, a técnica é a mesma. Como tu não pode utilizar funções prontas (há uma função para esta tarefa), terás de percorrer cada estrutura de dados do vetor e também percorrer os nomes. Eis uma solução: for(i=0;i<ultimo;i++){ for(j=0;vet[i].nome[j] != '\ 0';j++){ if(vet[i].nome[j] == achouletra){ printf("%s\n", vet[i].nome); break; } } } Interpretando: Percorre cada nome de cada estrutura existente (até 'ultimo') até o caractere '\ 0' (este fórum esconde o \ 0, então coloquei um espaço entre a barra e o zero, mas na hora de compilar, junte-os). Se encontrar o caractere no nome, imprime o nome e para de percorrer tal nome para passar para o nome da próxima estrutura. Não é necessário continuar a percorrer o nome se já achou a letra, não é mesmo? O 'break' este loop que percorre o nome pare. Não testei mas acredito que dê certo. Caso não der, siga a lógica que é mais ou menos por ae. Ah, e ao postar códigos, coloque-os entre as tags de código:
-
Explica melhor isso ae. Se for um exercício, escreve a ordem dele, porque não deu pra entender quase nada. É pra procurar um caractere numa string? String da estrutura? Este caractere é a primeira letra da string? Tu citaste a função strcmp. Ela serve para comparar dois vetores de char, pura e simplesmente. Ou seja, não dá pra usar ela para comparar um caractere com uma string, visto que uma string é uma cadeia de caracteres, não há sentido algum. A forma mais comum de verificar se um caractere está presente numa string (e contar a frequencia com que ele aparece) é a seguinte: cont = 0; for(i=0, vet[i] != '\ 0';i++){ if(vet[i] == letra){ cont++; } } Onde: int i: variavel pras iterações do for; int cont: conta o numero de vezes que o caractere está na string. Deve ser inicializado com zero antes. char vet[] : vetor de char, ou seja, a string. É percorrida até o seu caractere nulo (até o fim); char letra: letra a ser procurada. Para aplicar este conceito aos vetores de char que estão na estrutura, não é dificil. Mesmo estando dentro da estrutura, continuam sendo vetores. Caso tu possa utilizar funções da biblioteca <string.h>, há várias que dizem respeito á busca de caracteres em strings. Poupa ter que percorrer as string, como fiz acima. Sobre o código que tu postou, se tu quiser declarar uma variavel do tipo de uma estrutura, a declaração correta é com a palavra 'struct' precedendo o nome da mesma e da variavel. Exemplo: struct dados { int codigo; char nome[30]; float n1,n2; }; int main(){ struct dados vet[100]; ....... Se tu quiseres suprimir a declaração com 'struct', pode utilizar um typedef: typedef struct { int codigo; char nome[30]; float n1,n2; } dados; int main(){ dados vet[100]; ............
-
Porque usar uma função para esta tarefa tão simples? Não seria mais fácil colocar saldo[i] += deposito; Alí onde tu chamas a função? -- A função fdeposito está retornando um float com a soma do deposito+o que já tinha na conta, porém este valor não está sendo atribuido á nenhuma variavel. Eu enviaria o vetor, o ID da conta e o valor do deposito: void fdeposito(float saldo[], int i, int deposito1){ saldo[i] += deposito1; } Há várias outras maneiras de se fazer... Com ponteiro também fica legal.
-
Para enviar e-mail, utilize a função mail(). Ela recebe como parâmetros: destinatário; assunto; mensagem; headers. Destinatário é o e-mail destino, o assunto não deve conter caractere de nova linha (\n), a mensagem pode ter caractere de nova linha, mas cada linha não deve ultrapassar os 70 caracteres, e os headers são opcionais, mas caso a função não esteja configurada no php.ini do servidor, eles são necessários. O header 'from' é obrigatório Exemplo: <?php $to = 'nobody@example.com'; $subject = 'the subject'; $message = 'hello'; $headers = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers); Mais sobre a função na documentação.
-
Seria a quantidade de minutos entre uma estaca zero (00:00) e o horário, correto? Faça uma função: function horaParaMinutos($hora){ $partes = explode(":", $hora); $minutos = $partes[0]*60+$partes[1]; return ($minutos); } E para chamar a função, simplesmente faça $resultado_em_minutos = horaParaMinutos($resultado_em_horas); Testei aqui, funciona certinho.
-
Se a query é feita sem problemas e a variável $nivel não recebe valor, talvez a atribuição $nivel = $sql["nivel"]; esteja incorreta. Verifique se 'nivel' é o nome da coluna que tu quer pegar. Ou ainda, ao invés de pegar todas as colunas do resultado, pegue apenas a que você quer (nivel), e atribua com $nivel = $sql[0];
-
Boa! Uma outra maneira seria utilizando o foreach: foreach($resultado as $res){ echo $res['categoria']; } O foreach facilita bastante na hora de lidar com arrays multidimensionais. Com ele, para cada $j haveria uma iteração, e os valores dentro de $j podem ser acessados como se fosse um array de uma única dimensão. Qualquer coisa tamo ae.
-
Quem bom que está progredindo... Só uma coisinha: Ao se ler uma string com o scanf, não se deve colocar o & ('E' comercial) antes do nome do vetor de char. Sobre os espaços: o que ocorre é que o scanf considera o espaço como o fim da string, e ignora qualquer coisa que vier depois dele. O que você pode fazer é utilizar uma expressão regular no scanf, para ele aceitar espaços: scanf("%[^\n]", ip); Esta expressão regular faz com que o scanf leia e guarde no vetor de char todo e qualquer caracter digitado antes de um '\n' (quebra de linha, ou seja, até o usuário digitar Enter). Outra maneira é utilizar o fgets: fgets(ip, 20, stdin); Porém, o fgets não tira o '\n' do final da string. Tem de se fazer isto você mesmo. Ficando assim: #include <stdio.h> #include <windows.h> int main(){ char p[30] = "Ping"; char ip[30]; char resultado[100]; printf (" Digite um Ip: "); scanf ("%[^\n]",ip); sprintf( resultado, "%s %s", p, ip); system (resultado); system ("pause"); return 1; }
-
Ao clicar, abre-se uma popup? Se não abre, o problema está no javascript, e não PHP. Ainda, você não pode passar apenas a string codificada no endereço. Tu tens que passar ela numa URL. Exemplo: <a href="java script:AbrirPopup('http://www.endereco.com.br/pagina.php?fotos=<?php echo serialize($ArrayDefotos); ?>', 800, 650, 90, 90)"><input type="button" name="galFoto" id="galFoto" value="Galeria de Fotos" /></a> Confere o nome da função javascript que tu colocou pra abrir a janela popup. Alí, tu colocaste como 'Abrirpoup', e provavelmente o nome da função é 'Abrirpopup'. Ainda, fique de olho nas maiúsculas e minúsculas. Porque $ArrayDefotos é diferente de $arraydefotos, que é diferente de $ArraydeFotos, entende? Outro detalhe: Parece que este fórum separa automaticamente a palavra 'javascript' para 'java' e 'script'. Então, se for copiar e colar, não te esquece de unir as palavras.