Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

diokhan

variavel modal box

Recommended Posts

diokhan

boas,

eu tenho um modal box para mostrar informações sobre um registo, e ao fazer a query para mostrar os dados na modal box eu preciso do WHERE no sql para limitar o id_project apenas aquele que quero ver, como posso fazer isto? o meu código esta assim:

// aqui chamo o modal
<td align=center>
<a class='example8' href='#'> // preciso passar o id do projecto aqui
	<img src='images/find.png' border='0' align='center'></a>
</td>


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
Caya

Queres uma query onde o WHERE limite o id_project apenas aquele que queres ver? "SELECT * FROM projects WHERE id_project = $id_project"?

Share this post


Link to post
Share on other sites
diokhan

a query esta feita e a funcionar, o meu problema é passar uma variável do php para dentro do modal, a variável contem o id do projecto que preciso para terminar a query e apresentar os dados apenas de um determinado projecto


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
Caya

// aqui chamo o modal
<td align=center>
        <a class='example8' href='?id_project=<?=$id_project?>'> // preciso passar o id do projecto aqui
                <img src='images/find.png' border='0' align='center'></a>
</td>

Ficas com o $_GET['id_project']

Share this post


Link to post
Share on other sites
diokhan

tentei como disseste e não envia o valor, do outro lado fica em branco a variável, e tentei assim:

<td align=center>
<a class='example8' href='#'>
	<img src='images/find.png' border='0' align='center'></a>";
        $id = $r->ID_PROJECT;
        echo $id;
echo"</td>";

mas fica sempre o mesmo $id, não muda, e esta dentro de um ciclo while, para aparecer os vários idProjects


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
Caya
<?php $id = $r->ID_PROJECT; ?>
<td align=center>
        <a class='example8' href='?id_project=<?=$id?>'>
                <img src='images/find.png' border='0' align='center'></a>";
                echo $id;
echo"</td>";

Share this post


Link to post
Share on other sites
diokhan

agora devolve-me sempre o ultimo $id, é sempre o mesmo, como a pouco, a diferença que antes devolvia o 1º $id e agora é o último 🤔


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

eu fui ver o código fonte da minha pagina através do Firefox, e la tenho a query feita com todos os ids, mas sempre que chamo a modal aparece sempre com o 1º id que apanha, neste caso o 15


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

Quanto a fazer a modal já funciona, mas agora surgiu-me outro problema com a minha solução.

<script type="text/javascript" src="javascript/project.js"></script>

<script type="text/javascript" src="js/mootools.js"></script>
<script type="text/javascript" src="js/moodalbox.js"></script> 
<link rel="stylesheet" href="css/moodalbox.css" type="text/css" media="screen" />

se eu comentar a linha em hightlight funciona o menu como deve ser, mas se não comentar funciona a modal com os dados que quero apresentar mas depois o meu menu não funciona, deixa de aparecer os sub níveis 🤔

um ficheiro de javscript esta a bloquear o outro, há forma de corrigir isto?


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

mas os scripts que eu uso são todos que saco da net, poucos são os que eu faço por mim, só mesmo os css e assim, o que é js e assim são os que vem da net com os scripts que arranjo para o que preciso 🤔

não há forma de só chamar um script ao clicar num botão ou algo do género?


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
sc0rpion

A modalbox usa prototype não é? Provavelmente isso são conflitos entre as frameworks.

Também já me aconteceu por estar a usar jquery e ter incluído um script em prototype. Basicamente o script em prototype funcionava e tudo o que era jquery não. O problema era da forma de declaração. Com pequenas alterações que estavam no manual da framework deu para safar (apesar de mais tarde eu ter trocado o script por outro em jquery).

Assumindo que é o mesmo tipo de problema, é uma questão de dares uma vista de olhos na documentação das frameworks e verificares se existem alterações que evitem os conflitos.

É por este tipo de situações que eu uso só uma framework por projecto.

Share this post


Link to post
Share on other sites
yoda

Se for um conflito, no jquery em vez de usar

$('#a').funcao();

usa

$lala('#a').funcao();

* "lala" é apenas um nome, podes por o nome que quiseres .. A isto chama-se de namespace, e o objectivo é evitar colisões entre objectos da mesma framework / frameworks diferentes.

E caso estejas a usar 2 frameworks, considera mudar para uma só, porque além de colisões o sistema vai ficar muito mais pesado. Podes não notar agora, mas em pc's menos potentes corres o risco (e nao e dificil) do browser bloquear.

Share this post


Link to post
Share on other sites
diokhan

tao e se eu fizer como disseste,

$lala('#a').funcao();

o $lala só preciso declarar aqui ou preciso declarar em algum outro lado também?

desde já agradeço toda a ajuda e explicações  :P


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

boas,

tentei como disseste yoda.pt mas não funcionou, se deixei assim ao clicar não aparecia a modal, há forma de identificar cada modal que vai fazer? porque por exemplo, no código fonte da página aparece todas as modals com as informações mas ele só vai buscar o 1º que faz, e preciso separar por id

por exemplo, eu tenho este script para chamar a modal:

´<script type="text/javascript">
$(document).ready(function(){
	$(".example8").colorbox({width:"90%", inline:true, href:"#qualityProject($id)"});
});
</script>

e do outro lado tenho:

<div id='qualityProject$idProj' style='padding:10px; background:#fff;'>

onde eu tenho no script "($id)", não há forma de la colocar a variável a apanhar os ids dos projectos? que o script tenho de chamar antes do head do html, e eu só declaro a variável no body


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

o que preciso fazer é algo do tipo, ao clicar num botão aparecer a informação do projecto, cada projecto tem um botão, e para saber qual informação preciso ir buscar eu passo o idProject, só que como estou a fazer só me vai buscar um id, o sistema não esta a apanhar o id para cada projecto


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

<script type="text/javascript">
$(document).ready(function(){
	for (var i = 1; i < 200; i++) 
	{
		$(".example8").colorbox({width:"90%", inline:true, href:"#qualityProject"+i});
	}
});
</script>

eu pensei em fazer algo deste género, mas não funcionou, tenho algum erro ou assim? 🤔


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

é html

tenho assim o meu <head>:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

<script type="text/javascript" src="javascript/jquery-1.2.6.pack.js"></script>
<script type='text/javascript' src='javascript/jquery.autocomplete.pack.js'></script>

<script type="text/javascript" src="javascript/project.js"></script>

<link type="text/css" media="screen" rel="stylesheet" href="css/colorbox.css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="javascript/jquery.colorbox.js"></script>

<script type="text/javascript">
        $(document).ready(function(){
                for (var i = 1; i < 200; i++)
                {
                        $(".example8").colorbox({width:"90%", inline:true, href:"#qualityProject"+i});
                }
        });
        </script>

<!-- Autocomplete Formatting -->
<link rel="stylesheet" type="text/css" href="css/jquery.autocomplete.css" />
<script type="text/javascript">
$().ready(function() {
	$("#targetDiv1").autocomplete("autocomplete/mysql1.php", {
		width: 145,
		selectFirst: true
	});
});
</script>


<title>BioCant - Project Manager</title>
</head>


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

sim estão, e fiz isto para não entrarem em conflito:

<script type="text/javascript" language="javascript">
var $a = jQuery.noConflict();
$a(document).ready(function(){

		$a(".example8").colorbox({width:"90%", inline:true, href:"#qualityProject15"});

});
</script>

mas há um que não funciona bem


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.