Ir para conteúdo

POWERED BY:

Arquivado

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

ramonduarte

[Resolvido] O que tem de errado nesse código?

Recommended Posts

O que tem de errado nesse código? :

 

cons_livraria.php

 

<?php 
				include('menuheader.php');
				require_once('includes/db.php');
				?>
				
				<div id="principal">			
				<form action="cons_livro.php" method="post">
					<fieldset>
						<legend class="titulo">Consultar Livraria</legend>
						<select name="livraria1">
							<option value="">Selecionar..</option>
                 		<?php
								$sql =  mysql_query("SELECT codigoliv, nomeliv as titulo FROM livraria order by nomeliv");
			 					while ($result = mysql_fetch_array($sql) )
			 					{
									echo "<option value='".$result['codigoliv']."'>".$result['titulo']."</option>";								
								}
							?>							
						</select><br />
						<input class="botao" type="submit" name="ajustar" value="Ok" />
					</fieldset>
			 	</form>
				<br />

Formulario que seleciona a livraria.

 

___________________________________________

 

agora o erro, era pra jogar os livros cadastrados na livraria selecionada, mas joga TODOS os livros do banco.

 

cons_livro.php

 

<?php

					
	$tabela = 'livro'; // tabela livro
	$tabela2 = 'livraria'; // tabela livraria
	$res_codigo = 'codigoliv'; // codigo da tabela livraria
	$res_nome = 'TITULO';	// titulo da tabela livro			
	$cd_livraria = $_POST['livraria1']; // livraria1 select da livraria no formulario


	$sql = mysql_query("SELECT $res_codigo, $res_nome as titulo FROM $tabela, $tabela2 WHERE codigoliv = '$cd_livraria' ORDER BY $res_nome"); 

	while ($result = mysql_fetch_array($sql) )
			 			{
		echo "<a id='editar' href=\"edicaolivro.php?cod=".$result['CODIGO']."&tab=".$tabela."&tabcod=".$res_codigo."&nome=".$res_nome." \">Ver / Editar </a>";
		echo "<a id='deletar' href=\"deleta.php?cod=".$result['CODIGO']."&tab=".$tabela."&tabcod=".$res_codigo."&nome=".$res_nome." \"><img src=css/img/lixeira.jpg title=Deletar </a>";
		echo "<p class='td'>".$result['titulo']."</p>";
	}
	
?>

O que tem de errado? valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

a segunda query vai gerar um produto cartesiano.

 

faça um JOIN entre as tabelas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não faça SELECT * FROM tabela1, tabela2 ...

 

prefira algo como: (até pelo menos ter controle sobre oque você está fazendo)

SELECT * FROM tabela1 JOIN tabela2...

 

dá uma pesquisada cada.. joga no google 'join sql', estude, tente.

se tiver dificuldades poste oque você fez, e qual a dúvida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

achei o erro. como sou burro, nossa.

 

o erro era em um campo que eu puxei errado. eu puxei o campo codigoliv que é o codigo da tabela livraria. Era pra puxar o campo cd_livraria que é o código da livraria mas da tabela livro...

 

vlw a quem ajudou ae ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.