Jump to content


Most Liked Content


#166107 Como Fazer Uma ''linha'' Ou "traço" Em Html

Posted by H^llz on 10/08/2003, 15:13

<hr align="center" width="40" size="1" color=red>

Align : A posição
Wdth : Tamanho
Size : Espessura
Coloer : Cor


#328891 Include Em Html é Possível

Posted by Lengrat on 30/03/2004, 16:56

Galera...

Depois de algum tempo ficar fuçando com ASP e PHP, veio uma dúvida Cachorra: É possível criar includes em HTML?

Tenho um menu padrão, feito em uma tabela , que é utilizado em umas 15 páginas aqui do site da empresa.

Acontece que eu tenho que fazer uma atualização neste menu, inserindo mais uma seção, blablalba. Vai ser um saco ter que ficar alterando todas as 15 páginas, mesmo ficando no ctrc+ctrlV.

Há como fazer um arquivo externo para conter somente esta tabela que compõem o menu?

Sei que tem algo parecido quando vc cria um menu no Firewoks e exporta o Html. dahi é só alterar o Html que será alterado em todos os menus que compartilhem esse HTML do FW.


Como fazer isto na munheca, sem usar este recurso de inserir HTML do Firewoks?

:blink:


#1108715 Como Fazer Uma ''linha'' Ou "traço" Em Html

Posted by LarPhozyHah on 29/09/2017, 07:45

Kamagra 100mg Dosage Amoxicilina Medicine Website Shop Without Rx Taking Amoxil With Cipro cialis online Amoxicillin Canine Pharmaceutical
Cialis Viagra Hypertension Tofranil cialis Foro De Kamagra Cialis 10 Mg Durata
Propecia New York online pharmacy Il Sur D'Aspirine Amoxil Cialis Online 5 Mg
Propecia Topical Hair Loss Treatment Buy Orlistat Online Without Script cheap cialis Amoxicillin Capsule Tev Viagra Como Comprar


#203171 Conhecendo Um Pouco Do Action Script 2

Posted by Foxn on 07/10/2003, 00:10

Como o espaço é curto e tempo mais ainda :D vamos direto ao assunto e preparar o terreno para o AS2. Pois bem, eu criei uma pasta para chamada flash_2004, dentro dela eu tenho um simples arquivo teste.fla em branco, então tendo-se isso vamos criar uma classe, vá em File>>New>>Geral>>ActionScript File. Vamos começar criando uma classe chamada "Registro":

1 class Registro {
2  
3 }

Agora muito importante o arquivo da classe tem de ter o mesmo nome de sua classe por isso salve agora esse arquivo como Registro.as na pasta flash_2004. Feito isso vamos fazer a função construtora que será executada no momento que essa classe for usada para gerar um objeto.

1 class Registro {
2  function Registro(){
3 	 trace("A classe está funcionando");
4  }
5 }

Agora vamos ao nosso arquivo teste.fla e colocamos esse código em seu primeiro frame:

// declara nome:tipo da classe 
var novo:Registro;
// Gerando um novo objeto
novo = new Registro();

Teste seu filme e se aparecer "A classe está funcionando" em sua janela de saida então sua classe já está funcionando, mas como pode estar funcionado se eu não defini para ela ser importade em nenum lugar? Simples vá em Edit>>Preferences>>ActionScript>>Action Script 2.0 Settings... e pronto como você pode ver ele possue dois itens, o primeiro informa que todas as classes da pasta de classes do flash serão carregadas para dentro do seu swf e a segunda linha diz que
todas as classes que estiverem na mesma pasta quando seu swf foi gerado serão "imcorporadas" ao seu swf e é por isso que você não precisou colocar nada para imcorpora-la ao seu swf. Caso você queira definir outras pastas com classes para ser incorporadas em todos os seus swfs pode defini-las ai, caso queira definir apenas psrs aquele swf em particular vá em File>>Publish Settings>>Flash>>Settings...
Agora que sabemos por que funcionou vamos voltar ao nosso arquivo Registro.as, mas agora vamos colocar alguns dados:

1 class Registro {
2  // Delarando algumas propriedades
3  var nome:String;
4  var sobrenome:String;
5	var idade:Number;
6	// Função contrutora
7	function Registro($nome:String,$sobrenome:String,$idade:Number){
8  nome = $nome;
9  sobrenome = $sobrenome;
10  idade = $idade;
11	}
12  }

Agora salve o arquivo e voltemos ao teste.fla, onde agora podemaos passar alguns argumentos para a nossa classe:

// declara nome:tipo da classe 
var novo:Registro;
// Gerando um novo objeto
novo = new Registro("Paulo","Marques",25);

Pronto, agora temos um objeto com 3 simples propriedades, de um Ctrl+V para ver as propriedades. Importante lembrar que como definimos os tipos de dados das propriedades elas não aceitarão valores diferentes dos especificados, mesmo numerico não aceitará numeros entre aspas, o que ele considera como uma string e não um número. Mas e agora, é uma simples classe mas e se você quiser definir uma nova propriedade somente para esse objeto? Algo assim:

// declara nome:tipo da classe 
var novo:Registro;
// Gerando um novo objeto
novo = new Registro("Paulo","Marques",25);
novo.cidade = "São Paulo"

Mas infelizmente isso vai dar erro, pois nossa classe permite que você altere os valores das propriedade de nosso objeto mas não permite adicionar novas propriedades a cada objeto individualmente, mas isso é uma coisa que podemos resolver rapidamente, vamos ao Registro.as e mudamos somente a sua primeira linha, ficara assim:

1 dynamic class Registro {

Pronto agora que adicionamos o dynamic você pode voltar ao teste.fla e testá-lo sem prblemas. E é isso ai uma simples classe com o action script 2, e ainda há muito mais a ser visto. Caso você queira saber como seria feita essa mesma classe no Flash MX, coloque no seu primeiro frame e teste:

_global.Registro = function($nome,$sobrenome,$idade){
	this.nome = $nome;
	this.sobrenome = $sobrenome;
	this.idade  = $idade;
}
novo = new Registro("Paulo","Marques",25);
novo.cidade = "São Paulo";

Claro que no Flash MX 2004 temos muitos mais recurso dos quais não podemos contar no Flash MX que é um conceito bem melhor para se desenvolver classes.

E é isso ai fui.

[]'s


#1039531 Tramadol Order Online Net <> Buy Cheap Tramadol Online Uk

Posted by DocAndMed on 10/06/2017, 11:22

usa.png
4-en.png

Tramadol Without Prescriptions Legal

5-en.png

Ultram Uk Buy

6-en.png

Tramal Online Pharmacy


Related Tags:
tramadol tablets for sale uk
tramadol no prescription overnight cod delivery
buy ultram online with credit card
tramadol cheap cod
tramadol 200 mg for sale
generic ultram no prescription
order tramadol from mexico
tramadol buy usa
buy bulk tramadol
tramadol online with no prescription
buy mexican tramadol
how to order tramadol
order tramadol with no prescription
get tramadol without prescription
tramadol can you buy over counter
buy tramal
order tramadol from india
order tramadol online mastercard
order tramadol no prescription cheap
tramadol hcl sale
buy 30mg codeine uk bromazepam order order tramadol from us pharmacy
buy cheap tramadol without prescription
how to order tramadol online legally
tramadol no prescription uk
order tramadol over phone
order tramadol overnight delivery
tramadol online pharmacy europe
buy cheap tramadol cod
purchase tramadol online
cheap tramadol buy
tramadol from canada no prescription
cheap fast tramadol
tramadol order canada
tramadol price no insurance
buy 300 mg tramadol
online pharmacy tramadol next day
order generic ultram
tramadol without prescription legal
tramadol online purchase
cheap ultram for sale
sonata best price soma no prescription overnight ultram online us pharmacy
cheap tramadol online overnight delivery
buy cheap tramadol cod
tramadol for sale cheap
tramadol order online mexico
order tramadol online cod
ultram order
tramadol er without prescription
rx europe online pharmacy tramadol
tramadol order uk
tramadol purchase cod
ultram order online
legitimate online pharmacy tramadol
cheap tramadol overnight delivery
buy ultram online overnight
tramadol no prescription uk
tramal purchase
tramadol 200 mg for sale
buy cheap tramadol overnight
tramadol for sale forum
tenuate online pharmacy hydrocodone provigil order online canada tramadol for sale in canada
tramadol no prescription australia
tramal to buy
tramadol online pharmacy viagra
legal to order tramadol online
cheap tramadol online cod
buy american tramadol
order tramadol fast
can i get tramadol without prescription
order tramadol without
tramal for sale
cheap tramadol for sale
tramadol online pharmacy overnight delivery
order tramadol europe
tramadol to purchase
buy tramadol
cheap 100 mg tramadol
tramadol 100 mg for sale online
tramadol buy with mastercard
purchase tramadol online without prescription
buy clonazepam online generic lunesta no prescription ultram without prescription uk
tramadol buy
buy ultram free shipping
buy cheap tramadol without prescription
order tramadol cod next day delivery
how to order tramadol overnight
tramal no prescription xanax
buy generic ultram
purchase tramadol online
order tramadol with no prescription
buy genuine tramadol online uk
cheap tramadol online overnight delivery
tramadol purchase with mastercard
tramadol without prescription usa
buy cheap fedex tramadol
tramadol without prescriptions overnight
tramadol 200 mg for sale
tramadol for sale in canada
buy ultram without prescription
tramadol without prescriptions
cheap zopiclone tablets midazolam to buy



#743963 Receber Dinheiro Do Exterior

Posted by GCTS on 27/05/2006, 01:43

Então, eu estava bolando aqui meu projeto mais ambicioso e megalomaníaco rs :D
e estava pensando em já lançar ele com suporte a usuários do exterior.

Eu cobraria um valor pelos serviços que meu sistema prestará e logicamente, para o exterior, levando em consideração a renda per capita mais elevada, maior número de internautas e moeda mais forte, eu posso ganhar mais dinheiro de lá. O grande problema é: como receber dinheiro lá de fora?

Estava lendo sobre o paypal no tópico de dúvidas, mas parece que ele só recebe em forma de créditos né e mesmo assim tem um limite de $2500 /ano.


Qual a melhor forma que eu posso receber dinheiro lá por fora? Levando em consideração que sejam valores relativamente baixos por vez, entre 10 e 20 dólares.

abs


#738980 Pra Quem Ainda Não Entende Ajax.

Posted by bimonti on 11/05/2006, 12:37

Bom, sobre o AJAX eu não sou nem TRUE e nem FALSE, eu sou NULL, por isso não perguntem se eu sei usa-lo da melhor forma, se eu recomendo, ou se sou contra. Não sei, nunca fiz nenhuma aplicação de grande porte que necessitasse, portanto não vou comentar, simplesmente NULL. E quem garante que eu sei o que é AJAX ?? Nunca ouviram a frase: "Quem sabe faz, quem não sabe ensina!" ??

Antes de COMEÇAR a ler este post você se compromete aos seguintes termos:
- Eu tenho conhecimento pleno em HTML.
- Eu conheço JavaScript.
- Eu já usei um pouco algumas coisas de DOM.
- Sei o que é XML.
- Também sei que AJAX só funciona com requisições http, ou seja, não vou acessar assim: c://Documents and Settings/eu_mesmo/meu primeiro ajax.js e muito menos file:/// ...
- Sei que isso não é um código completo e não vou perguntar: "Como mudo 'isso' pra 'churisso' e coloco no meu site de video games ?? PLZzzorRR !!11!"

Eu avisei...

Esse post não é mais um dos vários exemplos de como utilizar o AJAX para fazer 2 selects, cadastrar alguma informação e etc.. porque vejo que normalmente são usuários que não tem tanto conhecimento sobre Javascript que utilizam os códigos dos tutoriais e querem fazer alterações, sem ao menos saber o porque daqueles 'comandos' dentro da função. Ou estou errado ?? Todo mundo que tem uma aplicação AJAX que seja no site sabe o porque do número 4 no "var.readyState == 4" ??? Garanto que quem fez o código do tutorial sabe, mas quem copiou o código e colou no dreamweaver salvando com o mesmos nomes não sabe. Pensando nisso eu vou dar um breve comentário sobre algumas coisas que fazem parte das funções mais conhecidas.

Primeiro de tudo você tem que inicar a requisição ao navegador. Para isso vamos inicar uma instância do objeto XMLHttpRequest. Mas como todo mundo tá careca de saber tem as diferenças de navegador. A família Safari, Mozilla usa de uma forma os os IElike usam de outra. Tá explicado o porque de:

var variavel;
if (window.XMLHttpRequest) {
variavel = new XMLHttpRequest();
} else if (window.ActiveXObject) {
variavel = new ActiveXObject("Microsoft.XMLHTTP");
}


No quote acima eu crio uma variavel com o nome de 'variavel', depois eu testo o objeto XMLHttpRequest(pra a família Mozilla, Safari), se ele retornar TRUE a variavel vai criar o objeto, senão vai pra proxima tentativa que é pra família IE. É comum ser usado junto com a inicialização do objeto o try..catch, que é uma função do Javascript (tá aí o porque era bom saber um pouco de Javascript). O try..catch serve para pegar o erro e não mostrar pro usuario aquela janelinha "There's an error, do you wish to debug ?". Apesar que o try..catch só é suportado a partir do IE5+ e Mozilla 1+ (Se você pensa que vai segurar o erro quando o cara estiver usando o IE4 pode esquecer, use onerror). O try..catch funciona assim, imagine que eu queria dar um alert e sem querer errei a digitação:

var msg;
function mostraAlerta(){
try{
aalert("Olá");
}
catch(erro)
{
msg = "Ocorreu um erro na página. \n";
msg+ = "Clica no OK pra continuar";
alert(msg);
}
}


Chega de try..catch, não é o objetivo do post. Bom, vamos ver agora os métodos do XMLHttpRequest. Estão nesse formato:

Nome = Descrição. Meu comentário.

abort() = Aborta a atual requisição. Precisa de comentários ? Então tá bom, você pode usar caso fique com medo do seu servidor demorar para devolver a requisição. Crie na função que manda a requisição um TimeStamp, caso ela demore muito você aborta e dá uma mensagem de erro.

open("método", "URL"[, assíncrono [, "usuario"[, "senha"]]]) = Define a URL, o método e os parâmetros adicionais da requisição a ser enviada. Provavelmente esse é o método que você mais verá, junto com o send(). ELe é responsável por definir os parâmetros da requisição. Os métodos podem ser POST ou GET, e o 'assíncrono' que tem na sintaxe do método é o que define se a execução do script é feita imediatamente após o método send() ser chamado ou se aguarda por uma resposta. Use as flags TRUE ou FALSE. O problema de usar o FALSE é que se o seu servidor ficar sem responder a tela do navegador vai ficar congelada, mais ou menos quando trava tudo no PC. Os outros parâmetros são opcionais.

send(conteúdo) = Transmite a requisição, opcionalmente com dados postados ou dados DOM. É isso mesmo, esse método que vai enviar a requisição. Se você usar GET e passar os dados pela URL use send(null), se usar POST é só colocar o conteúdo a ser passado aí dentro. Mas usando o POST você tem que enviar alguns cabeçalhos junto. Veja mais no outro método.

setRequestHeader("label","valor") = Define um label/valor para o cabeçalho que será enviado junto com a requisição. Nem traduzi o label porque fica feio.

Olhe os 2 exempos abaixo e veja se entende melhor:

var.onreadystatechange = functionPraTrabalharARequisicao;
var.open("GET", url, true);
var.send(null);


var.open("POST", url, true);
var.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
var.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
var.setRequestHeader("Pragma", "no-cache");
var.onreadystatechange = functionPraTrabalharARequisicao;
var.send("Nome=" + Nome);


Eu defini nos cabeçalhos que os dados serão enviados como se fossem um formulário normal. E no outro eu defini que não é pra armazenar as informações em cache, porque as vezes acontece de devolver a mesma requisição, ou outros problemas.

Agora vamos ver as propriedades. Neste formato:

Nome = Descrição. Meu comentário.

readyState = Número inteiro com o status da requisição. Devolve como um número inteiro o status da sua requisição. Só isso.
0 = Não inicializado
1 = carregando
2 = carregado
3 = Interagindo
4 = Completo

onreadystatechange = Gerenciador de eventos a cada mudança de estado. Agora ferrou hein ??. Nada mais é que uma função que será responsável por checar se a requisição já foi processada. Por isso a comparação "readyState == 4", toda vez que mudar de estado uma função que você definir será responsável por essa verificação, então no seu código quando o estado for 4 você continua. A menos que você queria seguir no 1 ...

var.onreadystatechange = workSend;
var.open("GET", url, true);
var.send(null);


No exemplo acima eu defini que a função workSend() será a responsável por trabalhar com os valores retornados por readyState. É comum ver nessas funções somente a comparação "var.readyState == 4", mas nada impede de ser assim:

var.readyState == 0 -> Peraí que já vai começar
var.readyState == 1 -> Aee, seguuurraaa peãaaoo
var.readyState == 2 -> UUUhhhhhuuuuu, vamo que vamo
var.readyState == 3 -> Vamo lá cabloco, tá chegano
var.readyState == 4 -> Aqui você trabalha seu resultado

responseText = Versão 'string' dos dados devolvidos pelo servidor após processar a requisição. É somente isso que ela faz, nada mais. Simples e cru.

responseXML = Idêntica a de cima, mas devolve os dados no modelo DOM.

status = Código numérico retornado pela requisição ao servidor. É diferente do readyState, esse código é 200, 404, etc.. que no caso um 200 é que a página foi encontrada e está tudo OK, o 404 é que não achou .. etc..

statusText = Mensagem que acompanha o código do status. Você pode usar para exibir ao usuário a mensagem de erro retornada. Ex.:

if (var.status == 200) {
// ...se funfar você faz aqui suas paradas...
} else {
alert("Ouve um problema com sua requisição:\n" + var.statusText);
}


Bom, é isso ae, acho que agora fica mais fácil pra quem ainda tinha dúvidas sobre AJAX para já ir resolvendo alguns dos seus problemas sozinhos, dá pra esclarecer um pouco sobre os comandos e como utiliza-los. Não são todos os métodos e propriedades, tem muito mais por esse mundo afora.

T+


#1021341 Programar para Android com Android Studio

Posted by Danilomaru on 22/01/2015, 13:42

Está quase a fazer um ano que a Google lançou o Android Studio – um IDE de programação para a plataforma Android. Este IDE é semelhante ao popular Eclipse, com ADT Plugin, oferecendo as melhores ferramentas e funcionalidades aos programadores. Segundo a própria Google, com o Android Studio a programação para Android é mais simples e rápida.

 

Hoje vamos mostrar como podem começar a usar o Android Studio.

 

studio_08_thumb.jpg

 

Para quem está habituado ao Eclipse ou ao Netbeans, facilmente se adaptará ao Android Studio. Para os novatos, vão ver que também é simples. Lembrem-se que o sucesso de um programador começa inicialmente por dominar o IDE de programação. Vamos a isso então.

 

Download do Android Studio

 

O Android Studio está disponível para Windows, MacOS e Linux. Para descarregaram a vossa versão, basta que acedam à página do projecto aqui.

Em alguns sistemas Windows, caso o java nao seja detectado, é importante que criem uma variável de ambiente para essa finalidade.

Para isso basta ir as propriedade do “Meu Computado” > Propriedades > Propriedades Avançadas e depois aceder ao separador Variáveis de ambiente. e criar uma variável de ambiente do seguinte tipo:

JAVA_HOME

C:\Program Files\Java\jdk1.7.0_21.

 

java_00_thumb.jpg

 

Como criar o primeiro programa? Como se trata do primeiro tutorial, hoje vamos fazer algo bastante simples…o tipico Hello Worl mas modificado para o Pplware “Hello Pplware”. Para isso devem seguir os seguintes passos:

 

Passo 1) Criar um novo projeto

 

Depois de instalar o Android Studio, basta executar o mesmo e em seguida escolher New Project.

 

studio_00_thumb.jpg

 

Passo 2) Identificação da aplicação

 

Indicar o nome da aplicação (ex. PplwareApp). O modulo name, package name e project location são automaticamente preenchidos (o utilizador pode sempre mudar a informação para esses parâmetros).

 

Depois existem também a possibilidade de indicarem para que versão do Android vão programar. Para este exemplo vamos considerar que vamos programar para o Android 4.4 (target SDK) mas com suporte desde o Android 2.2 (minimum required SDK).

 

studio_01_thumb.jpg

Passo 3) Escolha do ícone

 

Escolha do ícone e parametrizações do mesmo

 

studio_02_thumb.jpg

Passo 4) Escolha do tipo de atividade

 

Em seguida escolhemos o modelo da atividade. Para este exemplo vamos escolher blank activity que irá criar uma aplicação simples, sem qualquer modelo de navegação definido (este ponto é definido no passo seguinte, em additional Features).

 

studio_04_thumb.jpg

Passo 5) Nome da atividade

 

Por fim indicamos o nome para a atividade e também o nome para o layout.

 

 

studio_05_thumb.jpg

 

Agora basta esperar uns segundos ate que seja criada a estrutura da nossa aplicação.

 

 

studio_06_thumb.jpg

 

Depois de termos a estrutura disponível, vamos ao projecto criar e dentro de PplwareApp > src > main > res > values > Strings alterarmos o “Hello World” para “Hello Pplware”.

 

studio_07_thumb.jpg

 

Por fim, basta carregar em Start para executar o emulador ou então descarregar a aplicação para um dispositivo real. Nota: Caso não tenham um emulador criado, basta ir a Tools > Android > AVD Manager

 

 

pplwareapp_2_thumb.jpg

 

..e aqui está está o resultado deste projeto.

 

 

pplwareapp_thumb.jpg

 

E está feito. Comparativamente ao eclipse, o Android Studio tem uma interface mais intuitiva e melhor organizada. Ao nível da performance, os dois IDE são bastante semelhantes…pois não estivéssemos nós a falar em java. Experimentem e diga-mos os que acharam.

 

Fonte: http://pplware.sapo....android-studio/




#579906 Xmlhttprequest

Posted by Balala on 06/05/2005, 14:13

Tutorial: Utilização do XMLHttpRequest (JavaScript), para apresentar conteúdo sem necessidade de atualizar a página.
Nível: Básico - Intermediário.
Requerimentos Extras (bibliotecas): Nenhum.

===============-===============

Hello there!

Antes de mais nada, algumas explicações. Esse tutorial tem como base para o script, praticamente, JavaScript, mas porque PHP? Simples, estamos combinando as duas linguaguens para podermos trabalhar com dados em formulários (pode ir muito além), que se alteram dependendo de opções selecionadas, sem ter que atualizar a página, para fazer a requisição PHP novamente.

No mais, vamos ao que interessa.

===============-===============

Como é feito essa consulta?
Você se pergunta. É algo simples como uma query string. Na verdade, é uma pura query string. Quem já trabalhou com a integração de PHP + Flash, para fazer loadMovie()'s dinâmicos, etc, terá uma maior afinidade com esse tutorial.

Basicamente a consulta consiste em:
- Alterar algum valor;
- Passar esse valor como parâmetro para o PHP;
- Retornar o resultado que desejamos;

Beleza, vamos começar por onde?
Para todos terem o mesmo ponto de inicio, vamos seguir um exemplo do inicio ao fim. Nossa idéia é:

- Apresentar SubCategorias, dependendo da Categoria principal selecionada.

Simples? Sim, algumas consultas ao Banco de Dados, e está resolvido nosso problema.

Para começar, vamos a criação das Tabelas:

CREATE TABLE `categorias` (
  `codigo` int(3) NOT NULL auto_increment,
  `nome` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`codigo`)
);

CREATE TABLE `subcategoria` (
  `codigo` int(3) NOT NULL auto_increment,
  `categoria` int(3) NOT NULL default '0',
  `nome` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`codigo`)
);

Prontinho, vamos entender a estrutura:

Tabela Categoria:
- codigo: Campo AUTO_INCREMENT para armazenar o código de cada categoria.
- nome: Campo para adicionar o nome da categoria.

Tabela SubCategoria:
- codigo: Campo AUTO_INCREMENT para armazenar o código de cada subcategoria.
- categoria: Campo para referenciar à qual categoria cada categoria faz parte.
- nome: Campo para adicionar o nome da subcategoria.

Eita, já temos as tabelas, agora vamos colocar alguns valores para elas:

INSERT INTO `categorias` VALUES (1, 'Refrigerantes');
INSERT INTO `categorias` VALUES (2, 'Frutas');
INSERT INTO `categorias` VALUES (3, 'Carnes');
INSERT INTO `categorias` VALUES (4, 'Cervejas');

INSERT INTO `subcategoria` VALUES (1, 2, 'Maçã');
INSERT INTO `subcategoria` VALUES (2, 3, 'Alcatra');
INSERT INTO `subcategoria` VALUES (3, 1, 'Sprite');
INSERT INTO `subcategoria` VALUES (4, 1, 'Fanta');
INSERT INTO `subcategoria` VALUES (5, 2, 'Laranja');
INSERT INTO `subcategoria` VALUES (6, 4, 'Skol');
INSERT INTO `subcategoria` VALUES (7, 4, 'Bohemia');
INSERT INTO `subcategoria` VALUES (8, 1, 'Coca-Cola');
INSERT INTO `subcategoria` VALUES (9, 3, 'Coxão Mole');
INSERT INTO `subcategoria` VALUES (10, 2, 'Limão');
INSERT INTO `subcategoria` VALUES (11, 3, 'Picanha');
INSERT INTO `subcategoria` VALUES (12, 4, 'Brahma');

Certo, já temos algumas informações nas tabelas, vamos a parte que interessa agora.

===============-===============

Como apresentar as Categorias?
Para realizar a consulta das categorias, simplesmente, criamos nossa query selecionando os campos desejados:

SELECT * FROM categori<span style='color:green'>as ORDER BY nome ASC

Estamos selecionando todos os campos de todos os registros, ordenados pelo nome em ordem crescente (A-Z).

E como apresentar no form tudo isso?
Vamos criar nossa página então:

<select name="categoria">
	<option></option>
<?php
$consulta = mysql_query("SELECT * FROM categorias ORDER BY nome ASC");
while( $row = mysql_fetch_assoc($consulta) )
{
echo "<option value=\"{$row['codigo']}\">{$row['nome']}</option>\n";
}
?>
</select>

Pronto, já temos um select com todas as categorias e um campo em branco no inicio, mas porque esse campo em branco? Pois nossa ação de XMLHttpRequest será no evento onchange, que é executa ao alterar o valor inicial.

Como ficaria nosso onchange?

<select name="categoria" onchange="pesquisar_dados( this.value )">

Para os conhecedores de JavaScript, chamamos uma função pesquisar_dados e passamos como um parâmetro, o value do select.

Uipi! Até agora, tudo beleza, e como montar o select para SubCategorias?!
Veja e surpreenda-se pequeno Gafanhoto.

<select name="subcategoria"></select>

Estava com preguiça, e vai ficar só assim nosso select. :P

Na verdade, os valores para ele, vai depender da Categoria selecionada, então, por inicio, não atribuimos nenhum valor à ele.

function pesquisar_dados()
Ahhh bom, achei que nunca iriamos chegar aqui. Veja o que seria essa função para receber o value da categoria selecionada:

function pesquisar_dados( valor )
{
  http.open("GET", "consultar.php?id=" + valor, true);
  http.onreadystatechange = handleHttpResponse;
  http.send(null);
}

Vamos entender ela:

"Abrimos" a página consultar.php?id=X, digo "abrimos", pois na verdade, essa janela não será apresentada ao usuário, só será processada puxaremos o valor retornado. Logo após, aguardamos a resposta do processamento da página, e assim que finalizado, chamamos a nova função handleHttpResponse. Que processará nossa resposta.

function handleHttpResponse
Essa função tem a finalidade de "pegar" o resultado da página processada, e apresentar no seu defido lugar. Poderiamos jogar em um textarea, uma <div>, um <p>, ou até mesmo um alert.

function handleHttpResponse()
{
  campo_select = document.forms[0].subcategoria;
  if (http.readyState == 4) {
    campo_select.options.length = 0;
    results = http.responseText.split(",");
    for( i = 0; i < results.length; i++ )
    { 
      string = results[i].split( "|" );
      campo_select.options[i] = new Option( string[0], string[1] );
    } 
  }
}

OOOOOOO LOOOOOOCOOOOOOOO MEEEEEUUUU!!! By Fausto Silva

Calma, calma, não corram. Vamos entender:

Antes de mais nada, definimos que campo será o receptor dos novos dados. Em seguida, verificamos se o estado do retorno é igual 4 (concluído), caso seja, definimos o campo receptor como 0 de length, ou seja, eliminamos todos as opções que existiam. Logo após, explodimos a resposta retornada pela nossa execução por ",", ou seja, cada SubCategoria, será separada por ",". Após isso, para cada índice retornado, explodimos ainda por "|", mas por que isso, você se pergunta, simples, nosso select não é somente 1 valor, mas 2, uma para a propriedade value e outro para a apresentação, primeiro a apresentação e em seguida o value. E por fim, adicionamos a opção ao nosso select.

OBA! Acabamos!!! Estamos vivos!!!!!
Calma jovem Anakin, o lado negro da força está por vir. Teríamos acabado se não tivessemos tantos navegadores por ai afora, e cada um com seu método de interpretação.

Como resolver? Simples, com mais uma função extra. Essa não precisará que nada seja alterado, afinal, é somente para identificação do Navegador e Suporte ao XMLHttpRequest.

function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}
var http = getHTTPObject();

Somente uma passagem rápida por ela, definimos a nova função, e veja o detalhe, se você utilizar alguma IDE para o desenvolvimento dessas páginas, é bem provavel que identificará parte do código como um comentário, mas não é, não apague ;)

Depois de fazer toda a verificação, a função é chamada e passada seu valor à variável global http.

Agora acabou?!
Técnicamente sim, mas como criar a página para retornar os resultados? Bom, agora entra nosso amigão PHP. Como vimos, cada registro precisa ser separado por ",", e a apresentação do value deve ser separado por "|".

<?php
$con = mysql_connect("localhost", "usuario", "senha");
mysql_select_db("base_dados");

$categoria = addslashes($_GET["id"]); // pegamos o id passado pelo select
$consulta = mysql_query("SELECT * FROM subcategoria WHERE categoria = '$categoria'"); // selecionamos todas as subcategorias que pertencem à categoria selecionada
while( $row = mysql_fetch_assoc($consulta) )
{
  echo $row["nome"] . "|" . $row["codigo"] . ","; // apresentamos cada subcategoria dessa forma "NOME|CODIGO,NOME|CODIGO,NOME|CODIGO,...", exatamente da maneira que iremos tratar no JavaScript
}
?>

Belezinha pessoas? Essa seria a página consultar.php, agora vejamos como ficaria a nossa página principal completa:

<?php
$con = mysql_connect("localhost", "usuario", "senha");
mysql_select_db("base_dados");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript">
function pesquisar_dados( valor )
{
  http.open("GET", "consultar.php?id=" + valor, true);
  http.onreadystatechange = handleHttpResponse;
  http.send(null);
}

function handleHttpResponse()
{
  campo_select = document.forms[0].subcategoria;
  if (http.readyState == 4) {
    campo_select.options.length = 0;
    results = http.responseText.split(",");
    for( i = 0; i < results.length; i++ )
    { 
      string = results[i].split( "|" );
      campo_select.options[i] = new Option( string[0], string[1] );
    }
  }
}

function getHTTPObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}
var http = getHTTPObject();
</script>
</head>

<body>
<form name="formulario" method="post" action="">
<p><select name="categoria" onchange="pesquisar_dados( this.value )">
	<option></option>
<?php
$consulta = mysql_query("SELECT * FROM categorias ORDER BY nome ASC");
while( $row = mysql_fetch_assoc($consulta) )
{
echo "<option value=\"{$row['codigo']}\">{$row['nome']}</option>\n";
}
?>
</select></p>
<p><select name="subcategoria"></select>
</p>
</form>
</body>
</html>

E se eu não quiser um select, mas sim, um texto?
Simples, teriamos que alterar somente a função para tratar o retorno:

function handleHttpResponse()
{
  campo_text = document.forms[0].subcategoria;
  if (http.readyState == 4) {
    campo_text = http.responseText;
    
  }
}

Dessa forma, o campo <textarea> ou quaisquer outros campos, ou tags, receberiam o valor retornado pela consulta, bastando somente tratar todos os textos na consulta.

===============-===============

Dedicatória
A todos vocês e principalmente a minha mamãe pelo Dia das Mães :)
Mesmo tendo a certeza que ela não vai ler esse tutorial, mas:

Mommy, I love you! :)

Attached Files




#987921 Novidades Fórum Wmo

Posted by Paulo Freitas on 02/12/2009, 09:15

Conteúdo deste tópico:

Olá,

Você certamente já deve ter notado algumas mudanças em nosso fórum. Elas foram tantas que seria impraticável listá-las todas aqui. Selecionamos neste comunicado 8 desta novidades que mais agregaram valor à nossa comunidade. Confira:

[anchor="reputation_system"]Sistema de reputação


Recurso do novo IP.Board 3.0, contamos agora com este maravilhoso sistema em nosso fórum. Sempre que um post (tópico/resposta) lhe ajudar, ou até mesmo que você achar o mesmo interessante ou que possa ajudar outrem, você pode retribuir o autor do mesmo reputando-o positivamente - isto aumentará 1 ponto na reputação geral do mesmo. Esta é a melhor forma de agradecê-lo, esteja certo(a) disso. =)

Attached File  reputation_system.png   2.86KB   5 downloads

Afinamos a configuração do sistema da melhor maneira que nos foi possível. Dentre as modificações, desativamos a reputação negativa por acharmos a mesma degradante demais. Vale dizer também que, nas seções internas do fórum, visível somente para membros da equipe, o sistema foi inteiramente desativado, tal como acontece também na contagem de posts - não é da nossa intenção sermos diferentes dos demais. Modificamos também a visualização dos botões, adicionando uma mensagem de incentivo ao lado dos mesmos.

Para evitar o uso inadequado do recurso, possuímos logs de todas as pontuações aplicadas, acessíveis atualmente somente pela equipe de administração. Estamos e estaremos constantemente acompanhando o uso inadequado deste fabuloso sistema. O uso abusivo do mesmo já está passível de advertência e zeragem de pontuação. Maiores detalhes serão incluídos nas regras.

Outro diferencial que adotamos foi inserir uma modificação no índice com um ranking dos 5 membros melhor reputados, na intenção de incentivá-los a figurar este ranking produzindo mais posts dignos de uma reputação positiva. Além deste TOP 5, fizemos uma modificação de nossa autoria na listagem de membros, adicionando um filtro de pontos de reputação à mesma. Tal modificação permite a visualização de um ranking geral dos membros melhor reputados. Confira!

Attached File  top5_reputation.png   7.83KB   4 downloads Attached File  top_reputation.png   73.32KB   10 downloads

Gostaríamos de enfatizar que incentivamos fortemente o uso deste sistema desde que seja de forma prudente. Use mas não abuse! Use com senso crítico. ;-)

[anchor="status_updates"]Atualizações de status

Também novo recurso do IP.Board 3.0, agora você pode enviar à todos pequenas atualizações sobre como está se sentindo, aonde está indo, alguma novidade que descobriu, etc. (tal como você já deve conhecer no Facebook/Orkut). Você pode atualizar seu status tanto no índice como em seu perfil.

Attached File  recent_statuses.png   47.99KB   12 downloads Attached File  profile_status.png   11.87KB   9 downloads

Este é mais um recurso que incentivamos fortemente seu uso, desde que seja usado de acordo com nossas regras. Aqui o Use mas não abuse! se faz valer novamente. (y)

[anchor="report_button"]Botão Reportar

Recurso antigo do IP.Board, finalmente foi ativado em nosso fórum. As melhorias feitas nesta nova versão foram determinantes para que isto acontecesse. à partir de agora, sempre que notar algo inadequado, seja um post, uma mensagem privada ou um membro, você pode reportar o mesmo à equipe clicando no botão Reportar respectivo. Esta é, à partir de então, a forma correta de notificar irregularidades em nosso fórum. É também a maneira mais rápida de ter a notificação atendida. (y)

Attached File  report_message_button.png   1.49KB   3 downloads Attached File  report_user_button.png   1.61KB   1 downloads

Com este novo sistema, toda a equipe de administração e monitoria são prontamente notificadas das ocorrências numa área totalmente integrada que permite não só o acompanhamento como a discussão individual de cada ocorrência. É justamente por conta disto que as chances de rápida resolução serão maiores.
Vale dizer que o sistema só deve ser usado quando se tem a absoluta certeza de que o membro está ferindo alguma das regras vigentes em nosso fórum. Tal como o sistema de reputação, use mas não abuse! O uso do botão é exclusivo para denúncias. ;-)

[anchor="share_button"]Botão Compartilhar

Ainda em fase de implementação, foi adicionado em nosso fórum o botão de compartilhamento social na visualização de fóruns e tópicos. Você pode usar o mesmo para imprimir, adicionar aos favoritos/bookmarks, enviar por e-mail, armazenar/divulgar no Delicious/Twitter (e mais centenas de outros serviços) qualquer fórum ou tópico que tenha gostado e/ou achado interessante.

Attached File  share_button.png   1.8KB   3 downloads

As opções são realmente grandes, vale a pena conferir! =)

Attached File  share_button_opened.png   16.08KB   1 downloads Attached File  share_button_fullopened.jpg   33.92KB   12 downloads

Tal como no sistema de reputação, gostaríamos de enfatizar que incentivamos fortemente o uso deste sistema, e aqui não há contra-indicações. Use e abuse! :D

[anchor="social_networking"]Novos campos adicionais nos perfis

Alguns já devem ter notado que, no Painel de Controle, apareceram novos campos na aba Perfil.
No grupo de contato, removemos o campo do mensageiro Jabber, que não estava em uso por ninguém, e adicionamos o Google Talk, que já vem sendo adotado por alguns membros.
A mudança maior fica por conta do grupo Redes Sociais, idealizado e criado por nós para socializar nossos membros, abrindo novas possibilidades em nosso fórum. Os sistemas já suportados incluem o Delicious, Facebook, Flickr, LinkedIn, MySpace, Orkut, Picasa, Twitter e Youtube. Se você possui perfil em outro serviço não presente nesta lista e gostaria de divulgá-lo, fique à vontade para nos sugerir em nossa ouvidoria. Dada a demanda, ele será incluído nesta lista.
Atenção: é para inserir somente o seu identificador nos campos, tal como indicado abaixo dos mesmos, nada de URLs. ;-)

Attached File  settings_social_networking.png   43.61KB   13 downloads Attached File  profile_social_networking.png   67.88KB   12 downloads

Este recurso ainda está em fase de implementação, portanto algumas coisas ainda podem mudar - principalmente no que diz respeito ao preenchimento dos campos no painel de controle.
Mais uma vez, gostaríamos de enfatizar que incentivamos fortemente o uso desta novidade, e aqui também não há contra-indicações. Use e abuse, socialize-se! :)

[anchor="new_bbcodes"]Novos BBCodes

Ainda em fase de implementação, foram adicionados novos BBCodes para a adição de vídeos e tabelas nos posts.

[anchor="media_bbcode"]BBCode para vídeos

Novidade do novo IP.Board 3.0, este BBCode nativo foi inteiramente modificado por nós, passando a suportar, até o momento, vídeos dos serviços 5min, Dailymotion, Flickr, GameTrailers, Google Video, MEGAVIDEO, Metacafe, MySpace Video, Revver, Vimeo e Yahoo! Video. Além destes, é possível inserir neste mesmo BBCode qualquer vídeo FLV ou música MP3 que se deseje interligar. :)

Attached File  media_bbcode.png   8.87KB   10 downloads

Esta lista de serviços tende a aumentar conforme o tempo. Se você possui alguma sugestão de serviço não presente nesta lista, fique à vontade para nos sugerir em nossa ouvidoria. Dada a demanda, ele será incluído nesta lista.
Use este BBCode para postar tutoriais, documentários ou qualquer outro vídeo que esteja dentro das regras do fórum. Aqui entra novamente o Use mas não abuse!.

Seu uso é tão simples que dispensa comentários - basta inserir o endereço do vídeo entre as tags media:

[media]http://www.youtube.com/watch?v=k5Zbc-Rg6e8[/media]
Eis o BBCode interpretado:

http://www.youtube.com/watch?v=k5Zbc-Rg6e8

Ainda estamos trabalhando no aperfeiçoamento da identificação de endereços de vídeos dos serviços já cadastrados. Se você notar algum bug (problema), fique à vontade para nos reportar em nossa ouvidoria - iremos corrigi-lo assim que notificados. Outra coisa que deve mudar é o aspecto visual da exibição dos vídeos. Estamos trabalhando numa personalização neste sentido. (y)

[anchor="tables_bbcode"]BBCodes para tabelas

Esta é uma novidade criada por nós para permitir a inserção de tabelas completas nos posts para quem por ventura vier precisar inserir dados tabulares em algum tutorial ou coisa do tipo. Aqui mais uma vez entra o Use mas não abuse!.
Eis a lista de BBCodes suportados: table, thead, tfoot, tbody, tr/tr2, th e td/td2, todos eles disponíveis no editor de posts no seletor Outros BBCodes.

Attached File  table_bbcodes.png   3KB   2 downloads

Uma breve explicação sobre os mesmos:

  • table
    Define uma tabela. Possui opção obrigatória que define o título da mesma.
  • thead
    Define um grupo de conteúdo do cabeçalho de uma tabela. Não há opção. Uso opcional.
  • tfoot
    Define um grupo de conteúdo do rodapé de uma tabela. Não há opção. Uso opcional.
  • tbody
    Define um grupo de conteúdo do corpo de uma tabela. Não há opção. Uso opcional.
  • tr
    Define uma linha de uma tabela. Não há opção.
  • tr2
    Define uma linha de uma tabela com estilo alternado. Não há opção. Uso opcional.
  • th
    Define uma célula de cabeçalho em uma tabela. Possui opção facultativa de largura (em %).
  • td
    Define uma célula em uma tabela. Possui opção facultativa de largura (em %).
  • td2
    Define uma célula em uma tabela com estilo alternado (complementar ao estilo alternado das linhas). Possui opção facultativa de largura (em %). Uso opcional.
Eis um exemplo de uso completo (sem quebras de linhas - o BBCode code as quebra automaticamente):

[table="Tabela modelo: Lista de estados brasileiros"][thead][tr][th=10]Abreviação[/th][th=30]Estado[/th][th=30]Capital[/th][th=30]Área (km²)[/th][/tr][/thead][tfoot][tr][th]3 estados[/th][th][/th][th][/th][th]323.163,7[/th][/tr][/tfoot][tbody][tr][th]AC[/th][td2]Acre[/td2][td]Rio Branco[/td][td]152.581,4[/td][/tr][tr2][th]AL[/th][td2]Alagoas[/td2][td]Maceió[/td][td]27.767,7[/td][/tr2][tr][th]AP[/th][td2]Amapá[/td2][td]Macapá[/td][td]142.814,6[/td][/tr][/tbody][/table]
Exemplo interpretado:

Tabela modelo: Lista de estados brasileiros
AbreviaçãoEstadoCapitalÁrea (km²)
3 estados323.163,7
ACAcreRio Branco152.581,4
ALAlagoasMaceió27.767,7
APAmapáMacapá142.814,6

É importante que só exista quebras de linhas onde elas devam existir. Do contrário, haverá resultados indesejados na renderização dos BBCodes.





Ufa! O post terminou. Gostou das novidades? Não gostou?! Seja como for, fique livre para nos dizer o que achou em nosso tópico de feedback de nossa ouvidoria. Se você achou que as novidades foram muitas, saiba que este é apenas o começo, em breve outras novidades pintando por aqui. B)

Atenciosamente,
Equipe Fórum WMOAté mais


#589230 Sistema de Busca do Fórum

Posted by Klaus on 25/05/2005, 12:16

Olá!

No fórum, temos a nossa ferramenta de busca, que permite a você encontrar respostas a seus problemas, mais rápido do que você possa imaginar. Para auxiliar na sua pesquisa, existem alguns truques que irei mostrar a vocês aqui! Vamos lá!

Em toda página que você estiver no fórum, você vai ver o link lá em cima, com uma lupa ao seu lado. http://forum.wmonlin....php?act=Search

Nota: Se você está visualizando a página de "Comunicados", como agora, clicando no link você automaticamente estará fazendo a busca somente nesta seção do fórum e nas seções dentro desta. Você pode mudar sem problemas aonde será feita a pesquisa na opção: "Pesquisar onde" ("Search where" para quem usa a interface em inglês)

Um pouco mais a direita você verá uma parte onde você pode escolher o limite de data: "Encontrar posts de..." ("Search posts from..." - interface em inglês), por padrão a pesquisa é feita em tópicos somente com menos de 30 dias de "idade", rs. Para tornar sua busca mais abrangente, use a última opção que ignora a "idade" do tópico.

Agora uns macetes para se achar o que você procura: Vamos supor que você esteja procurando algum tópico que fale sobre o: "Gmail do Google". Obviamente, você não escreverá o "do", somente "Gmail" e "Google" pois são as palavras-chave que você procura. Escrevendo-as na caixa de pesquisa, e clicando em pesquisar, você se surpreenderá e... Não encontrará nada!!!

O fórum está programado para pesquisar expressões, a menos que você especifique o contrário. Vejamos como:

gmail%google => Encontrará posts que possuam qualquer uma das palavras, ou mesmo as duas, em qualquer ordem.


gmail AND google => Encontrará posts que possuam obrigatoriamente "gmail" e "google".


gmail OR google => Encontrará posts que possuam ou "gmail" ou "google".


E para finalizar, se você souber que no tópico que você procura, tem um post do Klaus (o gostoso), você pode filtrar ainda mais sua pesquisa, preenchendo o campo ao lado, com o nome da pessoa ou parte dele.

Com isso, você achará praticamente tudo, com facilidade no fórum!

Dúvidas podem ser esclarecidas neste tópico!
[]´s


#1062597 ropzmxwi

Posted by GeorgeHartek on 03/08/2017, 22:41

https://www.flickr.c...57684018319904/https://bitbucket.org/snippets/shirleypbc1973w8/kMpE6A/ ALZip is a free archive compressor and extractor for Windows and Mac. Jan 30, 2017 Download Keka 1.0.11 (19.2 MB) Requires Requires Mac OS X 10.6 or newer: Keka 1.0.4 (19.3 MB) MD5. https://www.flickr.com/groups/3959949@N22/discuss/72157683911733534/ https://bitbucket.org/snippets/bernardobfa1969l2/yRq8zB/ Mobile Pro uses 3G or Wi-Fi communication to keep the user Load up your new Retina Mac with these awesome apps. This is the place for all of the best games and apps deals across all Hands-on: Khomo's 10.5-inch iPad Pro case with built-in Apple Pencil holder [Video]. Updated Top 100 Mac games with 18 new entries (to add more variety, Filter your search for the games you want from the categories below. https://www.flickr.com/groups/3960949@N22/discuss/72157686671920926/ https://www.flickr.com/groups/3562985@N21/discuss/72157683347977542/ Open 'Spotlight' by pressing the 'COMMAND' and 'SPACEBAR' keys at the same time. Compatible with Apple Mac; Licence: 1 user / lifetime; Office suite: Students, faculty and staff may download Microsoft Office under the university license agreement. Be sure to remove the Microsoft User Data folder in Documents. http://exchange.2take.me/Forum/viewtopic.php?f=10&t=9051 http://forum.balza3d.it/viewtopic.php?f=12&t=1496 http://konsumentenschutzforum.ch/viewtopic.php?f=13&t=1742 http://portalmototurismo.com.br/viewtopic.php?f=18&t=2478 http://fororiego.com/viewtopic.php?f=7&t=4167 http://google.com/q=b68ahuzn


#728733 Python

Posted by jasar on 07/04/2006, 18:11

Ae galera preciso de alguem responsavel que manje de Phyton e principalmente possa se deslocar caso precisa atender clientes em outros estados
enviar email para jasaroc@terra.com.br

( apenas pessoas de sao paulo com disponibilidade de tempo )

valeu


#516525 Iniciando no mySQL

Posted by H3NR!QU3 on 10/01/2005, 22:52

Bom galera decidi pensar nos que estão começando agora com o php ow seja os futuristas programadores hauhuha viajei neh? :D

Bom começando

primeiro vamos ver oq nois iremos fazer

1º --> criar as tabela
2º --> arquivo de conexao com o db
3º --> inserindo algo no db
4º --> exibindo algo do db
5º --> deletando algo do db
6º -->editando algo do db


1º PASSO
criando as tabela o nosso db se chamara cadastro
CREATE TABLE `cadastro` (
`id` INT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`nome` TEXT NOT NULL ,
`email` TEXT NOT NULL ,
`idade` TEXT NOT NULL ,
`cidade` TEXT NOT NULL ,
`data` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` ) 
);

criamos a nossa tabela :D agora amo a o 2º passo

2º PASSO
arquivo de conexao com o db chamaremos ele de config.php

<?

$host = "localhost"; // sempre deixe local host nunka mude
$user = "usuario_db"; // seu usuario do db
$pass = "senha_uduario_db";// sua senha do sb
$db = "cadastro"; //o nome do sue banco de dados que no caso deii o nome de cadastro[
$a = @mysql_connect($host, $user, $pass) or die(mysql_error());

@mysql_select_db($db, $a) or die("erro ao se conectar com o db");
?>

criamos o arquivos de conexao com o db :P agora vamos a o 3º passo

3º PASSO

inserindo algo ao db chamaremos ele se cadastrar.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>cadastrar.php</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="inserir.php">
  <table width="0%" border="0" cellspacing="1" bgcolor="#339900">
    <tr>
      <td width="357" align="center" bgcolor="#FFFFFF"><strong><font color="#FF0000" size="1" face="verdana">...:::::cadastrando::::......</font></strong></td>
    </tr>
    <tr>
      <td height="98" valign="top" bgcolor="#FFFFFF"> <table width="362" height="111" border="0" cellspacing="0">
          <tr>
            <td width="44"><strong><font size="1" face="verdana">Nome:</font></strong></td>
            <td width="314"><input name="nome" type="text" id="nome4" size="40"></td>
          </tr>
          <tr>
            <td width="44"><strong><font size="1" face="verdana">Email :</font></strong></td>
            <td><input name="email" type="text" id="email2" size="40"></td>
          </tr>
          <tr>
            <td width="44"><strong><font size="1" face="verdana">Idade :</font></strong></td>
            <td><input name="idade" type="text" id="idade2" size="10"></td>
          </tr>
          <tr>
            <td><strong><font size="1" face="verdana">Cidade :</font></strong></td>
            <td><input name="cidade" type="text" id="cidade" size="25"></td>
          </tr>
          <tr>
            <td width="44"><strong></strong></td>
            <td><input type="submit" name="Submit" value="cadastrar"></td>
          </tr>
        </table></td>
    </tr>
  </table>
</form>
</body>
</html>

bom galera obeserve q e a action do form vai para a pagina inserir.php
e observe os nome dos campos do form tbem que eu vo pegar os valores dele na proxima etapa

agora iremos programar a pagina inserir.php que pegar os valores do form e ira cadastrar no db

PHP

<?
include"config.php"; // incruimos o arquivo de conexao com o db que nois criamos no passo 2


$nome = $_POST['nome']; //peguei o valor do campo que contem o name nome
$email = $_POST['email']; //peguei o valor do campo que contem o name email
$idade = $_POST['idade']; //peguei o valor do campo que contem o name idade
$cidade = $_POST['cidade']; //peguei o valor do campo que contem o name cidade
$data = date("d/m/Y \à\s H:i:s");// peguei a data e a hora do server

// agora iremos a parte que insere os valores pegos acima no db

$x = mysql_query("INSERT INTO cadastro (nome,email,idade,cidade,data) VALUES ('$nome','$email','$idade','$cidade','$data')");//acabos de inicia a variavel x q insere os valores no db
if($x){echo"o cadastro foi feito com sucesso";// verificamos se os dados doi inserido se for ele executa o echo
}else{
echo
"o cadastro nao pode ser efetuado";
}
  //se o arquivo nao for inserido ele execura o else
?>

Bom ne galera intao jah terminamos a parte de cadastrar agora vamos para o 4º passo :D

essa pagina se chamara exibir.php ela sera responssavel pela exibição dos dados da tabela cadastro


PHP

<?
include"config.php"; //incluindo o arquivo de conexao feito no passo2

$y = mysql_query("SELECT * FROM cadastro");// selecionei a tabela que quero trabalhar que no caso e a que nois criamos no 1º passo
while($x = mysql_fetch_array($y)){ //criei um array chamado $x que sera responssavel pra listar os dados
echo'
   <table width="0%" border="0" cellspacing="1" bgcolor="#339900">
  <tr>
    <td width="357" align="center" bgcolor="#FFFFFF"><strong><font color="#FF0000" size="1" face="verdana">...:::::Exibindo::::......</font></strong></td>
  </tr>
  <tr>
    <td height="98" valign="top" bgcolor="#FFFFFF"> <table width="362" height="111" border="0" cellspacing="0">
        <tr>
          <td width="44"><strong><font size="1" face="verdana">Nome:</font></strong></td>
          <td width="314"><strong><font color="#009900" size="1" face="verdana">'
.$x['nome'].'</font></strong></td>
        </tr>
        <tr>
          <td width="44"><strong><font size="1" face="verdana">Email :</font></strong></td>
          <td width="314"><strong><font color="#009900" size="1" face="verdana">'
.$x['email'].'</font></strong></td>
        </tr>
        <tr>
          <td width="44"><strong><font size="1" face="verdana">Idade :</font></strong></td>
          <td width="314"><strong><font color="#009900" size="1" face="verdana">'
.$x['idade'].'</font></strong></td>
        </tr>
        <tr>
          <td><strong><font size="1" face="verdana">Cidade :</font></strong></td>
          <td><strong><font color="#009900" size="1" face="verdana">'
.$x['cidade'].'</font></strong></td>
        </tr>
        <tr>
          <td width="44"><strong><font size="1" face="verdana">Data :</font></strong></td>
          <td width="314"><strong><font color="#009900" size="1" face="verdana">'
.$x['data'].'</font></strong></td>
        </tr>
      </table></td>
  </tr>
</table>
<br>

'
;
}
// imprimi os resultados da tabela cadastro na tela
?>


Terminamo o 4º passo que exibe os resultados da tabela vamos lah galera nao desistam tamo quase acabando e meio demorado amis vai ser mto util ira ajudra abstante o pessoal q esta começando :D Espero que sim hehe (y)


bom vmao para di conversa fiado e ir para a parte di deletar

essa pagina se chamara

deletar.php vamos ao codigo

PHP

<?
include"config.php"; //incluindo o arquivo de conexao feito no passo2

$y = mysql_query("SELECT * FROM cadastro");// selecionei a tabela que quero trabalhar que no caso e a que nois criamos no 1º passo
while($x = mysql_fetch_array($y)){ //criei um array chamado $x que sera responssavel pra listar os dados a serem escolhido para ser deletado
echo'
<table width="0%" border="0" cellspacing="1" bgcolor="#339900">
  <tr>
    <td width="357" align="center" bgcolor="#FFFFFF"><strong><font color="#FF0000" size="1" face="verdana">...:::::Exibindo
      arquivos a serem Deletado::::......</font></strong></td>
  </tr>
  <tr>
    <td height="98" valign="top" bgcolor="#FFFFFF"> <table width="362" height="106" border="0" cellspacing="0">
        <tr>
          <td width="44"><strong><font size="1" face="verdana">Nome:</font></strong></td>
          <td width="314"><strong><font color="#009900" size="1" face="verdana">'
.$x['nome'].'</font></strong></td>
        </tr>
        <tr>
          <td width="44"><strong><font size="1" face="verdana">Email :</font></strong></td>
          <td width="314"><strong><font color="#009900" size="1" face="verdana">'
.$x['email'].'</font></strong></td>
        </tr>
        <tr>
          <td width="44"><strong><font size="1" face="verdana">Idade :</font></strong></td>
          <td width="314"><strong><font color="#009900" size="1" face="verdana">'
.$x['idade'].'</font></strong></td>
        </tr>
        <tr>
          <td><strong><font size="1" face="verdana">Cidade :</font></strong></td>
          <td><strong><font color="#009900" size="1" face="verdana">'
.$x['cidade'].'</font></strong></td>
        </tr>
        <tr>
          <td><strong><font size="1" face="verdana">Data :</font></strong></td>
          <td><strong><font color="#009900" size="1" face="verdana">'
.$x['data'].'</font></strong></td>
        </tr>
        <tr>
          <td width="44" height="21"><strong></strong></td>
          <td width="314" align="right"><strong><font color="#FF0000" size="2" face="verdana"><a href="excluir.php?id='
.$x[id].'">Deletar</a></font></strong></td>
        </tr>
      </table></td>
  </tr>
</table>
<br>

'
;
}
  //notem que  no link do deleter eu passei o id pela url para a pagina excluir.php exlui.php?id=$x[id]
?>


bom vamo a pagina excluir.php que sera responsavel por exclui os cadastros
vamos ao codigo

excluir.php

PHP

<?
include"config.php"; // incluindo na pagina o arquivo de conexao com o db que vzemo no passo2
$id = $_GET['id'];//lembram que eu passei o id pela url no link deletar intao agora eu resgatei ele
$x = mysql_query("DELETE FROM cadastro WHERE id='$id' LIMIT 1");  // inciei a variavel $x q sera responssavel por deletar o cadastro ela deleta o cadastro cujo o id e igual ao o id passado pela url
if($x){ // comparabdo se foi a variavel $x e verdadeira se ela relmente ira exclui o cadatsro se for verdadeira executa o echo
echo"cadastro deletado com sucesso";
}else{ echo
" nao foi possivel deletar o cadastro";  // se a variavel $x for falsa ira execua o else ow seja nao ira excluir o cadastro
}
?>


bom galera tamo quase lah falta so mais um passo e esse passo e o mais complicado a parte de editar por isso irei me esforça pra esplicar mais pra que vcs nao fiquem perdido blz (y) vamos lah

essa pagina se chamarar mostrar_edit.php
vamos ao codigo

5º PASSO
PHP


<?
include"config.php"; //incluindo o arquivo de conexao feito no passo2

$y = mysql_query("SELECT * FROM cadastro");// selecionei a tabela que quero trabalhar que no caso e a que nois criamos no 1º passo
while($x = mysql_fetch_array($y)){ //criei um array chamado $x que sera responssavel pra listar os dados a serem editados a serem escolhido para ser deletado
echo'
<table width="0%" border="0" cellspacing="1" bgcolor="#339900">
  <tr>
    <td width="357" align="center" bgcolor="#FFFFFF"><strong><font color="#FF0000" size="1" face="verdana">...:::::Exibindo
      arquivos a serem Editado::::......</font></strong></td>
  </tr>
  <tr>
    <td height="98" valign="top" bgcolor="#FFFFFF"> <table width="362" height="106" border="0" cellspacing="0">
        <tr>
          <td width="44"><strong><font size="1" face="verdana">Nome:</font></strong></td>
          <td width="314"><strong><font color="#009900" size="1" face="verdana">'
.$x['nome'].'</font></strong></td>
        </tr>
        <tr>
          <td width="44"><strong><font size="1" face="verdana">Email :</font></strong></td>
          <td width="314"><strong><font color="#009900" size="1" face="verdana">'
.$x['email'].'</font></strong></td>
        </tr>
        <tr>
          <td width="44"><strong><font size="1" face="verdana">Idade :</font></strong></td>
          <td width="314"><strong><font color="#009900" size="1" face="verdana">'
.$x['idade'].'</font></strong></td>
        </tr>
        <tr>
          <td><strong><font size="1" face="verdana">Cidade :</font></strong></td>
          <td><strong><font color="#009900" size="1" face="verdana">'
.$x['cidade'].'</font></strong></td>
        </tr>
        <tr>
          <td><strong><font size="1" face="verdana">Data :</font></strong></td>
          <td><strong><font color="#009900" size="1" face="verdana">'
.$x['data'].'</font></strong></td>
        </tr>
        <tr>
          <td width="44" height="21"><strong></strong></td>
          <td width="314" align="right"><strong><font color="#FF0000" size="2" face="verdana"><a href="editar.php?id='
.$x[id].'">Editar</a></font></strong></td>
        </tr>
      </table></td>
  </tr>
</table><br>
'
;
}
  //notem que  no link do editar eu passei o id pela url para a pagina editar.php editar.php?id=$x[id]
?>


Bom ne galera agora vamos a parte que mostra num campo dentro de um form os valores que estao no db essa pagina se chamara editar.php

vamos ao codigo

PHP


<?
include"config.php"; //incluindo o arquivo de conexao feito no passo2
$id = $_GET['id']; // peguei o id passado pela urlna pagina exibir_edit.php
$y = mysql_query("SELECT * FROM cadastro WHERE id='$id'");// selecionei a tabela que quero trabalhar que no caso e a que nois criamos no 1º passo
while($x = mysql_fetch_array($y)){ //criei um array chamado $x que sera responssavel pra listar os dados a serem editados a serem escolhido para ser deletado
echo'
<form name="form1" method="post" action="alterar.php?id='
.$x[id].'">
<table width="0%" border="0" cellspacing="1" bgcolor="#339900">
<tr>
<td width="357" align="center" bgcolor="#FFFFFF"><strong><font color="#FF0000" size="1" face="verdana">...:::::editando::::......</font></strong></td>
</tr>
<tr>
<td height="98" valign="top" bgcolor="#FFFFFF"> <table width="362" height="111" border="0" cellspacing="0">
<tr>
<td width="44"><strong><font size="1" face="verdana">Nome:</font></strong></td>
<td width="314"><input name="nome" type="text" id="nome4" value="'
.$x[nome].'" size="40"></td>
</tr>
<tr>
<td width="44"><strong><font size="1" face="verdana">Email :</font></strong></td>
<td><input name="email" type="text" id="email2" value="'
.$x[email].'" size="40"></td>
</tr>
<tr>
<td width="44"><strong><font size="1" face="verdana">Idade :</font></strong></td>
<td><input name="idade" type="text" id="idade2" value="'
.$x[idade].'" size="10"></td>
</tr>
<tr>
<td><strong><font size="1" face="verdana">Cidade :</font></strong></td>
<td><input name="cidade" type="text" id="cidade" value="'
.$x[cidade].'" size="25"></td>
</tr>
<tr>
<td width="44"><strong></strong></td>
<td><input type="submit" name="Submit" value="alterar"></td>
</tr>
</table></td>
</tr>
</table>
</form>
</body>
</html>


'
;
}
// exibi tudo oq tinha no db dentro de campos e como vcs podem ver tbem eu passei o id pela url na action do form para a apgina alterar.php
?>



BOm ne galera agora so resta o ultimo passo a pagina alterar.php que sera responsavel por alterraos dados do db :D vamos ao codigo

alterar.php

PHP


<?
include"config.php"; // inclui o arquivo de conexao com o db feito no passo2
$id = $_GET['id']; //peguei o id passado pela url no arquivo editar.php
$nome = $_POST['nome']; //peguei o valor do campo que contem o name nomeda pagina editar.php
$email = $_POST['email']; //peguei o valor do campo que contem o name email pagina editar.php
$idade = $_POST['idade']; //peguei o valor do campo que contem o name idade pagina editar.php
$cidade = $_POST['cidade']; //peguei o valor do campo que contem o name pagina editar.php

$x = mysql_query("UPDATE cadastro SET nome='$nome', email='$email', idade='$idade', cidade='$cidade' WHERE id='$id';"); // iniciei a variavel $x elatema  função de editar o cadastro
if($x){ // verifico se o arquivo foi editado se ele foi executa o echo ow seja ele e verdadeiro
echo"cadastro editado com sucesso";
}else{
// se a variavel $x nao for verdadeiro ele nao ira alterar o cadastro ou seja ira ser falso
echo"o arquivo nao podi ser editado";
}
?>



Bom galera finalmente eu terminei meu tutorial ahuaauh tutorial nada e mais pra curso do que tutorial hehe to ate com a mao duendo a unica coisa q eu fiz foi so abrir o phpeditor e começar a montar o tuto e programar :D

Bom galera como podem ver estameio tarde e eu estou com sono por isso nao vai da tempo de eu testar os codigos To com muito sono :wacko:

mais acredito que esteja tudo certinho hehe :unsure:

Intao vcs leem com bastante atenção meu tuto e da uma testada pra mim blz?

garanto que esse tuto faclilitara a vida de muitas pessoas

Bom deixo o Topico aberto para ser feito duvidas, criticas, sugestões,agradecimentos

T+ (y)


#1246861 lasix will it work with high lactic

Posted by JeffMalm on 11/10/2022, 04:30

Towner RA, et al lasix vs bumex Published Feb 27, 2019


#1246431 lasix tomato meme

Posted by Miguceamma on 07/10/2022, 06:35

tucatinib will increase the level or effect of crizotinib by P glycoprotein MDR1 efflux transporter lasix for afib


#1238360 Discounts! product website

Posted by wapedlok on 15/04/2018, 00:44

Discounts! www bestproducts my

progect13.jpg
Products which fall under this return policy can be returned domestically, as long as they are unused and in the original packaging. No questions asked!
If a product that falls under this guarantee is found to be counterfeit, you will get a full refund (shipping costs included).

buy.png

READ MORE
lg smartphones list
buy bitcoin with paypal
airline baggage dimensions
pharma store
online consumerism
discount rate to interest rate formula
amazon egift card
tax credit tax deduction
best shopping deals
cdiscount france address
how to determine discount rate for npv
rebate for you
watches for girls
prescription plans for uninsured
lg phones and prices
cheap gift certificates
eligible tax deductions

CLICK ON THE BANNER
1.jpg




crazy text, do not read:
You can't tell anyone about a naked man without getting to his penis and balls. They're the only part of him not fighting. And not covered with tattoos. His genitals are just red,about online shop wadded flesh in the nest of his black pubic hair.had talent,free lg phones it would come through sooner or later,what can i buy with bitcoin online for talent"Yes,easy ways to get amazon gift cards I am.""The first rule about fight club is you don't talk about fight club,energy star mail in rebate " the mechanic says. "And the last rule about Project Mayhem is you don't ask questions."the wounded in flesh and spirit,discount codes the homeless and the unwanted,localbitcoins paypal the ebbroom,short essay about shopping q^ s °i,royalty free business card templates efs ^ i" Ac smaller executive dining room


#1222457 Discounts! best makeup

Posted by papedlok on 04/03/2018, 14:09

Discounts! best mens hair wax

progect13.jpg
Products which fall under this return policy can be returned domestically, as long as they are unused and in the original packaging. No questions asked!
If a product that falls under this guarantee is found to be counterfeit, you will get a full refund (shipping costs included).

buy.png

READ MORE
watch automatic High Quality quartz ladies watch 2018 Trended Men Women Roman Numerals Faux Leather Band Skeleton Analog Sports Dress Wrist Watch W2E8D-in Lover Watches from Watches China watch omega Suppliers Children GPS Smart Watch Child Student Positioning Anti lost Tracker Locator Watches Russian English relogio masculino Gift E-in Lover Watches from Watches
China box for shipping Suppliers Letv X626 LeEco Le S3 x626 MetalBody Android 6.0 FDD LTE Mobile Phone Deca Core 2.3G Dual SIM 5.5 FHD 4G RAM 21M FingerPrint-in Mobile Phones from Cellphones Telecommunications jewelry jewelry OUKITEL Mobile Phone Oukitel MIX 2 Telephone 6G RAM 64G ROM 5.99 Full Screen MTK6757 Octa Core Fingerprint Android 7 Smartphone High Quality gift creative
China gift candy Suppliers China watch wall clock Suppliers Cheap horloge watch Cheap watch 3 China watch brand women Suppliers
AliExpress high quality products at wholesale prices
1pcs bunny tiger fox sloth sleep mask rest travel relax sleeping aid blindfold ice cover eye ( 3.98 $)
Modern fashion shopping girls patterns soft tpu back cases cover for iphone 4 4s 5 5s ( 1.40 $)
25w g9 fashionable led modern crystal pendant lamp with 3 lights fixtures hanging light lamparas lustres e pendentes ( 110.98 $)
New 5 inch car dvr camera rearview mirror digital video recorder with dual lens registrar camcorder full hd 1080p night vision ( 71.98 $)
i need help with my science homework purchase essay good essay questions how to write research paper first sentence of an essay
fast food nation essay spelling activities for homework homework vs no homework why do i want to go to college essay 5th grade science homework
writing essay conclusion great business plan writing how to papers help writing cover letter bcpm gpa calculator

CLICK ON THE BANNER
1.jpg


#1222179 Discounts! best produk

Posted by papedlok on 04/03/2018, 05:16

Discounts! best of beauty awards

progect12.jpg
Products which fall under this return policy can be returned domestically, as long as they are unused and in the original packaging. No questions asked!
If a product that falls under this guarantee is found to be counterfeit, you will get a full refund (shipping costs included).

buy.png

READ MORE
China Parkplatz Ausr stung Lieferanten High Quality watch automatic mechanical chelsea boots Agelocer Original Famous Brand Couple Watches Men Women Watches Mechanical Movement Date Day Waterproof Watch Minimalist Type -in Lover Watches from Watches High Quality refurbished mobile phones
High Quality damski zegarek High Quality watch mobile phone 2012 oukitel k10000 4g watch computer on tv Cheap alarm digital
China neo men Suppliers watch display case High Quality watch sizes for men rubber band China rate monitor watch Suppliers
Orlando Navy BlueBlue Reversible Leather Belt ( 132.00 $)
Cucumber seeds 100 japan mini cucumber vegetable and fruit seeds for home garden supply cucumis sativus ( 0.50 $)
Mink Unprocessed Raw Indian Wavy Virgin Hair Body Wave 4 Bundles Indian Body Wave Ms Lula Hair Products Raw Indian Virgin Hair ( 64.63 $)
Clear heel red leather pump ( 315.62 $) Moschino
ремонт клапанов гбц
outline for informative essay new york times essays critique of an article essay on illegal immigration nmr peak assignment
hotel rwanda essay essay writing site homework help games writing an interview essay essay writing on football
argumentative essay outline worksheet essay writing for students money can t buy happiness essay writing paper online writing essays for scholarships

CLICK ON THE BANNER
1.jpg


#1208794 Discounts! 2018 new makeup

Posted by sapedlok on 11/02/2018, 08:54

Discounts! beats products

progect11.jpg
Products which fall under this return policy can be returned domestically, as long as they are unused and in the original packaging. No questions asked!
If a product that falls under this guarantee is found to be counterfeit, you will get a full refund (shipping costs included).

buy.png

READ MORE
MeyJig Multifunctional Plastic Double Layer Dry Fruit Containers Snacks Seeds Storage Box Garbage Holder Plate Dish Organizer-in Storage Boxes Bins from Home Garden watch book 1 Set Chest Transmitter Strap + Watch Outdoor Cycling Sport Wireless Heart Rate Monitor Fitness reloj inteligente Watches-in Lover Watches from Watches China watch wireless Suppliers watch mobile phone q8
High Quality dropshipping women New Fashion Lovers Watches Women Men Funny Printed Quartz Wrist Watch Mens Women Dress Clock Watch Couple Gifts Relogio #JO-in Lover Watches from Watches High Quality watches luxury watch bracelet watch gold steel automatic watch
Cheap brand crossbody Fast Shipping!Unlocked Linksys SPA2102 Voip gateway Phone FXS Voip adater SPA2102 Voice over IP adater IP pbx pc controller wireless Cheap gun simulation High Quality kids kids
Rockbros bicycle light cycling bike rear light taillight egg bicycle accessories back heart light signal warning waterproof mtb ( 15.23 $)
grand theft auto iii бесплатно
Geneva Stainless Steel Body Diamond Quartz Watch Decorative Sub - dials Date for Women ( $6.57 )
Double Chiffon Silk Stole ( 68.60 $)
VCHOK M8 4.5 inch Android 5.1 4G Smartphone MTK6735 Quad Core IP68 Waterproof NFC SOS 16GB ROM 13.0MP Camera 275.39$
Original Xiaomi Mi Key 3.5mm Smart Quick Button ( $0.99 )
размер резиновой обуви
грм 405 купить
7a soft unprocessed malaysian straight virgin hair natural black color malaysian virgin hair straight 4pcs lot human hair weave ( 45.00 $)
Wireless fm transmitter bluetooth car kit mp3 player handsfree call radio modulator with usb tf speakerphone car charger ( 14.99 $)
what are the benefits of homework essay vs paper management case study case study business teachers marking
prentice hall essay scorer case study wikipedia college writing essay creative writing character short creative writing
how to critique a journal article creative writing classes for kids jmu essay writing philosophy papers how to write a paper presentation

CLICK ON THE BANNER
1.jpg


IPB Skin By Virteq