Jump to content


Photo

Warning - Mysql De Novo


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

#1 Inu

Inu

    Veterano

  • Usuários
  • 1138 posts
  • Sexo:Masculino
  • Localidade:Canela, Rio Grande do Sul, Brasil

Posted 10/10/2006, 19:11

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/secret/public_html/vita/t/forum/forum.php on line 35
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/secret/public_html/vita/t/forum/forum.php on line 35
Não entendo pq ele me acusa de erro.
while ($row = mysql_fetch_assoc($result))
{
$uid = $row['uid'];
$id = $row['id'];
$resp = mysql_query("SELECT * FROM forum_posts WHERE topico = {$id}", $db);
$user = mysql_query("SELECT * FROM login WHERE uid = {$uid}", $db);
$ro = mysql_fetch_array($user);
$ro_resp = mysql_num_rows($resp);
echo '<tr>
	  <td><a href="topico.php?id='.$row['id'].'">'.$row['name'].'</a></td>
	  <td>'.$ro['login'].'</td>
	  <td>'.$ro_resp.'</td>
	  <td>'.$row['views_count'].'</td>
	  <td>'.$row['hora'].'</td>
	  </tr>';
}
A linha que ele acusa de erro:
$user = mysql_query("SELECT * FROM login WHERE uid = {$uid}", $db);
$ro = mysql_fetch_array($user);

O que há?
O campo e a tabela existem.

#2 dileolu

dileolu

    Novato no fórum

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

Posted 10/10/2006, 19:30

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/secret/public_html/vita/t/forum/forum.php on line 35
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/secret/public_html/vita/t/forum/forum.php on line 35
Não entendo pq ele me acusa de erro.

while ($row = mysql_fetch_assoc($result))
{
$uid = $row['uid'];
$id = $row['id'];
$resp = mysql_query("SELECT * FROM forum_posts WHERE topico = {$id}", $db);
$user = mysql_query("SELECT * FROM login WHERE uid = {$uid}", $db);
$ro = mysql_fetch_array($user);
$ro_resp = mysql_num_rows($resp);
echo '<tr>
	  <td><a href="topico.php?id='.$row['id'].'">'.$row['name'].'</a></td>
	  <td>'.$ro['login'].'</td>
	  <td>'.$ro_resp.'</td>
	  <td>'.$row['views_count'].'</td>
	  <td>'.$row['hora'].'</td>
	  </tr>';
}
A linha que ele acusa de erro:
$user = mysql_query("SELECT * FROM login WHERE uid = {$uid}", $db);
$ro = mysql_fetch_array($user);

O que há?
O campo e a tabela existem.



AMIGÃO A LINHA [code=auto:0]$user = mysql_query("SELECT * FROM login WHERE uid = {$uid}", $db);
PELO POUCO CONHECIMENTO QUE TENHO DEVERIA FICAR ASSIM:
$user = mysql_query("SELECT * FROM login WHERE uid = '$uid'", $db);

PERCEBI TB QUE SEU WHILE NÃO FOI FECHADO E OUTRA COISA VERIFIQUE SUA CONEXÃO
ESPERO QUE TENHA AJUDADO

dileolu@hotmail.com
equipe : www.magicdesign.orgfree.com

#3 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 10/10/2006, 19:55

erro ?

simples^^'

digo, ASPAS SIMPLES entre {$uid}
$user = mysql_query("SELECT * FROM login WHERE uid = '{$uid}'") or die (mysql_error());

T+
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#4 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 10/10/2006, 20:07

Se estiver se tratando de valor numérico, não precisa de aspas/apóstrofo.


Problemas com execução de uma query!? É Simples! mysql_error(). =)

Edição feita por: Eclesiastes, 10/10/2006, 20:14.

Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#5 Inu

Inu

    Veterano

  • Usuários
  • 1138 posts
  • Sexo:Masculino
  • Localidade:Canela, Rio Grande do Sul, Brasil

Posted 10/10/2006, 20:41

Agora deu certo, era as '' que faltavam...
dileolu, eu fechei o while sim.

Gente uma dúvida:
<?php include("header.php"); 
$fid = $_GET['id'];
?>
<div class="h1">Bem vindo ao Vita Fórum, <?php if ( $contagem == 1 ) { ?><?php echo $nome; ?><?php } else { ?>Visitante<? } ?>!</div>
<div class="h2">Para navegar, escolha uma categoria ou um item do menu ao lado.<br />
Qualquer dúvida, entre em contato com a equipe VITA!</div><br /><br />
<p align="right"><?php echo "<a href=\"novotopico.php?f=".$fid."\">Novo Tópico</a>"; ?></p><br />
<div class="h1">Categorias</div>
<div class="h2">
<?php

$result = mysql_query("SELECT * FROM forum_topics ORDER BY id", $db);
$re = mysql_num_rows($result);
if($re == 0){
echo "Não há tópicos para exibir.";
} else {
echo "<table
 style=\"text-align: left; width: 100%; background-color: #ffffff;\"
 border=\"0\" cellpadding=\"2\" cellspacing=\"2\">
  <tbody>
	<tr>
	  <td>Tópico</td>
	  <td>Autor</td>
	  <td>Respostas</td>
	  <td>Visualizações</td>
	  <td>Última informação</td>
	</tr>";
while ($row = mysql_fetch_assoc($result))
{
$uid = $row['uid'];
$id = $row['id'];
$resp = mysql_query("SELECT * FROM forum_posts WHERE topico = {$id}", $db);
$user = mysql_query("SELECT * FROM login WHERE uid = '{$uid}'", $db);
$ro = mysql_fetch_array($user);
$ro_resp = mysql_num_rows($resp);
echo '<tr>
	  <td><a href="topico.php?id='.$row['id'].'">'.$row['name'].'</a></td>
	  <td>'.$ro['login'].'</td>
	  <td>'.$ro_resp.'</td>
	  <td>'.$row['views_count'].'</td>
	  <td>'.$row['hora'].'</td>
	  </tr>';
}
echo "</tbody>
</table>";
}
?>
</div>
<? include("footer.php"); ?>
Vamos supor que, fulano responde o tópico X.
Eu queria que, quando fosse respondido, fosse pro topo da lista. Mas, não sei como fazer. E os tópicos criados também. Que nem no IPB.
Estrutura do SQL:
CREATE TABLE `forum_topics` (
  `id` int(25) NOT NULL auto_increment,
  `uid` VARCHAR(75) NOT NULL,
  `name` varchar(75) NOT NULL,
  `forum` varchar(25) NOT NULL,
  `desc` text NULL,
  `status` INT(1) NOT NULL,
  `conteudo` text NOT NULL,
  `last_post` VARCHAR(50) NOT NULL,
  `hora` VARCHAR(25) NOT NULL,
  `data` VARCHAR(25) NOT NULL,
  `ip_poster` CHAR(20) NOT NULL,
  `editado_hora` INT(75) NULL,
  `uid_edit` VARCHAR(75) NULL,
  `views_count` INT(75) NOT NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=10 ;

CREATE TABLE `forum_posts` (
  `id` int(25) NOT NULL auto_increment,
  `uid` INT(50) NOT NULL,
  `name` varchar(75) NOT NULL,
  `conteudo` text NOT NULL,
  `topico` varchar(25) NOT NULL,
  `status` INT(1) NOT NULL,
  `hora` VARCHAR(25) NOT NULL,
  `data` VARCHAR(25) NOT NULL,
  `ip_poster` CHAR(20) NOT NULL,
  `editado_hora` INT(75) NULL,
  `uid_edit` INT(50) NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=10 ;


#6 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 11/10/2006, 07:20

ordena os tópicos por DATA/HORA!

T+
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#7 kleryson

kleryson

    Mestre

  • Usuários
  • 687 posts
  • Sexo:Masculino

Posted 11/10/2006, 07:28

Ok...

Mais nesse campo data dos tópicos você só grava a data de criação ou sempre que for auterado??

Pois se você sempre colocar somente as data de criação ele vai ordenar conforme criação e se alguém responder o tópico não vai estar lá embaixo...

Se quiser manter a data de criação gravada e para facilitar a ordenação por data acho que o que você poderia criar um novo campo na tabela tipo (data_aut) e ordenar por esse campo ai você terá ordernado....

Sempre que alguém responder o tópico e for a última alteração feita aparecerá em primeiro e assim por diante...

#8 Inu

Inu

    Veterano

  • Usuários
  • 1138 posts
  • Sexo:Masculino
  • Localidade:Canela, Rio Grande do Sul, Brasil

Posted 12/10/2006, 09:04

Hm. E por hora, crio um campo hora_aut ?
Valeu pessoal.

#9 kleryson

kleryson

    Mestre

  • Usuários
  • 687 posts
  • Sexo:Masculino

Posted 12/10/2006, 14:12

Hehe esqueci das horas :P

Isso e manda ordenar pelos dois campos...




1 user(s) are reading this topic

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

IPB Skin By Virteq