Como faco para inserir valor automatico na input? [RESOLVIDO]

1. Como faco para inserir valor automatico na input? [RESOLVIDO]

Alison Fye
alisonfye

(usa Outra)

Enviado em 22/08/2012 - 12:13h

Seguinte pessoal, eu to criando um site de musica, ai criei uma pagina pra cadastro das iformacoes da musica!
No cadastro crio um formulario, com uma select estilo e um input type number, queria que o javascript ou memso o php fizesse uma busca no banco de dados, contasse quantas linhas tem cadastrado de musicas nesse estilo e me retornasse esse valor mais 1 automaticamente na input da posicao:

<form action=add.php method=post>
<select name=estilo>
<option> selecione uma opcao </option>
<option value=rock> Rock </option>
<option value=hip hip> Hip Hop </option>
<option value=sertanejo> Sertanejo </option>
</select>
<input type=number name=posicao>

o que eu queria era o seguinte, quando a pessoa selecionasse rock poe exemplo, ele fosse no banco de dados, contasse quantas musicas com estilo rock estao cadastrada, e retornasse automaticamente no campo posicao a quantidade+1, que seria a proxima, lembrando que as musicas estao espalhadas entao vai ter que ser
select * from musicas where estilo=(estilo escolhido pelo usuario)

e depois o javascript colocar automatico no campo o valor +1




  


2. Re: Como faco para inserir valor automatico na input? [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 22/08/2012 - 12:20h

Isso é relativamente simples, em qual parte você está tendo dificuldades? no SQL, no PHP ou no javascript?


3. Re: Como faco para inserir valor automatico na input? [RESOLVIDO]

Alison Fye
alisonfye

(usa Outra)

Enviado em 22/08/2012 - 12:21h

no javascript


4. Re: Como faco para inserir valor automatico na input? [RESOLVIDO]

Alison Fye
alisonfye

(usa Outra)

Enviado em 22/08/2012 - 14:04h

minha dificuldade e pra usar o javascript pra acrecentar a informacao automatica na input


5. Re: Como faco para inserir valor automatico na input? [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 22/08/2012 - 22:21h

Se ainda não tem, recomendo que importe a biblioteca jquery para seu index:


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


Depois dentro do seu javascript faça:


$("select[name='estilo']").change(function(){
var varCategoria = $(this).val();
$.ajax({
url: musicas.php,
dataType: 'html',
data: {categoria:varCategoria},
success: function(data){
$("input[name='posicao']").val(data);
},
error: function( xhr ) {
alert("Erro : " + xhr);
}
});
});




6. Re: Como faco para inserir valor automatico na input? [RESOLVIDO]

Alison Fye
alisonfye

(usa Outra)

Enviado em 22/08/2012 - 23:08h

ok, mas como vou inserir essa funcao no formulario?


7. Re: Como faco para inserir valor automatico na input? [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 22/08/2012 - 23:29h

basta inserir no javascript, nem precisa criar formulário, basta o name do select, que vc ja fez....


8. Re: Como faco para inserir valor automatico na input? [RESOLVIDO]

Alison Fye
alisonfye

(usa Outra)

Enviado em 23/08/2012 - 03:02h

axo que voce nao entendeu muito bem o que quero fazer

o formulario e necessario, por com ele depois vo fazer o cadastro dos dados no banco de dados

Vou postar o script completo

cadastro.php

<?
session_start();
include("conectar.php");
$pag=$_GET['pag'];
$max=10;
$res0=mysql_query("select * from musicas");
$qtp_t=mysql_num_rows($res0);
$qtp=($qtp_t/10)+1;
if ($pag)
{
$max=$max*$pag;
}
$min=$max-9;
$res=mysql_query("select * from megalimes where id>='$min' and id<='$max'");
for ( $t=1; $t<=$qtp; $t++)
{
echo "<a href=cadastro.php?pag=$t> $t </a>";
}
echo "<br><table border=1>";
while($escrever=mysql_fetch_array($res))
{
$id=$escrever['id'];
$estilo=$escrever['estilo'];
$posicao=$escrever['posicao'];
$artista=$escrever['artista'];
$musica=$escrever['musica'];
$link=$escrever['link'];
$tamanho=$escrever[tamanho];
echo "<tr><td>$estilo</td><td>$posicao</td><td>$artista</td><td>$musica</td>
<td>$link</td><td>$tamanho</td><td>
<form action=edit_mid.php?pag=$pag method=post>
<input type=hidden name=id value=$id><input type= submit value=Editar>
</form></td></tr>";
}
echo "</table>";
$t=$t-1;
if ( $pag==$t )
{
?>
<br>Cadastrar:<br>
<table border=1>
<tr> <td> estilo </td> <td> posicao </td> <td> artista </td> <td> musica </td> <td> link </td> <td> tamanho </td> </tr>
<tr> <form action=add.php method=post> <td><input type=text name=estilo></td><td><select name=posicao>
<option value="rock"> Rock </option>
<option value="hip hop"> Hip Hop </option>
<option value="sertanejo"> Sertanejo </option>
</td><td><input type=text name=artista></td>
<td><input type=text name=musica></td><td><input type=text name=link></td><td><input type=time name=tamanho></td><td><input type=submit value=cadastrar></td></tr>
<?
}
?>

O script faz o seguinte:
ele conta quantas paginas da pra agrupar os dados de 10 em 10, e quando ta na ultima pagina, ele cria uma tabela de cadastro pra proxima.

O importante que eu preciso de ajuda e essa parte:


<tr> <form action=add.php method=post> <td>
<select name=estilo>
<option value=""> Selecione uma opcao </option>
<option value="rock"> Rock </option>
<option value="hip hop">Hip Hip</option>
<option value="sertanejo"> Sertenejo </option>
</td><td><input type=number name=posicao></td><td><input type=text name=artista></td>
<td><input type=text name=musica></td><td><input type=text name=link></td><td><input type=time name=tamanho></td><td><input type=submit value=cadastrar></td></tr>

preciso passar esses dados para o arquivo add.php pra cadastrar os dados no banco de dados, o que eu preciso e o seguinte:
no select quando alguem selecionar por exemplo rock, quero que no campo
da input: <input type=number name=posicao> apareca dentro dele automaticamente
o valor, esse valor e assim, o php vai fazer uma consulta no mysql, e verificar quantas musicas cadastradas tem com esse estilo, depois ele soma a quantidade mais 1 que seria a proxima e retorna esse valor pra dentro da input




9. Re: Como faco para inserir valor automatico na input? [RESOLVIDO]

Alison Fye
alisonfye

(usa Outra)

Enviado em 23/08/2012 - 05:53h

Consegui resolver, mais ou menos do jeito que voce postou mesmo, so que com algumas mudancas:
arquivo cadastro.php coloco
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript">
$(function(){ // declaro o início do jquery
$("select[name='estilo']").blur( function(){

var estilo = $("select[name='estilo']").val();
//alert(estilo);

$.post('consulta.php',{estilo: estilo},function(data){
$('#resultado').html(data);
});
});
});// fim do jquery
</script>

na tag head

e depois pra dar o resultado que quero coloco

<div id="resultado"></div>

dentro do consulta.php coloco

<?php
include("conectar.php");
$estilo=$_POST['estilo'];
$sql = "SELECT * FROM musicas where estilo='$estilo'";
$q = mysql_query( $sql );//executo a query
$qt= mysql_num_rows( $q );
if( $qt > 0 )
{
$qt=$qt+1;
echo "<input type=hidden name=posicao value=$qt> $qt";
}
else
{

echo "<input type=text name=posicao>";
}
?>

era o que eu tava tentando entender, ele tem que carregar dentro da div pra aparecer

topico resolvido, obrigado pela ideia, apesar de eu nao ter entendi, e ter pesquisado mais!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts