【问题标题】:Pass a value to my function in php在php中将值传递给我的函数
【发布时间】:2015-05-13 23:43:29
【问题描述】:

我在从我的数据库中提取的表中有一个产品列表。 每个产品都有一个带有 ALIQUOTA(= VAT,Tax)的字段。 我希望能够修改分配给单个产品的等分值。

我在实际 aliquote 旁边做了一个下拉菜单,其中包含我数据库的 aliquote 表中的所有允许值。 (该值为 0.00、4.00、10.00、20.00)。 选择后,该值将插入到 ID 为“aliquota_XXX”(其中 XXX 是与产品对应的 ID)的只读输入文本字段中。 然后我想保存该值,按下按钮 CONFIRM VAT 激活功能 save_modify(此功能已存在于项目中)。 这是代码:

<select class="piccolo elemento_modulo_obbligatorio" id="aliquota_dropdown_<?php echo $row['rid']; ?>" name="aliquota_dropdown">
<?php 
$aliquote = "SELECT aliquota,id AS aid FROM aliquote ORDER BY aliquota ASC";
$result_aliquote = mysql_query($aliquote) or die("Invalid query: " . mysql_error());
while ($row_aliquote = mysql_fetch_array($result_aliquote)) {
echo '<option onclick=\'';
?>

$("#aliquota<?php echo $row['rid']; ?>").val("<?php echo $row_aliquote['aliquota']; ?>");

<?php
echo ';\' value="' . $row_aliquote['aid'] . '">' . $row_aliquote['aliquota'] . '</option>';
}
?>

</select>

<input autocomplete="off" type="text" class="class12" id="aliquota<?php echo $row['rid']; ?>" name="aliquota" readonly="readonly" value="" />
<input type="button" onclick="save_modify(&quot;aliquota&quot;,document.getElementById('aliquota_<?php echo $row['rid']; ?>').value,<?php echo number_format($row['aliquota'],2,".",","); ?>);" value="CONFIRM VAT" />

save_modify的功能是:

function save_modify(cosa, valore_nuovo, valore_vecchio) {
    $.ajax({
        type: "GET",
        url: "ajax_salva_modifica_valore.php",
        data: "id_documento=" + <? php echo $_GET['id_documento']; ?> +"&cosa=" + cosa + "&id=" + id + "&valore_nuovo=" + valore_nuovo + "&valore_vecchio=" + valore_vecchio,
        cache: false,
        success: function(data) {
            $("#sezione_messaggi").html("Succesfully modified!");
        },
        beforeSend: function() {
            $("#sezione_loading").html("<img src='../images/ajax-loader.gif' />");
        },
        complete: function() {
            $("#sezione_loading").html("");
            post_modifica(id);
            carica_righe();
        }
    });
}

ajax_salva_modifica_valore.php 中感兴趣的部分是:

<?php
session_start();
$cosa = $_GET['cosa'];
$array_id = split("_",$id);
$id_riga = $array_id[1];


$valore_nuovo = $_GET['valore_nuovo'];
$valore_vecchio = $_GET['valore_vecchio'];

if($cosa == "aliquota") {
    $modifica = "UPDATE righe_documenti
                 SET aliquota = '" . $valore_nuovo . "'
                 WHERE id = " . $id_riga;
    $result = mysql_query($modifica) or die("Invalid query: " . mysql_error()); 
}
?>

我不知道问题出在哪里,因为传递给函数的参数是正确的,但是修改它没有应用......

有人可以帮我解决它或尝试其他解决方案吗?

save_modifyajax_salva_modifica_valore.php 不是我制作的,所以我认为它们是正确的(它们适用于编辑其他产品信息... )

谢谢!

【问题讨论】:

    标签: php mysql ajax


    【解决方案1】:

    主要问题是number_format() 将数字格式化为字符串,在您的情况下应该用双引号 (&amp;quot;) 括起来。

    <input type="button" onclick="save_modify(&quot;aliquota&quot;,this.id,$(&quot;#aliquota<?php echo $row['rid']; ?>&quot;).val(),&quot;<?php echo number_format($row['aliquota'],2,",","."); ?>&quot;);" value="CONFIRM ALIQUOTA" />
    

    但是通过查看您的其余代码,您似乎根本不需要number_format()

    <input type="button" onclick="save_modify(&quot;aliquota&quot;,this.id,$(&quot;#aliquota<?php echo $row['rid']; ?>&quot;).val(),<?php echo $row['aliquota']; ?>);" value="CONFIRM ALIQUOTA" />
    

    【讨论】:

    • 感谢您的回答,但不,这不是问题所在。我做了一些测试,有问题的 save_modify 参数是第三个: $("#aliquota").val() 我将它替换为:document. getElementById('aliquota_').value 现在参数传递了......但是函数还没有完成他的工作......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    • 2013-07-05
    • 2011-11-16
    • 2012-05-07
    • 1970-01-01
    • 2012-07-19
    相关资源
    最近更新 更多