Virgil 0 Denunciar post Postado Outubro 10, 2009 Fala ai galera, sou o mais novo membro da Imasters, e ja cheguei precisando de uma grande ajuda. É o seguinte, preciso redirecionar uma pagina de acordo com o valor que estiver no bd, fiz a lógica a seguir, mas sem sucesso. (estou aprendendo PHP agora rsrs). <?php include("../connect.inc.php"); $status = mysql_query("SELECT * FROM recados WHERE status"); ?> <?php if ($status == "on") { echo "<script>location.href('assinar.php');</script>"; } else { echo "<script>location.href('aguarde.php');</script>"; } ?> Quem puder me dar uma ajuda fico grato. Valeu!!!! Compartilhar este post Link para o post Compartilhar em outros sites
Henrique Barcelos 290 Denunciar post Postado Outubro 10, 2009 Opa... devagar aí... $status na verdade é um resource do MySQL... Para pegar o valor, use mysql_fetch_assoc(): <?php $dados = mysql_fetch_assoc($status); $valor = $dados["NOME DO CAMPO STATUS"]; //aí sim... if($valor == "on")... ?> Compartilhar este post Link para o post Compartilhar em outros sites
Virgil 0 Denunciar post Postado Outubro 10, 2009 Valeu cara, mais desculpe a lerdeza aqui, mas ficaria assim: $status = mysql_query("SELECT * FROM recados WHERE status"); $dados = mysql_fetch_assoc($status); $valor = $dados["NOME DO CAMPO STATUS"]; Esse NOME DO CAMPO STATUS que não intendi o que quis dizer. Mais uma vez, Brigadão pela ajuda! Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Outubro 10, 2009 Em 10/10/2009 at 05:25, 'Virgil' disse: Esse NOME DO CAMPO STATUS que não intendi o que quis dizer. Virgin, Uma tabela é organizada em linhas e colunas, cada coluna tem um nome. O que o Rick.hjpbarcelos disse é que você deverá trocar NOME.... pelo nome que você deu para sua coluna de status. Compartilhar este post Link para o post Compartilhar em outros sites
Virgil 0 Denunciar post Postado Outubro 10, 2009 Citar Virgin, Uma tabela é organizada em linhas e colunas, cada coluna tem um nome. O que o Rick.hjpbarcelos disse é que você deverá trocar NOME.... pelo nome que você deu para sua coluna de status. Valeu cara fiz aqui, mas ainda continua sem fazer o redirecionamento. Bom ficou assim, me corrijam por favor se tiver algo de errado. <?php include"../connect.inc.php" ?> <?php $status = mysql_query("SELECT * FROM recados WHERE status"); $dados = mysql_fetch_assoc($status); $valor = $dados["aovivo"]; ?> <?php if ($valor == "on") { echo "<script>location.href('assinar.php');</script>"; } else { echo "<script>location.href('aguarde.php');</script>"; } ?> Valeu pela força! Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 11, 2009 Olha, veja a sua consulta. Está errada... Olha só. SELECT * FROM recados WHERE status Traduzindo SELECIONE todos os campos DA TABELA recados AONDE status Aonde status for o que? Outra coisa, habilite todas as mensagens de erro. Coloque este código no início do seu script <?php ini_set('display_errors', 1); error_reporting(E_ALL); ?> Execute novamente. Veja se aparece algum erro. Também faça isto. $dados = mysql_fetch_assoc($status); echo '<pre>'; print_r($dados); $valor = $dados["aovivo"]; Veja o que aparece. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Virgil 0 Denunciar post Postado Outubro 11, 2009 Citar Execute novamente. Veja se aparece algum erro. Também faça isto. $dados = mysql_fetch_assoc($status); echo '<pre>'; print_r($dados); $valor = $dados["aovivo"]; Veja o que aparece. Carlos Eduardo Fala Carlos, brigadão pela ajuda, fiz tudo certinho, não apareceu nenhum erro, somente a pagina assinar.php ela desceu e assim escondendo o formulario. Para facilitar, se quiserem dar uma olhada é nesse site www.radiomegaagito.com é um formulario de pedidos/recados, que estou tentando fazer esse redirecionamento. Grato pela ajuda! Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 11, 2009 Tá. Você vu o meu outro comentário? Corrigiu o SELECT? Além disto, vamos debugar. Troque isto $dados = mysql_fetch_assoc($status); echo '<pre>'; print_r($dados); $valor = $dados["aovivo"]; Por isto echo 'A quantidade de registros retornados da consulta é <strong>'.mysql_num_rows($status).'</strong>.'; $dados = mysql_fetch_assoc($status); $valor = $dados["aovivo"]; Deve retornar uma mensagem assim. Citar A quantidade de registros retornados da consulta é Aqui dentro a quantidade de registros que retornou da consulta Veja o que retorna Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Virgil 0 Denunciar post Postado Outubro 11, 2009 Citar A quantidade de registros retornados da consulta é Aqui dentro a quantidade de registros que retornou da consulta Veja o que retorna Carlos Eduardo Fala Carlos o valor retornado é 0 Grato pela ajuda! Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 11, 2009 Citar Olha, veja a sua consulta. Está errada... Olha só. SELECT * FROM recados WHERE status Traduzindo SELECIONE todos os campos DA TABELA recados AONDE statusAonde status for o que? Então... O problema está na consulta, que não tá retornando nada, como eu tinha falado antes. Tem algum registro na tabela? Tenta tirar a palavra status da consulta. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Virgil 0 Denunciar post Postado Outubro 11, 2009 Bom Carlos retirei o status da consulta, agora está retornando resultado 1, mas com o seguinte erro! Citar A quantidade de registros retornados da consulta é 1. Notice: Undefined index: aovivo in /home/magito/public_html/aovivo/pedidos/redi.php on line 11 Valeu! Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 11, 2009 Olha... Acho que o teu problema é de lógica. O que você quer fazer? Tenta explicar qual a lógica que você está tentando utilizar, porque o problema é de lógica. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Virgil 0 Denunciar post Postado Outubro 11, 2009 Em 11/10/2009 at 21:04, 'Matias Rezende' disse: Olha... Acho que o teu problema é de lógica. O que você quer fazer? Tenta explicar qual a lógica que você está tentando utilizar, porque o problema é de lógica. Carlos Eduardo Vamos lá, é o seguinte o site é um webrádio e com isso tem o painel de recados/pedidos, só que quando não há locutor online o form recados/pedidos fica acessivel para as pessoas, assim elas fazem pedidos e etc e não tem locutor para atender, então quero fazer que quando o locutor logar no painel de DJ ela possa "bloquear" ou "Desbloquear" o painel de recados/pedidos. Então eu estava tentando fazer o seguinte, quando no BD estiver com o valor ON ele redirecionasse para o form "assinar.php" e quando estivesse OFF redirecionasse para o Locutor Off "aguarde.php". Capiche? rs Valeu pela força! Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 12, 2009 Citar quando no BD estiver com o valor ON Quanto o que estiver ON ou OFF ? Qual campo? De qual tabela? Qual o código que você utiliza para mudar este campo de ON para OFF? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Virgil 0 Denunciar post Postado Outubro 12, 2009 Em 12/10/2009 at 01:36, 'Matias Rezende' disse: Citar quando no BD estiver com o valor ON Quanto o que estiver ON ou OFF ? Qual campo? De qual tabela? Qual o código que você utiliza para mudar este campo de ON para OFF? Carlos Eduardo Isso quando estiver ON ou OFF no campo status da tabela aovivo para fazer essa alteração eu estava fazendo manualmente no BD, mas ai assim que estivesse funcionando ia fazer um form POST pra faze o update no campo. Valeu! Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 12, 2009 Citar Olha, veja a sua consulta. Está errada... Olha só. SELECT * FROM recados WHERE status Traduzindo Citar SELECIONE todos os campos DA TABELA recados AONDE status Leia novamente a "tradução" da consulta, como já havia colocado. Veja que a sua está errada. Citar quando estiver ON ou OFF no campo status da tabela aovivo http://dev.mysql.com/doc/refman/4.1/pt/select.html Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Virgil 0 Denunciar post Postado Outubro 12, 2009 Citar Olha, veja a sua consulta. Está errada... Olha só. SELECT * FROM recados WHERE status Citar Traduzindo SELECIONE todos os campos DA TABELA recados AONDE status Deixa eu ver se entendi o que quis dizer. É que esta faltando um operador de comparação após o status? Valeu!! Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 12, 2009 Não. A sintaxe do SELECT é assim. SELECT campos FROM tabela Agora olha o que você precisa. Citar quando estiver ON ou OFF no campo status da tabela aovivo Então... conseguiu entender? Ficaria assim. SELECT status FROM aovivo Aí aqui você muda $valor = $dados["aovivo"]; Por isto $valor = $dados['status']; Agora, é importante que você entenda o que eu fiz. Não apenas copie o código, porque em outro momento você vai precisar fazer a mesma coisa e não vai saber. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Virgil 0 Denunciar post Postado Outubro 13, 2009 Citar Agora, é importante que você entenda o que eu fiz. Não apenas copie o código, porque em outro momento você vai precisar fazer a mesma coisa e não vai saber. Perfeito Carlos, tem toda razão mas entendi sim o que fez. Bom mas agora está dizendo que o argumento fornecido não é um recurso válido do resultado do MySQL, dessa linha: $dados = mysql_fetch_assoc($status); Valeu pela força. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Outubro 13, 2009 Então tem algum erro na consulta. Adicione na linha da query o seguinte. $sql = "aqui vai a consulta que estava ali dentro do mysql_query"; $status = mysql_query($sql) or die('Erro na consulta. Consulta enviada - '.$sql.'<br/>Erro do Mysql - '.mysql_error()); Deve imprimir a consulta enviada e o erro do Mysql. Deve ter alguma coisa errada, tipo o nome do campo, ou o nome da tabela. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites