• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

electric

IR buscar info e mostrar a bd

92 mensagens neste tópico

boas ppl salvo erro este codigo até veio daki, e resultava mas quando mudei de host deixou de funcionar :s

o objectivo é ir buscar as infos a BD e mostrar a ultima em 1º o meu codig é este

[code=php]
<?php

error_reporting(E_ALL);
include "conexao.php";



//Mostrar ultimo inserido

$result = mysql_query("SELECT * FROM primewar_forum.phpbb_posts ORDER BY id DESC LIMIT 10"); // SQL PARA OBTER OS 5 ULTIMOS ID's!

echo "<table width=\"250\" border=\"0\">";
echo "<tr bgcolor=\"#FFFFFF\">";

while ($r = mysql_fetch_array($result)) { 

     $var1 = $r['post_subject'];


echo $var1;


}
  
  	 
mysql_close($conexao);
?>


e a mensagem de erro é esta

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/primewar/public_html/PWINDEX/listar.php on line 47

pah o conect esta certo tenho os dados certos e as bds tb :s n tou a percebe...[/code]

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

testa o teu conect com uma coisa tipo

if (!mysql_connect( ... )){
   echo "impossivel ligar a ao servidor de base de dados";
   die;
}
if (!mysql_select_db( ... )){
   echo "impossivel ligar a base de dados";
   die;
}

Se isto não falhar entao o problema é do query. Manda-o para o output e testa-o manualmente no servido de mysql.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu puz isso e so consegui 1 pagina em branco :s

onde tava o ... puz $result

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

quando coloco

if (!mysql_connect( $result )){
   echo "impossivel ligar a ao servidor de base de dados";
   die;
}
if (!mysql_select_db( $result )){
   echo "impossivel ligar a base de dados";
   die;
}

fico com a pagina limpa sem nd :s

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens a certeza que o resultado da query não vem vazio?

^

Verifica se tens conteúdo na base de dados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim tenho, estas bds são de 1 forum e pediran-me para ver se conseguia fazer 1 inice do k estava a ser postado... a bd é esta :s tem + de 100 posts :s

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Manda o query para o output, e faz copy-paste no teu cliente de mysql.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Adiciona depois do $result = mysql_query... este código e se mostrar algum erro posta aqui...

if(!is_resource( $result )) {
       die( mysql_error() );
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas

afinal ja resolvi lol

tinha o codigo certo apenas a BD id estava errada xD

agora recebo o k esta na bd td direito mas por exemplo tenho respostas la como

RE:....

sera possivel ter 1 if k me tire isso ? :S

tipo td o k começa por RE: ou algo do genero n mostrar ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Substituis

"SELECT * FROM primewar_forum.phpbb_posts ORDER BY id DESC LIMIT 10"

por

"SELECT * FROM `primewar_forum.phpbb_posts` WHERE `campo_onde_tem_os_RE` NOT REGEXP '^(RE:).*' ORDER BY id DESC LIMIT 10"

Isto não mostra se `campo_onde_tem_os_RE` tiver "RE:" logo no principio... se tiver por exemplo "blabla RE: blabla"  já mostra

mas n tenho a certeza se isot funciona mt bem pk sou um cado novato lol.. é uma questao de testares..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Essa cena do REGEX não sei até que ponto é compatível entre as várias versões do MySQL. Algo como:

SELECT * FROM primewar_forum.phpbb_posts WHERE campo NOT LIKE "RE:%" ORDER BY id DESC LIMIT 10

seria melhor. (não tenho a certeza se o NOT é depois do where ou antes do LIKE)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ya tens razão ainda por cima porque é uma cena simples de fazer em SQL "puro" e mais vale evitar riscos desnecessários..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

esse campo é a

phpbb_posts

neste caso certo ?

PS: quer com o not antes ou depois da este erro

Parse error: syntax error, unexpected T_STRING in /home/primewar/public_html/PWINDEX/listar.php on line 40

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é erro do teu código PHP, não é SQL. Ainda não aprendeste a reconhecer 1 erro do PHP? :\

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois como n vi la nd ligado a sql ;) mas depois ta na linha k me dises-te para por la :s fikei a toa ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Antes

$result = mysql_query("SELECT * FROM primewar_forum.phpbb_posts ORDER BY post_id DESC LIMIT 10");

depois

$result = mysql_query("SELECT * FROM primewar_forum.phpbb_posts WHERE phpbb_posts NOT LIKE "RE:%" ORDER BY post_id DESC LIMIT 10");

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mostra a linha anterior a onde tens a virável $result e a posterior.. a linha 39, 40 e 41..

deves ter acrescentado ou apagado qualquer coisa quando mudaste a linha e n deste por ela..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
<?php

error_reporting(E_ALL);
include "conexao.php";

//Mostrar ultimo inserido

$result = mysql_query("SELECT * FROM primewar_forum.phpbb_posts ORDER BY post_id DESC LIMIT 20"); // SQL PARA OBTER OS 5 ULTIMOS ID's!

echo "<table width=\"250\" border=\"0\">";
echo "<tr bgcolor=\"#FFFFFF\">";

while ($r = mysql_fetch_array($result)) {

   $var1 = $r['post_subject'];

echo $var1;
echo "<br>";

}
  
  	 
mysql_close($conexao);
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

$result = mysql_query("SELECT * FROM primewar_forum.phpbb_posts WHERE phpbb_posts NOT LIKE "RE:%" ORDER BY post_id DESC LIMIT 10");

Olha com atenção para o syntax highlighting. ;)
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu n percebi nd disso do high... ;)

devo ter algum erro :s sera por o k vem depois do where ? é k se sim era pk tinha las campo e axo k seja esse o campo :s

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lol aspas no meio de aspas dá asneiras..

acho k funca bem se meteres

esta parte  NOT LIKE "RE:%" assim NOT LIKE 'RE:%'

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O syntax highlighting são as cores pá! ;)

lol aspas no meio de aspas dá asneiras..

acho k funca bem se meteres

NOT LIKE "RE:%" esta parte assim NOT LIKE 'RE:%'

Exactamente.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem isso n sabia ;) ja aprendi algo lol

depois de trocar as " por ' deu-me erro mais a frente -.- linha 45 ou seja

while ($r = mysql_fetch_array($result)) {

este é erro de sql xD

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora