← Tutoriais

[PHP] Iniciantes, Criação e Consulta de BD's

Lida 31830 vezes

Offline

fpware 
Fundador
Mensagens 15318 Gostos 7
Troféus totais: 38
Trófeus: (Ver todos)
Linux User Mobile User Level 6 Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5

:lol:  :lol:  :lol:
Offline

Spread 
Membro
Mensagens 1433 Gostos 2
Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

Então qual é a outra solução? Já agora se tiver 195843121548 mails e só quiser mostrar 5 de cada vez como faço (<-anterior || seguinte-> como se vê em vários sites)?

Cumps 8)
Offline

cenourinha 
Elite
Mensagens 4094 Gostos 21
Troféus totais: 34
Trófeus: (Ver todos)
Mobile User Apple User Level 6 Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4

deves ter de usar um encadeamento de condições!

Se as mensagens forem mais que cinco por 2 paginas if paginas forem mais que 15 por anterior e seguinte!

Talvez isso, tenta usar o exemplo do ezPortal para as news!
Offline

ptrci 
Membro
Mensagens 144 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Acho que não sirvo para isto:


Notice: Undefined variable: gravar in c:\programas\easyphp1-8\www\form.php on line 2

Linha2: if($gravar=='sim'){  

Pelo o que precebi a variavel não esta defenida. Ja defeni a variavel antes. Mas ele não grava.
Offline

OFFICER 
Membro
Mensagens 2076 Gostos 0
Troféus totais: 29
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

primeiro que tudo deves ter em atenção os espaços e até para uma melhor organização, experimenta lá:

if ($gravar == 'sim') {
blablabla;
}
Offline

ptrci 
Membro
Mensagens 144 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Ok amanha vou esprimentar. Porque estou a esprimentar numa maquina virtual que esta no meu trabalho. Deve ser isso os espaços. E que no final fiz um copy paste.
Offline

ptrci 
Membro
Mensagens 144 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Cá estou eu para chatear novamente. OFFICER,  segui o teu conselho mas da o mesmo erro.

No entanto meti só um '=' : if($gravar = 'sim') {

E já me deu outro erro:
Notice: Undefined variable: nome in c:\programas\easyphp1-8\www\form.php on line 6
Linha 6: $query = "INSERT INTO mails (mails_nome, mais_mail, mails_data ) VALUES ('$nome','$mail','$data')" or die (mysql_error());

Fiz alguns testes e vi que:
> ele faz ligação a base de dados
> ele reconheçe a base de dados
> ele reconhece as tabelas na bd

 acho que ele esta a ebirrar com as variaveis no formuario. Parece que não reconhece.

E depois puz o ultimo códido para ver a linhas ja inserias
e aparece as linhas em branco que cada vez que carrego no botão

--> , inserido a 04/04/2006
--> , inserido a 04/04/2006
--> , inserido a 04/04/2006
--> , inserido a 04/04/2006
--> , inserido a 04/04/2006

Mas isso não devia aparecer porque a base de dados não aceita valores nulos ( estou certo  )???.

Código: [Seleccione]

CREATE TABLE `mails` (
`mails_id` INT( 9 ) NOT NULL AUTO_INCREMENT ,
`mails_nome` VARCHAR( 255 ) NOT NULL ,
`mails_mail` VARCHAR( 255 ) NOT NULL ,
`mails_data` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `mails_id` )
) TYPE = MYISAM ;


Eu pensava que isto era facil, retiro o que disse.
Offline

morpheus 
Membro
Mensagens 1199 Gostos 0
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 1000 Posts

e é fácil! só não é tão fácil quanto html... ;)

experimenta acrescentar um:

Código: [Seleccione]
extract($_POST);
extract($_GET);


antes do teu query, mesmo depois do "<?"

e não podes usar  
Código: [Seleccione]
if($gravar = 'sim') {. tem que ser  
Código: [Seleccione]
if($gravar == 'sim') {

os espaços funcionam como organização somente. usar "($gravar == 'sim')" é igual a "($gravar=='sim')"
Offline

ptrci 
Membro
Mensagens 144 Gostos 0
Troféus totais: 25
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 100 Posts

Descobri o problema é da aplicação easyphp.
Esprimentei no Linux Fedora Core 5.

E funciona. Não me deu erro. Mas não vi se gravou na base de dados.

Agora para por o easyphp a funcionar o php a 100% é que não sei.
Porque nunca fiz a configuração do ficheiro de php para o easyphp.

Uma duvida para que serve o "Extract"
Offline

cenourinha 
Elite
Mensagens 4094 Gostos 21
Troféus totais: 34
Trófeus: (Ver todos)
Mobile User Apple User Level 6 Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4

Citação de: "ptrci"
Descobri o problema é da aplicação easyphp.
Esprimentei no Linux Fedora Core 5.

E funciona. Não me deu erro. Mas não vi se gravou na base de dados.

Agora para por o easyphp a funcionar o php a 100% é que não sei.
Porque nunca fiz a configuração do ficheiro de php para o easyphp.

Uma duvida para que serve o "Extract"


O extract acho que vai ler um valor de uma variavel pelo endereço!
Offline

morpheus 
Membro
Mensagens 1199 Gostos 0
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 1000 Posts

Citação de: "ptrci"
Uma duvida para que serve o "Extract"


Citação de: "cenourinha"
O extract acho que vai ler um valor de uma variavel pelo endereço!


exactamente. no php existe uma opção chamada "Global Variables", que vem desactivada por defeito. As global variables, quando ligadas, permitem que o php passe variaveis pelo url. Se estiverem desligadas, as variavéis passam vazias. Usando o extract, vai-se apanhar essas variaveis na mesma.
Offline

cenourinha 
Elite
Mensagens 4094 Gostos 21
Troféus totais: 34
Trófeus: (Ver todos)
Mobile User Apple User Level 6 Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4

Citação de: "morpheus"
Citação de: "ptrci"
Uma duvida para que serve o "Extract"


Citação de: "cenourinha"
O extract acho que vai ler um valor de uma variavel pelo endereço!


exactamente. no php existe uma opção chamada "Global Variables", que vem desactivada por defeito. As global variables, quando ligadas, permitem que o php passe variaveis pelo url. Se estiverem desligadas, as variavéis passam vazias. Usando o extract, vai-se apanhar essas variaveis na mesma.


Se me poderes explicar ou dar um exemplo era porreiro!

eheh
Offline

morpheus 
Membro
Mensagens 1199 Gostos 0
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 1000 Posts

exemplo?  :| agora perdeste-me. Diz-me o que precisas ao certo.
Offline

cenourinha 
Elite
Mensagens 4094 Gostos 21
Troféus totais: 34
Trófeus: (Ver todos)
Mobile User Apple User Level 6 Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4

Tipo eu para ter um site com o endereço:

www.site.pt/pagina.php?p=1

ele vai precisar de um extract?
Offline

morpheus 
Membro
Mensagens 1199 Gostos 0
Troféus totais: 28
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 5 Level 4 Level 3 Level 2 Level 1 1000 Posts

ah, ok...  :wink:

podes precisar, mas normalmente não.

os hostings, ao configurar o servidor, podem decidir que não querem as global variables ligadas. Sem estiverem desligadas e passares a variavel $var=algo, na página seguinte vais ter $var=null. Isto porque o servidor não vai buscar variaveis ao url. aqui precisas mesmo de usar o extract.

no entanto, se na segunda página tiveres $var=algo, então esquece o extract que não precisas dele para nada.