Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Vincular campos no formulario


eldergab

Question

Ola pessoal do script Brasil!

Sou novato no forum e na verdade esta é minha primeira que posto uma duvida,

estou montando um site em php onde tenho a página onde registro meus pedidos que fiz ao longo do dia com meus clientes, montei um formulario que busca informaçoes na tabela de produtos la no meu banco de dados, o problema é que eu não estou sabendo vincular os campos de forma que ao escolher o produto, possa aparecer no campo vazio o valor e a quantidade.

se alguém puder me dar alguma dica ficarei muito grato,

eu acredito que eu tenho que fazer atravez do if e do.

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Colocarei um esbolço:

campo HTML:

<input type="text" name="campo" />
para pegar o valor do campo:
$campo=$_POST['campo']; // Ou $_GET['campo'], dependendo do metodo do formulario.
Faz a busca:
$sql=mysql_query("SELECT preço,quantidade FROM tabela WHERE campo='$campo'");
Mostra o que encontrou no banco:
while($resultado=mysql_fetch_array($sql)){ // Faz o loop para todos os produtos encontrados
echo "Valor: ".$resultado[0]; // Ou $resultado['preço'];
echo "<br />";
echo "Quantidade: '.$resultado[1]; // Ou $resultado['quantidade'];
echo "<br /><br />";
}

Edited by lucas.js
Link to comment
Share on other sites

  • 0

Valeu lucas.js,

tentei montar o codigo mas deu erro,

vou colocar meu codigo inicial aqui para voce ver minha intensão no formulario,

<?php

if (!function_exists("GetSQLValueString")) {

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")

{

if (PHP_VERSION < 6) {

$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

}

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {

case "text":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "long":

case "int":

$theValue = ($theValue != "") ? intval($theValue) : "NULL";

break;

case "double":

$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";

break;

case "date":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "defined":

$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;

break;

}

return $theValue;

}

}

mysql_select_db($database_conexao, $conexao);

$query_Recordset1 = "SELECT * FROM produtos";

$Recordset1 = mysql_query($query_Recordset1, $conexao) or die(mysql_error());

$row_Recordset1 = mysql_fetch_assoc($Recordset1);

$totalRows_Recordset1 = mysql_num_rows($Recordset1);

?>

<? //então, a minha intensão é por meio deste select escolher o nome do produto ?>

<select name="">

<?php

do {

?>

<option value="<?php echo $row_Recordset1['nome_prod']?>"><?php echo $row_Recordset1['nome_prod']?></option>

<?php

} while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));

$rows = mysql_num_rows($Recordset1);

if($rows > 0) {

mysql_data_seek($Recordset1, 0);

$row_Recordset1 = mysql_fetch_assoc($Recordset1);

}

?>

</select>

<?php

mysql_free_result($Recordset1);

?>

<label for="textfield"></label>

<? // ai quando eu estiver escolhido o nome do produto la no select, o valor apareça aqui.?>

<input type="text" name="valor" id="valor">

desde já sempre agradeço,

Link to comment
Share on other sites

  • 0

Se entendi bem o que você quer,

Faz com javascript e não php.

Tipo:

quando você faz a consulta:

SELECT * FROM produtos
retorna os valores, correto ? Então:
$array_preco=array(); // para facilitar a nossa vida :D

$query_Recordset1 = "SELECT * FROM produtos";
$Recordset1 = mysql_query($query_Recordset1, $conexao) or die(mysql_error());
?>
<select name="" onchange="mostraPreco(this)">
<?php
while($row_Recordset1 = mysql_fetch_assoc($Recordset1)){
?>
<option value="<?php echo $row_Recordset1['nome_prod']?>"><?php echo $row_Recordset1['nome_prod']?></option>
<?php
$array_preco[]=$row_Recordset1['preco_prod']; // mude para o campo correto.
}
$rows = mysql_num_rows($Recordset1);
if($rows > 0) {
mysql_data_seek($Recordset1, 0);
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
}
mysql_free_result($Recordset1);
?>
</select>
<label for="textfield"></label>
<input type="text" name="valor" id="valor">

<script type="text/javascript">
function mostraPreco(i){
var array_preco = [<?php
foreach($array_preco as $valor){
echo "'$valor',";
}
?>''];
document.getElementById("valor").value=array_preco[i.selectedIndex];
}
</script>

Edited by lucas.js
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...