Ir ao conteúdo
  • Cadastre-se

Problema com codigo php, ajuda para achar erro.


daniloferrari

Posts recomendados

Ola a todos, boa tarde.

Sou novo em php, e estou criando um sistemominha pra fazer rodar a exibição do cardapio de acordo o dia. porém esta aparecendo um erro que não consigo descobrir a origem. Vou postar os erros depois posto o codigo. Se alguém puder ajudar, ficarei muito grato:

Erros:

Notice: Undefined variable: mostraseg in C:\wamp\www\d\D\site\projeto\roda.php on line 25

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\wamp\www\d\D\site\projeto\roda.php on line 25

Notice: Undefined variable: mostraseg in C:\wamp\www\d\D\site\projeto\roda.php on line 25

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\wamp\www\d\D\site\projeto\roda.php on line 25

Amanha sábado

Fim do erro:

-----Inicio do codigo:

<?
include "conec.php";

$mostraseg = mysql_query("select * from meni");

function roda(){

if (date("w")==0 && date("H")<=23 && date("i")<=59) return "<table><tr><td><b>Amanha</b><p>".mysql_result ($mostraseg,0,'segunda')."</td><td><b>Terça</b><p>".mysql_result($mostraseg,0,'terca')."</td></tr></table>";

else if (date("w")==1 && date("H")<=14 && date("i")<=59) return "<table><tr><td>Hoje<p>".mysql_result ($mostraseg,0,'segunda')."</td><td>Amanha<p>".mysql_result($mostraseg,0,'terca').</td></tr></table>";

else if (date("w")==1 && date("H")<=23 && date("i")<=59) return "<table><tr><td>Amanha<p>".mysql_result($mostraseg,0,'terca')."</td><td>Quarta<p>".mysql_result($mostraseg,0,'quarta')."</td></tr></table>";

else if (date("w")==2 && date("H")<=14 && date("i")<=59) return "<table><tr><td>Hoje<p>".mysql_result($mostraseg,0,'terca')."</td><td>Amanha<p>".mysql_result($mostraseg,0,'quarta')."</td></tr></table>";

else if (date("w")==2 && date("H")<=23 && date("i")<=59) return "<table><tr><td>Amanha<p>".mysql_result($mostraseg,0,'quarta')."</td><td>Quinta<p>".mysql_result($mostraseg,0,'quinta')."</td></tr></table>";

else if (date("w")==3 && date("H")<=14 && date("i")<=59) return "<table><tr><td>Hoje<p>".mysql_result($mostraseg,0,'quarta')."</td><td>Amanha<p>".mysql_result($mostraseg,0,'quinta')."</td></tr></table>";

else if (date("w")==3 && date("H")<=23 && date("i")<=59) return "<table><tr><td>Amanha<p>".mysql_result($mostraseg,0,'quinta')."</td><td>Sexta<p>".mysql_result($mostraseg,0,'sexta')."</td></tr></table>";

else if (date("w")==4 && date("H")<=14 && date("i")<=59) return "<table><tr><td>Hoje<p>".mysql_result($mostraseg,0,'quinta')."</td><td>Amanha<p>".mysql_result($mostraseg,0,'sexta')."</td></tr></table>";

else if (date("w")==4 && date("H")<=23 && date("i")<=59) return "<table><tr><td><b>Amanha</b><p>".mysql_result ($mostraseg,0,'sexta')."</td><td><b>sábado</b><p>".mysql_result($mostraseg,0,'sábado')."</td></tr></table>";

else if (date("w")==5 && date("H")<=14 && date("i")<=59) return "<table><tr><td>Hoje<p>".mysql_result($mostraseg,0,'sexta')."</td><td>Amanha<p>".mysql_result($mostraseg,0,'sábado')."</td></tr></table>";

else if (date("w")==5 && date("H")<=23 && date("i")<=59) return "<table><tr><td>Amanha<p>".mysql_result($mostraseg,0,'sábado')."</td><td>Segunda<p>".mysql_result($mostraseg,0,'segunda')."</td></tr></table>";

else if (date("w")==6 && date("H")<=14 && date("i")<=59) return "<table><tr><td>Hoje<p>".mysql_result($mostraseg,0,'sábado')."</td><td>Segunda<p>".mysql_result($mostraseg,0,'segunda')."</td></tr></table>";

else if (date("w")==6 && date("H")<=23 && date
("i")<=59) return "<table><tr><td>Segunda<p>".mysql_result($mostraseg,0,'segunda')."</td><td>Terça<p>".mysql_result($mostraseg,0,'terca')."</td></tr></table>";
}

echo roda();

?>

------Fim do codigo:

Mais uma vez obrigado.

PS: Desculpem se postei no lugar errado.

Link para o comentário
Compartilhar em outros sites

O erro está nesta linha:


else if (date("w")==1 && date("H")<=14 && date("i")<=59) return "<table><tr><td>Hoje<p>".mysql_result ($mostraseg,0,'segunda')."</td><td>Amanha<p>".mysql_result($mostraseg,0,'terca ').</td></tr></table>";

Corrigindo, fica assim:


else if (date("w")==1 && date("H")<=14 && date("i")<=59) return "<table><tr><td>Hoje<p>".mysql_result ($mostraseg,0,'segunda')."</td><td>Amanha<p>".mysql_result($mostraseg,0,'terca ')."</td></tr></table>";

O codigo completo seria:


<?php
include "conec.php";

$mostraseg = mysql_query("select * from meni");

function roda(){

if (date("w")==0 && date("H")<=23 && date("i")<=59) return "<table><tr><td><b>Amanha</b><p>".mysql_result ($mostraseg,0,'segunda')."</td><td><b>Terça</b><p>".mysql_result($mostraseg,0,'terca')."</td></tr></table>";

else if (date("w")==1 && date("H")<=14 && date("i")<=59) return "<table><tr><td>Hoje<p>".mysql_result($mostraseg,0,'segunda')."</td><td>Amanha<p>".mysql_result($mostraseg,0,'terca ')."</td></tr></table>";

else if (date("w")==1 && date("H")<=23 && date("i")<=59) return "<table><tr><td>Amanha<p>".mysql_result($mostraseg ,0,'terca')."</td><td>Quarta<p>".mysql_result($mostraseg,0,'quart a')."</td></tr></table>";

else if (date("w")==2 && date("H")<=14 && date("i")<=59) return "<table><tr><td>Hoje<p>".mysql_result($mostraseg,0 ,'terca')."</td><td>Amanha<p>".mysql_result($mostraseg,0,'quart a')."</td></tr></table>";

else if (date("w")==2 && date("H")<=23 && date("i")<=59) return "<table><tr><td>Amanha<p>".mysql_result($mostraseg ,0,'quarta')."</td><td>Quinta<p>".mysql_result($mostraseg,0,'quint a')."</td></tr></table>";

else if (date("w")==3 && date("H")<=14 && date("i")<=59) return "<table><tr><td>Hoje<p>".mysql_result($mostraseg,0 ,'quarta')."</td><td>Amanha<p>".mysql_result($mostraseg,0,'quint a')."</td></tr></table>";

else if (date("w")==3 && date("H")<=23 && date("i")<=59) return "<table><tr><td>Amanha<p>".mysql_result($mostraseg ,0,'quinta')."</td><td>Sexta<p>".mysql_result($mostraseg,0,'sexta' )."</td></tr></table>";

else if (date("w")==4 && date("H")<=14 && date("i")<=59) return "<table><tr><td>Hoje<p>".mysql_result($mostraseg,0 ,'quinta')."</td><td>Amanha<p>".mysql_result($mostraseg,0,'sexta ')."</td></tr></table>";

else if (date("w")==4 && date("H")<=23 && date("i")<=59) return "<table><tr><td><b>Amanha</b><p>".mysql_result ($mostraseg,0,'sexta')."</td><td><b>sábado</b><p>".mysql_result($mostraseg,0,'sábado')."</td></tr></table>";

else if (date("w")==5 && date("H")<=14 && date("i")<=59) return "<table><tr><td>Hoje<p>".mysql_result($mostraseg,0 ,'sexta')."</td><td>Amanha<p>".mysql_result($mostraseg,0,'sabad o')."</td></tr></table>";

else if (date("w")==5 && date("H")<=23 && date("i")<=59) return "<table><tr><td>Amanha<p>".mysql_result($mostraseg ,0,'sábado')."</td><td>Segunda<p>".mysql_result($mostraseg,0,'segu nda')."</td></tr></table>";

else if (date("w")==6 && date("H")<=14 && date("i")<=59) return "<table><tr><td>Hoje<p>".mysql_result($mostraseg,0 ,'sábado')."</td><td>Segunda<p>".mysql_result($mostraseg,0,'segu nda')."</td></tr></table>";

else if (date("w")==6 && date("H")<=23 && date
("i")<=59) return "<table><tr><td>Segunda<p>".mysql_result($mostrase g,0,'segunda')."</td><td>Terça<p>".mysql_result($mostraseg,0,'terca' )."</td></tr></table>";
}

echo roda();

?>

Link para o comentário
Compartilhar em outros sites

KodornaRocks, obrigado.

Mas acho que apagei essas " acidentalmente enquanto estava ajeitando o codigo na postagem, porque no meu arquivo de origem, essas " estão no lugar.

Acho que o melhor é já alugar o servidor e textar la, por que talves o meu server local esteja mal configurado.

Se você tiver outra hipotese, pode me falar.

Mais uma vez muito obrigado.

Link para o comentário
Compartilhar em outros sites

Ah, esperimentei colar o seu codigo em um documento em branco e textei, da o mesmo erro... O que pode ser.

Não sei se pode ser, mas o arquivo do db, esta desenhado assim:

7 colunas; dessas uma para codigo que é a chave primaria, e as outras 6 com cada dia da semana.

1 linha, onde esta o codigo o 1 na coluna do codigo e nas outras colunas o cardapio de cada dia.

Link para o comentário
Compartilhar em outros sites

Bom, fiz o esquema que faz o que eu acho que você preisa, hehehe..

Se você quiser ver ae, roda esse código no phpMyAdmin para importar estes dados ai:

-- phpMyAdmin SQL Dump
-- version 2.11.7
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tempo de Geração: Mar 20, 2009 as 02:49 AM
-- Versão do Servidor: 5.0.51
-- Versão do PHP: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Banco de Dados: `restaurante`
--
CREATE DATABASE `restaurante` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `restaurante`;

-- --------------------------------------------------------

--
-- Estrutura da tabela `meni`
--

CREATE TABLE IF NOT EXISTS `meni` (
`ID` int(11) NOT NULL,
`DIA` varchar(255) NOT NULL,
`PRATO1` varchar(255) NOT NULL,
`PRATO2` varchar(255) NOT NULL,
`PRATO3` varchar(255) NOT NULL,
`PRATO4` varchar(255) NOT NULL,
`TEMA` varchar(255) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Extraindo dados da tabela `meni`
--

INSERT INTO `meni` (`ID`, `DIA`, `PRATO1`, `PRATO2`, `PRATO3`, `PRATO4`, `TEMA`) VALUES
(0, 'Domingo', 'Macarrão', 'Lazanha', 'Nhoc', 'Rondelli', 'Massas'),
(1, 'Segunda-Feira', 'Picanha', 'Alcatra', 'Maminha', 'Carnes', 'Diversão'),
(2, 'Terça-Feira', 'Hot-Dog', 'Algodão-Doce', '', '', 'Diversão'),
(3, 'Quarta-Feira', 'Feijoada-Light', 'Feijoada completa', 'Farofa', 'Caipirinha (OBA!)', 'Feijoada'),
(4, 'Quinta-Feira', 'Macarrão', 'Lazanha', 'Nhoc', 'Rondelli', 'Massas'),
(5, 'Sexta-Feira', 'Picanha', 'Alcatra', 'Maminha', 'Azinha de Frango', 'Carnes'),
(6, 'Sábado', 'Hot-Dog', 'Algodão-Doce', '', '', 'Diversão');

Imagem do banco de dados:

3795b0f3.jpg

O script em php, que fala o cardápio de hoje e de amanhã:

<?php
$mysql_host = "localhost";
$mysql_user = "restaurante";
$mysql_pass = "NeybudA6BpXWKEAm";
$mysql_db = "restaurante";
$mysql_table = "meni";


//Conexão com o DB
$conexao = mysql_connect($mysql_host,$mysql_user,$mysql_pass);
if (!$conexao) {
die('Conexão não estabelecida! Razão: ' . mysql_error());
}
// Selecionar DB
$db_selected = mysql_select_db($mysql_db);
if (!$db_selected) {
die('Não pode se conectar ao banco de dados: ' . $mysql_db . '<BR> Motivo: ' . mysql_error());
}

// Função que retorna a linha do dia desejado
function MeniDia($i,$table) {
// Montando a query que busca pelo id do dia
$query = sprintf("SELECT * FROM %s WHERE ID='%d'",
$table, $i);
// Executando a query
$result = mysql_query($query);
// Testando resposta
if (!$result) {
die('Não foi possível executar a query: ' . $query . '<BR> Motivo: ' . mysql_error());
}
// Retorna a linha da tabela
return mysql_fetch_assoc($result);
}

// ID do dia 0-6 Domingo a Sábado
$id_hoje = date("w");
$id_amanha = date("w") + 1;

// Caso hoje seja sábado
if ($id_amanha == 7) {
$id_amanha = 0;
}

// Executando a nossa função
$hoje = MeniDia($id_hoje,$mysql_table);
$amanha = MeniDia($id_amanha,$mysql_table);

//Concatenando a fraze dos pratos de hoje
$msg = $hoje['PRATO1'];
if ($hoje['PRATO2'] != "") {
if ($hoje['PRATO3'] != "") {
$msg .= ", " . $hoje['PRATO2'];
if ($hoje['PRATO4'] != "") {
$msg .= ", " . $hoje['PRATO3'];
$msg .= " e " . $hoje['PRATO4'];
} else {
$msg .= " e " . $hoje['PRATO3'];
}
} else {
$msg .= " e " . $hoje['PRATO2'];
}
}
$msg .= ".";


echo "<p><b>H</b>oje, " . $hoje['DIA'] . ", estamos com o tema <b>" . $hoje['TEMA'] . "</b> e temos o prazer de servir ";
echo $msg;

//Concatenando a fraze dos pratos de amanhã
$msg = $amanha['PRATO1'];
if ($amanha['PRATO2'] != "") {
if ($amanha['PRATO3'] != "") {
$msg .= ", " . $amanha['PRATO2'];
if ($amanha['PRATO4'] != "") {
$msg .= ", " . $amanha['PRATO3'];
$msg .= " e " . $amanha['PRATO4'];
} else {
$msg .= " e " . $amanha['PRATO3'];
}
} else {
$msg .= " e " . $amanha['PRATO2'];
}
}
$msg .= ".";

echo " <b>A</b>manhã, " . $amanha['DIA'] . ", estaremos com o tema <b>" . $amanha['TEMA'] . "</b> e iremos servir ";
echo $msg;
?>

Eu testei e tive as seguintes respostas:

Domingo:

Hoje, Domingo, estamos com o tema Massas e temos o prazer de servir Macarrão, Lazanha, Nhoc e Rondelli. Amanhã, Segunda-Feira, estaremos com o tema Carnes e iremos servir Picanha, Alcatra, Maminha e Carnes.

Segunda:

Hoje, Segunda-Feira, estamos com o tema Carnes e temos o prazer de servir Picanha, Alcatra, Maminha e Carnes. Amanhã, Terça-Feira, estaremos com o tema Diversão e iremos servir Hot-Dog e Algodão-Doce.

Terça:

Hoje, Terça-Feira, estamos com o tema Diversão e temos o prazer de servir Hot-Dog e Algodão-Doce. Amanhã, Quarta-Feira, estaremos com o tema Feijoada e iremos servir Feijoada-Light, Feijoada completa, Farofa e Caipirinha (OBA!).

Quarta:

Hoje, Quarta-Feira, estamos com o tema Feijoada e temos o prazer de servir Feijoada-Light, Feijoada completa, Farofa e Caipirinha (OBA!). Amanhã, Quinta-Feira, estaremos com o tema Massas e iremos servir Macarrão, Lazanha, Nhoc e Rondelli.

Quinta:

Hoje, Quinta-Feira, estamos com o tema Massas e temos o prazer de servir Macarrão, Lazanha, Nhoc e Rondelli. Amanhã, Sexta-Feira, estaremos com o tema Carnes e iremos servir Picanha, Alcatra, Maminha e Azinha de Frango.

Sexta:

Hoje, Sexta-Feira, estamos com o tema Carnes e temos o prazer de servir Picanha, Alcatra, Maminha e Azinha de Frango. Amanhã, Sábado, estaremos com o tema Diversão e iremos servir Hot-Dog e Algodão-Doce.

Sábado:

Hoje, Sábado, estamos com o tema Diversão e temos o prazer de servir Hot-Dog e Algodão-Doce. Amanhã, Domingo, estaremos com o tema Massas e iremos servir Macarrão, Lazanha, Nhoc e Rondelli.

Link para o comentário
Compartilhar em outros sites

Sou meio iniciante em PHP tmb, mas gosto de brincar =D... tipo.. tente diferenciar um pouco... usar uma tabela para armazenar os pratos, ex:

ID - Prato - TypeID

1 - Docê de banana - 1

2 - Pudim - 1

3 - Mouse de Chocolate -1 (ps.. ta dando fome HAUHAUHAUA)

4 - Macarrão - 2

5 - Lasanha - 2

ID - Type

1 - Sobremesas

2 - Massas

Tente vincular as tabelas e fazer algum tipo de painel de gerenciamento pra você poder pelo próprio site definir o que será servido na próxima semana e tal...

liga não HAuhaUH.. viajo mesmo hAHAHA

Link para o comentário
Compartilhar em outros sites

Que isso cara, dicas diferentes são sempre bem vindas.

A aparecia do site vai ter uma lousa, onde monte vai ser exibido em uma coluna o prato do dia, e em outra o de amanha.

Mas gostei da sua ideia. So preciso acertar meu phpmyadmin que não sei o motivo não funciona.

Muito obrigado, e vou textar assim que puder, só fica a duvida por que por if e else não funciona... Fiquei curioso.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!