sql >> Database >  >> RDS >> Mysql

Tekstwaarde invoeren op basis van geselecteerde optiewaarde dynamisch geladen vanuit sql db

U kunt dit op 2 manieren doen:

Eerste manier is door de pagina om te leiden met een $_GET parameter die de product-ID zal bevatten:

<div class="row-fluid">
    <div class="span3">
        <label>SKU</label>
        <?php  echo '<select name="ITEM" id="user" class="textfield1" 
                      onchange="document.location=\'my-page.php?pid=\' + this.value">';
        while($res= mysql_fetch_assoc($sql))
        {
          echo '<option value="'.$res['productID'].'"';
          // LATER EDIT
            if(isset($_GET['pid']) && $_GET['pid'] == $res['productID'])
              echo 'selected="selected"';
          // END LATER EDIT
          echo '>';
          echo $res['SKU'] ; 
          echo'</option>';
        }
        echo'</select>';

        ?>
    </div>
</div>
<div class="row-fluid">             
    <div class="span3">
        <label>Description</label>
        <?php
            if(isset($_GET['pid']) && is_numeric($_GET['pid'])) {
                $sql = mysql_query("SELECT description 
                                    FROM products 
                                    WHERE product_id='" . mysql_real_escape_string($_GET['pid']) . "'");
                $row = mysql_fetch_assoc($sql);
            }
        ?>
        <input type="text" name="description" value="<?=$row['description']?>"/>
    </div>
</div>

Tweede weg is om een ​​ajax-aanroep te hebben en de beschrijving dynamisch in te voeren, zonder de pagina te vernieuwen

// this is the JS code
$(document).ready(function(){
   $('#user').change(function(){
       $.POST("my-ajax-call-page.php",
               {pid: $("#user").val()},
               function(data){
                   $('input[name="description"]').val(data.description);
               }, "json");
   });
});

en je my-ajax-call-page.php zou zo moeten zijn:

<?php
    include("mysql-connection.php");

    $sql = mysql_query("SELECT description 
                        FROM products 
                        WHERE product_id='" . mysql_real_escape_string($_POST['pid']) . "'");
    $row = mysql_fetch_assoc($sql);

    echo json_encode("description" => $row['description']);
?>

U vindt veel voorbeelden en documentatie voor het gebruik van de jQuery-bibliotheek op jQuery-bibliotheekwebsite



  1. Op maat gemaakte statistieken

  2. Hoe kan ik een MySQL-query versnellen met een grote offset in de LIMIT-clausule?

  3. MySQL kan geen beperking voor externe sleutels toevoegen

  4. Oracle CLOB kan niet meer dan 4000 tekens invoegen?