Ir para conteúdo

POWERED BY:

Arquivado

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

jrotta

Javascript + MYSQL?!?

Recommended Posts

Bom, certa página do meu site tem uma tabela cheia de items. Cada um destes items tem um id.

Você pode arrastar esse item ao seu inventário, assim ele redireciona a página para algo como: 'equipar.php?id=' + itid;

Mas agora eu queria fazer o seguinte. Ao você arrastar o item para o campo "vender", ele abriria um confirm box: "deseja vender o item AAA por BBB moedas?"

Porém o javascript teria de procurar no mysql o nome do item(AAA) e o preço dele(BBB) através da variavel "itid", porém essa variavel só é gerada quando arrastamos e soltamos um item, e não no carregamento da página.

 

Por isso não sei se oque quero fazer é possivel, na verdade é uma mistura de server-side com client-side =s

 

n sei se vcs entenderam, é q é complicado de explicar =s

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, acho 'desnecessário' gastar ajax nisso..

 

faz algo mais simples:

<a href="equipar.php?id=itid&item=AAA&preco=BBB">Link</a>

entendeu?

já tenha essas informações no html..

ai você pega com javascript, os valores, e monta o confirm()

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema dessa sua solução William é se o amigo for preocupado com a validação do (X)HTML dele e algu item tiver algum caractere especial por algum motivo não escapado.

 

Acredito que uma solução um pouco melhor acredito que seria definir o conteúdo entre //<![CDATA[ ... //]]> pois, se não me falha a memória, quando envoltos por ele, não há problemas com acentuação.

 

E, no seu link, você poderia fazer algo como:

 

<a href="javascript:void(0) onclick="sellItem( ID, CDATA_para_nome, CDATA_para_valor )">Link</a>
E, óbviamente ter uma função definida chamada sellItem() que dispararia um confirm e, se confirmado, redirecionaria para essa página de venda ou faria um AJAX para vender assíncronamente.

 

P.S.: É só especulação ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum.. só acho 'estranho' se preocupar com validação, mas deixar de lado a acessibilidade, já que com a tua solução, se eu navegar sem suporte a javascript, o site não funciona ^_^

 

e outra, é só trocar os & por & que vai validar..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exato, mas é aí que deve-se ponderar os pró e contras entre validar o (X)HTML e abrir mão da não obstrusividade do site.

 

Para agradar gregos e troianos, acredito que, no funfo, no fundo, o jrotta já sabia que a solução 100% eficaz poderia acabar em AJAX.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim sim...

O script atual é assim:

Você arrasta o item para a àrea vender.

Dai ele redireciona a página para o shop.php, perguntando: VOcê deseja vender AAA por BBB?

Dai você clica em sim, e ele vai para outra página..., q diz: Você vendue seu item!

...

Agora n acham q seria muito mais facil fazer ao arrastar o item para a àrea venter, abrir um comfirm, e ao clicar em ok vender o item?

 

Códigos (a parte q detecta se o item foi solto no cmapo de venda, e regireciona para o shop.php está em negrito)

<script type="text/javascript">

// onload event

window.onload = function () {

rd = REDIPS.drag; // reference to the REDIPS.drag class

// initialization

rd.init();

 

rd.mark.exception.amulet = 'amulet';

rd.mark.exception.helmet = 'helmet';

rd.mark.exception.weapon = 'weapon';

rd.mark.exception.armor = 'armor';

rd.mark.exception.shield = 'shield';

rd.mark.exception.legs = 'legs';

rd.mark.exception.boots = 'boots';

 

// this function (event handler) is called after element is dropped

REDIPS.drag.myhandler_dropped = function () {

 

var obj_old = REDIPS.drag.obj_old; // reference to the original object

var target_cell = REDIPS.drag.target_cell; // reference to the Target cell

 

// if the DIV element was placed on allowed cell then

if (rd.target_cell.className.indexOf(rd.mark.exception[rd.obj.id]) !== -1){

if (REDIPS.drag.target_cell !== REDIPS.drag.source_cell) {

 

var itclassname = rd.obj_old.className;

var itid = itclassname.split(' ')[1];

window.location.href= 'equipit.php?itid=' + itid;

 

}

}

 

else if (REDIPS.drag.target_cell !== REDIPS.drag.source_cell) {

 

var itclassname = rd.obj_old.className;

var itid = itclassname.split(' ')[1];

 

if (rd.target_cell.className == 'sell') {

window.location.href= 'shop.php?act=sell&id=' + itid;

} else if (rd.target_cell.className == 'mature') {

window.location.href= 'shop.php?act=mature&id=' + itid;

} else {

var tileclassname = rd.target_cell.className;

var tileid = tileclassname.split(' ')[1];

 

window.location.href= 'moveit.php?itid=' + itid + '&tile=' + tileid;

}

}

 

}

}

 

</script>

 

ninguém tem idéia de um ajax ai q possa resolver isso?

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.