Jump to content


Photo

Problemas Com Funções... To Fikando Velho


  • Faça o login para participar
22 replies to this topic

#1 MaXiMuS

MaXiMuS

    o cara que escreve engraçado

  • Usuários
  • 785 posts
  • Sexo:Não informado
  • Localidade:Guarulhos - SP - Brasil

Posted 21/04/2003, 16:18

Ae galera... seguinte... to fikando loko... com a porcaria do sistema de vb do colégio.. tenho 1 mês pra fazer.. mas vamo ao q interessa...


fiz um teste.. pra exibir os wallpapers do meu blog... pra fikar ki nem na index
http://www.ninguemerece.com.br

soh ki u resultado num ta sendo bom.. num consegue selecionar.. =[

kem kiser ver oq aparece:

http://www.ninguemer...teste_walls.php

anexei na mensagem um arquivo zip, com os arquivos involvidos.

Alguém poderia mi dar uma luz? eu to sem cabeça alguma ultimamente.. várias coisas acontecendo.. o pau comendo.. i eu mi... f*****.. mas blz.. vamos ae.. alguem pod mi dar uma mão?

Attached Files



#2 MaXiMuS

MaXiMuS

    o cara que escreve engraçado

  • Usuários
  • 785 posts
  • Sexo:Não informado
  • Localidade:Guarulhos - SP - Brasil

Posted 21/04/2003, 16:32

Bom, eu falei .. falei.. mas cabei esquecendo oq eu keru ki faça...

a index que eu postei aki, tá em HTML, eu usei pra criar o layout....
agora eu to passando o sistema pro php.

eu keru ki exiba 4 walls na página... em duas colunas, do jeito ki tá na INDEX.

no arquivo config.inc.php, tem as configs como host, user, senha etc...
no arquivo funcoes.php tem as tabelas, e as funcoes conectar() e infoblog()
no arquivo ver_walls.php tem o script q visualiza os walls... a partir do valor da variável $pwall, ele exibe ou não os walls...

e no arquivo teste_walls.. eu junto isso tdu.. incluo o config, o funções...
ai eu executo as funções conectar e infoblog

só.. ki a infoblog.. num consegue fazer o select... agora PQ eu num sei.. i eh issu ki eu precisu ki vcs mi ajudem...

#3 Thales Medeiros

Thales Medeiros

    24 Horas

  • Usuários
  • 426 posts
  • Sexo:Não informado
  • Localidade:Juiz de Fora/MG
  • Interesses:Programação em geral. Programo em PHP, ASP, PERL, VB, Delphi, C/C++, Java e com banco d dados<br><br>Gosto tb d ajudar. Se precisar d mim, basta postar uma msg no Forum! Se eu souber, te responderei...

Posted 21/04/2003, 17:02

Oi, MaXiMuS! Blz?

Bem... A velhice chegando é xxxxxx! hehehee...
Mas se serve d consolo, gostei do design e do título do seu blog.

Olha só... Sorte q seu código é bem organizado. Mas sem saber a estrutura das suas tabelas, ainda fica um pouco difícil. Mas só um pouco, q parece q o erro está na cara.

Repare que até o script parar, ele faz 3 ações: se conecta ao MySQL, seleciona o banco de dados e faz a consulta. Estas são as únicas ações q podem dar erro na consulta. Mas veja que a conexão com o MySQL é bem sucedida, pois vc fez um tratamento de erro no caso d uma conexão não bem sucedida. Vc colocou um die("Erro ao conectar"); no caso d a conexão ñ ser efetuada. Mas esta não é a msg d erro q aparece, portanto o erro não está na conexão. Como vc ñ colocou um tratamento d erro para o caso d não se conseguir selecionar o banco d dados, existe a possibilidade d aí estar o erro. Mas eu acho pouco provável, pois esta linha só daria erro no caso d vc ter colocado o nome do banco d dados errado ou no caso d este banco d dados não existir. Isto é muuuuuito pouco provável, né? Então vamos para a próxima e mais provável etapa: a consulta!

O erro exibido na tela é exatamente o erro existente no die() da consulta. Claro q isto ñ significa q o erro começou na consulta, pois pode tb ter acontecido na seleção do banco, mas já descartamos esta possibilidade.

Se um erro ocorre na consulta, das duas uma: ou a sintaxe está errada, ou a referência a uma tabela inexistente está sendo feita, ou tratamento errado d dados, ou uma porrada d outras coisas podem estar acontecendo.

Vamos, então, verificar a sintaxe d sua consulta. A linha é:

$busca = mysql_query("SELECT * FROM $tab_blogs WHERE id='$idb'") or die("Erro ao Buscar informações");

Portanto a consulta feita é:

SELECT * FROM $tab_blogs WHERE id='$idb'

Repare uma coisa... Dificilmente o nome da tabela está escrito errado. Vc já teria reparado isto. O mais provável erro é este "id" aí... Vc está tratando o ID como sendo uma string. Reparou? Duvido mto q o ID da sua tabela é do tipo char. Provavelmente ele é do tipo inteiro. Então tire correndo estas aspas e finja q ninguém viu. :)

Mas é claro q existe a possibilidade d o campo id ser, sim, do tipo string. Se ele realmente for, então me manda a estrutura d suas tabelas q a gente acha o real erro.

Espero ter ajudado!

Um abraço,
Thales Medeiros.
Sucesso é ganhar dinheiro fazendo o que você faria de graça.

#4 lol

lol

    LOL

  • Usuários
  • 109 posts
  • Sexo:Não informado

Posted 21/04/2003, 18:22

Vc está tratando o ID como sendo uma string. Reparou? Duvido mto q o ID da sua tabela é do tipo char. Provavelmente ele é do tipo inteiro. Então tire correndo estas aspas e finja q ninguém viu.  :)

Para o MySQL não haverá a menor diferença o ID ser inteiro e estar entre aspas, o funcionamento será o mesmo e não apresentará erros.

Tenta colocar da forma abaixo para depurar e ver como a Query esta sendo apresentada. Não vi o seu código, mas pelo que o Thales apresentou provavelmente uma das variáveis não esta com o conteúdo correto na hora de montar a query.

$query = "SELECT * FROM $tab_blogs WHERE id='$idb'";
$busca = mysql_query($query) or die( 'Erro na query: <BR>' . $query . '<BR>' . mysql_error() );

Desta forma será apresentada a query completa e a mensagem de erro do MySQL no caso de ocorrer um erro, assim será mais fácil depurar.

Já ia esquecendo, parabéns pelo site o mesmo esta muito bom.

#5 MaXiMuS

MaXiMuS

    o cara que escreve engraçado

  • Usuários
  • 785 posts
  • Sexo:Não informado
  • Localidade:Guarulhos - SP - Brasil

Posted 21/04/2003, 18:46

Bom.. realmente
"ninguém merece"...
o problema era simples...
não conseguia selecionar o banco de dados... estranho não?

Pois bem, após declarar as variáveis de conexão como globais.. o problema se resolveu...
porém agora, outros erros surgiram.. e vou resolve-los..
se naum consiguir.. posto aki novamente... obrigado por tdu...


só uma coisa, Thales, eu não te conheço de algum lugar? seu nome não me é estranho heheeh

############# Após arrumar ############

Bom, agora já tá tdu funcionando perfeitamente, maldita variável, não sei oq aconteceu... vai se saber né.. mas blz....

gostaria de saber, por exemplo.. como usar o rand do próprio mysql...
tipo... eu keru selecionar... 4 wallpapers distintos.. aleatoriamente...

como fazer?

os campos são id e thumb, ond thumb é a url da img.... vlw... aguardo uma resposta

Edição feita por: MaXiMuS, 21/04/2003, 18:50.


#6 lol

lol

    LOL

  • Usuários
  • 109 posts
  • Sexo:Não informado

Posted 21/04/2003, 19:02

select 

  id, thumb

from 

  SuaTabela

ORDER BY 

  RAND() 

LIMIT 0,4



#7 MaXiMuS

MaXiMuS

    o cara que escreve engraçado

  • Usuários
  • 785 posts
  • Sexo:Não informado
  • Localidade:Guarulhos - SP - Brasil

Posted 21/04/2003, 19:39

tipu...
soh poe essi RAND()
assim?

num tem mais nda?

#8 lol

lol

    LOL

  • Usuários
  • 109 posts
  • Sexo:Não informado

Posted 21/04/2003, 19:55

Sim.

O rand() ordena de forma aleatória e o limit limita o número de registros apresentados.

#9 Thales Medeiros

Thales Medeiros

    24 Horas

  • Usuários
  • 426 posts
  • Sexo:Não informado
  • Localidade:Juiz de Fora/MG
  • Interesses:Programação em geral. Programo em PHP, ASP, PERL, VB, Delphi, C/C++, Java e com banco d dados&lt;br&gt;&lt;br&gt;Gosto tb d ajudar. Se precisar d mim, basta postar uma msg no Forum! Se eu souber, te responderei...

Posted 22/04/2003, 00:50

É... Aprendi mais uma hj.

Nunca soube q no MySQL era indistinto o uso d aspas num campo q suporta inteiro. Desculpem-me pela vergonha q passei... :D

E q bom q já foi resolvido o problema.

Bem, MaXiMuS... Vc me conhece, sim. Eu sou antigo aqui no forum, e sempre tive este nick - Thales Medeiros -. Cheguei a ficar um pequeno tempo como moderador de ASP e de PHP antes d instalarem o invision aqui. Até q instalaram o invision, modificaram os moderadores e eu dei uma pequena sumida. Mas estou d volta! Sempre postava longas msgs por aki, e já te respondi bastante coisa, tb. Pena q ñ tenho exemplos pra te lembrar.

Um abraço,
Thales Medeiros.
Sucesso é ganhar dinheiro fazendo o que você faria de graça.

#10 MaXiMuS

MaXiMuS

    o cara que escreve engraçado

  • Usuários
  • 785 posts
  • Sexo:Não informado
  • Localidade:Guarulhos - SP - Brasil

Posted 02/05/2003, 23:13

Opa.. olha eu aki di novo.. reaproveitando meu tópico.... bom .. olhem ae...

http://www.ninguemer...om.br/index.php

pq ele soh exibe os mesmos walls sempre? colokei assim o codigo:
$buscawall = mysql_query("SELECT * FROM $tab_walls Order by RAND() LIMIT 0,2") or die("ERRO AO SELECIONAR");

tem 5 walls no meu bd.. mas soh exibe esses 2
pq?

#11 Foxn

Foxn

    Alone in the dark

  • Usuários
  • 1230 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Programação, FLASH, JAVA SCRIPT, HTML, DHTML, XML, PHP e DELPHI

Posted 02/05/2003, 23:42

Isso por que no limite vc colocou assim:

LIMIT 0,2

Comece do 0 e exiba só 2, o primeiro parametro é o ponto de inicio e o segundo é a quantidade.

[]'s
<?php $Nome = "Renato B. Pacheco";

	$Ocupacao = "Programador PHP";

	$Ocupacao .= "<br /> Programador ASP";

	$Ocupacao .= "<br /> Programador Action Script";

	$Localizacao =  "São Paulo - SP - Brasil" ?>

#12 Foxn

Foxn

    Alone in the dark

  • Usuários
  • 1230 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Programação, FLASH, JAVA SCRIPT, HTML, DHTML, XML, PHP e DELPHI

Posted 02/05/2003, 23:45

A ta, e pra o rand fazer alguma diferença vc tem de ter muito campos com dados diferentes para ele estar fazendo o sorteio randonico.

[]'s
<?php $Nome = "Renato B. Pacheco";

	$Ocupacao = "Programador PHP";

	$Ocupacao .= "<br /> Programador ASP";

	$Ocupacao .= "<br /> Programador Action Script";

	$Localizacao =  "São Paulo - SP - Brasil" ?>

#13 MaXiMuS

MaXiMuS

    o cara que escreve engraçado

  • Usuários
  • 785 posts
  • Sexo:Não informado
  • Localidade:Guarulhos - SP - Brasil

Posted 03/05/2003, 11:17

ja vi.. ki vo ter ki fazer diferente... num vo usar o rand() do mysql naum. axu ki sei como fazer.. o codigo vai fikar mais lerdo.. porem melhor...

#14 Xmagnum

Xmagnum

    Turista

  • Usuários
  • 42 posts
  • Sexo:Não informado
  • Localidade:Fortaleza CE
  • Interesses:Programação PHP, jogos de PC ...

Posted 03/05/2003, 11:23

cara, vc pode continuar com o rand, mas faça o seguinte, no começo do script coloque o seguinte código:
function make_seed() {
list($usec, $sec) = explode(' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
srand(make_seed());
ok? Se ñ der certo, diga qual é o erro.
Equipe Firemasters
Programador PHP

#15 MaXiMuS

MaXiMuS

    o cara que escreve engraçado

  • Usuários
  • 785 posts
  • Sexo:Não informado
  • Localidade:Guarulhos - SP - Brasil

Posted 03/05/2003, 11:31

colokei esse código, mas continua a mesma coisa




2 user(s) are reading this topic

0 membro(s), 2 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq