ratamiette Posted September 16, 2011 Report Share Posted September 16, 2011 (edited) Boa noite,Bom, estou quebrando a cabeça aqui demais.. seguinte.. Estou fazendo uma área administrativa, onde o cliente vai poder alterar o menu.. segue abaixo o codigo da parte de listarMenu.php no listar menu.php tem o link chamando a pagina de alterarMenu.phplistarMenu.php<?include("autentica.php");require_once("Controle/ControleMenu.php");$objMenu = new Menu;$objMenus = $objMenu->buscarTodos();$contador = count($objMenus)?>...<? for($x = 0; $x < $contador; $x++){ $objMenu = $objMenus[$x];?> <!-- Aqui comeca a estrutura de repeticao --> <tr> <th scope=row"><? echo $objMenu->get('menu');?></th> <td> <!--<a href="inicial.php?pagina=alterar_menu.php&codMenu=<? //echo $objMenu->get('codMenu')?>">Alterar</a>--> <form id="alterar" name="alterar" method="post" action="alterarMenu.php"> <input name="codMenu" type="hidden" id="codMenu" value="<?php echo $objMenu->get('codMenu')?>" /> <input type="submit" name="Submit" value="Alterar" /> </form>...*****************************************************************************************************************alterarMenu.php<?require_once("Controle/ControleMenu.php");$objMenu = new Menu;$objMenu = $objMenu->buscarPorId($_POST['codMenu]);?>OBS: Até aqui chega o $_POST['codMenu']****************************************************************************************************************ControleMenu.php<?require_once("Entidade/Menu.php");function buscarPorId($codMenu){ $objMenu = new Menu; $objMenu->set('codMenu', $codMenu); return $retorno = $objMenu->buscarPorId(); }*****************************************************************************************************************Menu.phpOBS: aqui no sql não chega o codMenu já revisei umas 10x e não achei o erro! function buscarPorId(){ echo $sql = " SELECT menu, texto FROM menu WHERE codMenu = '".$this->codMenu."' "; // AQUI não CHEGA O CODMENU!!! $objBanco = new Banco(); $dados = $objBanco->executar($sql); $menu = mysql_result($dados, 0, 'menu'); $texto = mysql_result($dados, 0, 'texto'); $objMenu = new Menu; $objMenu->set('menu', $menu); $objMenu->set('texto', $texto); return $objMenu; }Quem puder ajudar, ficarei grata! obrigado! Edited September 16, 2011 by ratamiette Quote Link to comment Share on other sites More sharing options...
0 MLeandroJr! Posted September 16, 2011 Report Share Posted September 16, 2011 O $this->codMenu serve apenas para métodos dentro de uma mesma classe.Para funções fora dela você precisará usar $nome_da_classe->codMenu. Quote Link to comment Share on other sites More sharing options...
0 ratamiette Posted September 18, 2011 Author Report Share Posted September 18, 2011 O $this->codMenu serve apenas para métodos dentro de uma mesma classe.Para funções fora dela você precisará usar $nome_da_classe->codMenu.Ola Leandro,Obrigado por responder.. está correto o que você disse. Mas na classe Menu.php tem a declaracao das variaveis e o metodo get e set .. private $codMenu; private $menu; private $texto; function get($atributo){ return $this->$atributo; } function set($atributo, $valor){ $this->$atributo = $valor; }Ainda não identifiquei o erro! Quote Link to comment Share on other sites More sharing options...
0 dedas Posted September 19, 2011 Report Share Posted September 19, 2011 Troque esta parteprivate $codMenu;Porpublic $codMenu; Quote Link to comment Share on other sites More sharing options...
0 ratamiette Posted September 19, 2011 Author Report Share Posted September 19, 2011 Troque esta parteprivate $codMenu;Porpublic $codMenu;obrigado, mas também não funcionou!! =( Quote Link to comment Share on other sites More sharing options...
Question
ratamiette
Boa noite,
Bom, estou quebrando a cabeça aqui demais.. seguinte..
Estou fazendo uma área administrativa, onde o cliente vai poder alterar o menu..
segue abaixo o codigo da parte de listarMenu.php no listar menu.php tem o link chamando a pagina de alterarMenu.php
listarMenu.php
<?
include("autentica.php");
require_once("Controle/ControleMenu.php");
$objMenu = new Menu;
$objMenus = $objMenu->buscarTodos();
$contador = count($objMenus)
?>
...
<?
for($x = 0; $x < $contador; $x++){
$objMenu = $objMenus[$x];
?>
<!-- Aqui comeca a estrutura de repeticao -->
<tr>
<th scope=row"><? echo $objMenu->get('menu');?></th>
<td>
<!--<a href="inicial.php?pagina=alterar_menu.php&codMenu=<? //echo $objMenu->get('codMenu')?>">Alterar</a>-->
<form id="alterar" name="alterar" method="post" action="alterarMenu.php">
<input name="codMenu" type="hidden" id="codMenu" value="<?php echo $objMenu->get('codMenu')?>" />
<input type="submit" name="Submit" value="Alterar" />
</form>
...
*****************************************************************************************************************
alterarMenu.php
<?
require_once("Controle/ControleMenu.php");
$objMenu = new Menu;
$objMenu = $objMenu->buscarPorId($_POST['codMenu]);
?>
OBS: Até aqui chega o $_POST['codMenu']
****************************************************************************************************************
ControleMenu.php
<?
require_once("Entidade/Menu.php");
function buscarPorId($codMenu){
$objMenu = new Menu;
$objMenu->set('codMenu', $codMenu);
return $retorno = $objMenu->buscarPorId();
}
*****************************************************************************************************************
Menu.php
OBS: aqui no sql não chega o codMenu já revisei umas 10x e não achei o erro!
function buscarPorId(){
echo $sql = "
SELECT
menu,
texto
FROM
menu
WHERE
codMenu = '".$this->codMenu."' "; // AQUI não CHEGA O CODMENU!!!
$objBanco = new Banco();
$dados = $objBanco->executar($sql);
$menu = mysql_result($dados, 0, 'menu');
$texto = mysql_result($dados, 0, 'texto');
$objMenu = new Menu;
$objMenu->set('menu', $menu);
$objMenu->set('texto', $texto);
return $objMenu;
}
Quem puder ajudar, ficarei grata!
obrigado!
Edited by ratamietteLink to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.