Jump to content

POWERED BY:

Archived

This topic is now archived and is closed to further replies.

Kaelson

Deletar e alterar campos select HTML + MYSQL + PHP

Recommended Posts

agora o problema está no php:

 

http://www.buffetfama.com.br/goldkael/gold/combos-dependentes-function.inc.php?idCombo1=1

 

não está voltando nenhum dado. Tem algo cadastrado no banco ? com quais IDs ?

Share this post


Link to post
Share on other sites

O php está da seguinte forma: Lembrando que minha tabela se chama tb_mural e as colunas são:

id_url (int,5, auto-increment e primary)

url (varchar 50)

palavrachave (varchar 50)

 

O código então ficou assim:

 

 

 

 

<?php
header("Content-Type: text/html; charset=ISO-8859-1");
function intGet( $campo ){
return isset( $_GET[$campo] ) ? (int)$_GET[$campo] : 0;
}
function retorno( $id )
{
$sql = "SELECT `id_url`, `palvrachave`
FROM `combo2`
WHERE `idCombo1` = {$id_url} ";
$sql .= "ORDER BY `nome` ";
$mysqli = new mysqli("mysql14.fama", "portalexpresso20", "fabi550", "portalexpresso20");
$q = $mysqli->query( $sql );
$json = Array();
if( $q->num_rows > 0 )
{
while( $dados = $q->fetch_object() )
{
$json[] = Array('url'=> utf8_encode( $dados->url ), 'id_url'=> $dados->id_url);
}
}
else
$json[] = Array('url'=> utf8_encode( 'nao encontrado' ), 'id_url'=> '0' );
return json_encode( $json );
}
echo retorno( intGet('idCombo1') );
?>

Share this post


Link to post
Share on other sites

então tem varios erros na tua query:

    function retorno( $id )  
    {  
        $sql = "SELECT `id_url`, `palvrachave`  
            FROM `combo2`  
            WHERE `idCombo1` = {$id_url} ";  
        $sql .= "ORDER BY `nome` ";  
troque por:

    function retorno( $id )  
    {  
        $sql = "SELECT `id_url`, `palavrachave`  
            FROM `tb_mural`  
            WHERE `id_url` = {$id} ";  
        $sql .= "ORDER BY `palavrachave` ";  

Share this post


Link to post
Share on other sites

Então..troquei o código conforme as opções acima e não mudou nada :(.

 

O código ficou assim agora:




<?php
header("Content-Type: text/html; charset=ISO-8859-1");
function intGet( $campo ){
return isset( $_GET[$campo] ) ? (int)$_GET[$campo] : 0;
}
function retorno( $id )
{
$sql = "SELECT `id_url`, `palavrachave`
FROM `tb_mural`
WHERE `id_url` = {$id} ";
$sql .= "ORDER BY `palavrachave` ";
$mysqli = new mysqli("mysql14.buffetfama.com.br", "portalexpresso15", "fabi080982", "portalexpresso15");
$q = $mysqli->query( $sql );
$json = Array();
if( $q->num_rows > 0 )
{
while( $dados = $q->fetch_object() )
{
$json[] = Array('url'=> utf8_encode( $dados->url ), 'id_url'=> $dados->id_url);
}
}
else
$json[] = Array('url'=> utf8_encode( 'nao encontrado' ), 'id_url'=> '0' );
return json_encode( $json );
}
echo retorno( intGet('idCombo1') );
?>

 

 

 

Share this post


Link to post
Share on other sites

poste como está o teu arquivo .php neste momento.

O teu erro está nele, preste atenção.

Share this post


Link to post
Share on other sites

Está desse jeito que postei acima :) .

 

Vou colocar de novo:



<?php
header("Content-Type: text/html; charset=ISO-8859-1");
function intGet( $campo ){
return isset( $_GET[$campo] ) ? (int)$_GET[$campo] : 0;
}
function retorno( $id )
{
$sql = "SELECT `id_url`, `palavrachave`
FROM `tb_mural`
WHERE `id_url` = {$id} ";
$sql .= "ORDER BY `palavrachave` ";
$mysqli = new mysqli("mysql14.buffetfama.com.br", "portalexpresso15", "fabi080982", "portalexpresso15");
$q = $mysqli->query( $sql );
$json = Array();
if( $q->num_rows > 0 )
{
while( $dados = $q->fetch_object() )
{
$json[] = Array('url'=> utf8_encode( $dados->url ), 'id_url'=> $dados->id_url);
}
}
else
$json[] = Array('url'=> utf8_encode( 'nao encontrado' ), 'id_url'=> '0' );
return json_encode( $json );
}
echo retorno( intGet('idCombo1') );
?>

Share this post


Link to post
Share on other sites

então não tem dado nenhum no teu banco de dados.

 

Exporte a tabela: tb_mural e poste aqui

Share this post


Link to post
Share on other sites

Exportei. Seria esse código a seguir:

 

 

 

-- phpMyAdmin SQL Dump
-- version 3.3.10deb2
--
-- Servidor: 186.202.152.54
-- Tempo de Geração: Fev 06, 2013 as 01:54 PM
-- Versão do Servidor: 5.1.54
-- Versão do PHP: 5.3.3-7+squeeze14
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Banco de Dados: `portalexpresso15`
--
CREATE DATABASE `portalexpresso15` DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;
USE `portalexpresso15`;
-- --------------------------------------------------------
--
-- --------------------------------------------------------
--
-- Estrutura da tabela `tb_mural`
--
CREATE TABLE IF NOT EXISTS `tb_mural` (
`id_url` int(5) NOT NULL AUTO_INCREMENT,
`url` varchar(50) COLLATE latin1_general_ci NOT NULL,
`palavrachave` varchar(50) COLLATE latin1_general_ci NOT NULL,
PRIMARY KEY (`id_url`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=5 ;
--
-- Extraindo dados da tabela `tb_mural`
--
INSERT INTO `tb_mural` (`id_url`, `url`, `palavrachave`) VALUES
(2, 'primeira-url.html', 'primeira-palavra'),
(3, 'espetinhos.html', 'Espetinhos'),
(4, 'espetinho-buffet.html', 'Espetinhos Buffet');

Share this post


Link to post
Share on other sites

Agora está vindo certo, só precisa ajustar uma coisa.

 

http://www.buffetfama.com.br/goldkael/gold/combos-dependentes-function.inc.php?idCombo1=2

$json[] = Array('url'=> utf8_encode( $dados->palavrachave ), 'id_url'=> $dados->id_url);
ai fica tudo ok, e voltamos para a casca, testar o js

Share this post


Link to post
Share on other sites

agora está voltando certinho o GET do jSON:

 

[{"url":"primeira-palavra","id_url":"2"}]

 

ai vamos debugar o js agora

 

aqui:

 $( option[i] ).attr( {value : obj.id} );//colocando o value no option  
   $( option[i] ).append( obj.nome );//colocando o 'label'  
troque para:

 $( option[i] ).attr( {value : obj.id_url} );//colocando o value no option  
   $( option[i] ).append( obj.url );//colocando o 'label'  

Entendeu oque estamos fazendo ?

Share this post


Link to post
Share on other sites

Entendi sim foi alterado a coluna id para id_url e a coluna nome para url. Certo?

 

Fiz isso mudou alguma coisa já, mas ainda não está funcionando. :( .

Share this post


Link to post
Share on other sites

ta funcionando sim cara, ta perfeito.

 

alterei o primeiro combo para: "item 2", ai apareceu no segundo combo: "primeira-palavra"

alterei para "item 3", ai apareceu: "Espetinhos".

 

Está tudo certo lá.

Share this post


Link to post
Share on other sites

Então mas não gostaria que aparecesse Item 1, Item 2 ou Item 3. Gostaria de conciliar linha com linha da coluna "url" e "palavrachave". :(

Tipo assim: carrega a linha 1 da coluna "url" aí no combo 2 carregar a linha 1 da coluna "palavrachave"

Share this post


Link to post
Share on other sites

Então mas não gostaria que aparecesse Item 1, Item 2 ou Item 3.

então vc tem q implementar isso, uê.

 

o código está funcionando, agora vc precisa ajeitar a sua necessidade.

Share this post


Link to post
Share on other sites

sim, vc tem que mexe nele.

 

ii cara.. ai então te recomendo estudar php.. isso é algo bem tranquilo de fazer, mas é meio tenso ficar fazendo esse passo a passo pelo fórum. Dá uma lida em algumas coisas, e tente fazer.

 

o código js/ajax tá funcionando, resolvemos esse tópico aqui.

Share this post


Link to post
Share on other sites

Então...tentei fazer um combo select peguei o código pronto...e quase funcionou...será que poderia me ajudar a ver porque ainda não funciona?

 

O link é:

 

www.buffetfama.com.br/goldkael/select2

 

 

Criei a seguinte tabela:

 

CREATE TABLE IF NOT EXISTS `two_drops` (
  `id` int(11) NOT NULL auto_increment,
  `tier_one` varchar(255) NOT NULL,
  `tier_two` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM ;
 
--
-- Dumping data for table `two_drops`
--
 
INSERT INTO `two_drops` (`id`, `tier_one`, `tier_two`) VALUES
(1, 'Colors', 'Red'),
(2, 'Colors', 'Blue'),
(3, 'Colors', 'Green'),
(4, 'Colors', 'Yellow'),
(5, 'Colors', 'Black'),
(6, 'Shapes', 'Square'),
(7, 'Shapes', 'Circle'),
(8, 'Shapes', 'Triangle'),
(9, 'Shapes', 'Rectangle'),
(10, 'Shapes', 'Oval');
 
 

Depois criei os arquivos: jquery.js (dentro de uma pasta chamada js) como o código JQUERY.

 

Os outros arquivos são: categoria.php com o seguinte código:

<?php
/**Local que está rodando o php */
 
$hostname = 'mysql14.com.br';
 
/**Nome do usuário que tem acesso */
 
$username = 'portalexpresso15';
 
/**Senha do usuário, no exemplo está em branco */
$senha = 'senha_meu_banco';
 
/**Banco de dados desejado */
$banco = 'banco';
 
 
/**Mysql_connect -- Abre uma conexão com o servidor MySql */
$db = mysql_connect($hostname,$username,$senha);
 
/**mysql_select_db -- Seleciona um banco de dados MySQL */
mysql_select_db($banco,$db);
 
?>

 

 

 

 

O INDEX.PHP:

 

 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"[url=http://www.w3.org/TR/html4/loose.dtd]http://www.w3.org/TR/html4/loose.dtd [/url]">
<html>
<head>

<?php
/**Local que está rodando o php */
 
$hostname = 'mysql14.com.br';
 
/**Nome do usuário que tem acesso */
 
$username = 'portalexpresso15';
 
/**Senha do usuário, no exemplo está em branco */
$senha = 'senha_meu_banco';
 
/**Banco de dados desejado */
$banco = 'banco';
 
 
/**Mysql_connect -- Abre uma conexão com o servidor MySql */
$db = mysql_connect($hostname,$username,$senha);
 
/**mysql_select_db -- Seleciona um banco de dados MySQL */
mysql_select_db($banco,$db);

 
?>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><br>
<title>Combo Dinâmico com PHP e JQUERY</title><br>
<script type="text/javascript" src="js/jquery.js"></script>
</head>
 
<body>
<form name="cat_form" method="post" action="">
     <select name="categoria">
<option value="0">Selecione uma categoria</option>
 
 
</select>
 
</form>
 
 
<form name="post_form" method="post" action="">
     <select name="post">
<option value="0" disabled="disabled">Antes selecione a categoria</option>
<?php
  $pega_categoria = mysql_query("SELECT * FROM categoria");
if(mysql_num_rows($pega_categoria) <= '0') {
  echo ' <option value="0" disabled="disabled">Não temos categoria cadastradas no momento</option>';
}else{
 
while($res = mysql_fetch_array($pega_categoria)) {
$cat_id = $res['cat_id'];
$cat_name = $res['cat_name'];
 
echo '<option value="'.cat_id.'">'.$cat_name.'</option>';
 
 
}
}
?>
</select>
 
</form>
<div id="single_div" style="display:none;">
</div>
 
</body>
</html>

 

 

E O ARQUIVO post.php com o seguinte código:

<?php
/**Local que está rodando o php */
 
$hostname = 'mysql14.buffetfama.com.br';
 
/**Nome do usuário que tem acesso */
 
$username = 'portalexpresso15';
 
/**Senha do usuário, no exemplo está em branco */
$senha = 'fabi080982';
 
/**Banco de dados desejado */
$banco = 'portalexpresso15';
 
 
/**Mysql_connect -- Abre uma conexão com o servidor MySql */
$db = mysql_connect($hostname,$username,$senha);
 
/**mysql_select_db -- Seleciona um banco de dados MySQL */
mysql_select_db($portalexpresso15,$db);
 
?>

 

 

Não consegui fazer funcionar.

 

Poderia me ajudar, por favor?

 

Obrigado.

Share this post


Link to post
Share on other sites

Consegui montar o select mas não carrega as tabelas.

Coloquei todas as páginas que criei acima e o resultado foi o seguinte:

www.buffetfama.com.br/goldkael/select2

Tentei de tudo, mas não consigo encontrar onde esté meu erro :(

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.