Wie HTML-Tabellen Werte und Asign in Select und Texteingabefelder zu bekommen?

stimmen
0

Ich hoffe, Sie alle in Ordnung, ich habe Problem wurde mit Blick auf Daten aus HTML-Tabellen in Select Box zu bekommen.

Ich benutze Php MySQLi und Ajax JQuery Mit den Operationen ausführen wie Einfügen, Aktualisieren, Löschen und Ansicht. Ich absolvierte zwei Prozesse wie Einfügen, und Anzeigedaten auf den Tabellen, Aber ich kann nicht HTML-Tabellen bekommen und in HTML-Tags auswählen Box zuweisen.

Ich habe Foreign Key Referenzen verwendet Kategorie Make Beziehung zwischen und auch Produkttabellen. Ich möchte erhalten CATEGORY_NAME von Produkttabelle und eine ausgewählte category_name in HTML - Select Box zuweisen.

Hier ist Php-Funktion

 // Get Product Data
       function get_product_record()
       {
        global $con;
        $Pro_Update_Id = $_POST['Pro_Update_ID'];
        $query = select * from product where Product_ID='$Pro_Update_Id';
        $result = mysqli_query($con,$query);

        while($row=mysqli_fetch_assoc($result))
        {
            $data = ;
            $data[0]=$row['Product_ID'];
            $data[1]=$row['Category_ID'];
            $data[2]=$row['Product_Name'];
            $data[3]=$row['Product_Qty'];
            $data[4]=$row['Price'];
            $data[5]=$row['Description'];
        }
            echo json_encode($data);
       }

Hier ist jQuery Datei

function get_pro_record()
{
    $(document).on('click','#p_btn_edit',function()
    {
        var GetPID = $(this).attr('data-id');
        
        $.ajax(
            {
                url: 'includes/products/get_pro_record.php',
                method: 'post',
                data:{Pro_Update_ID:GetPID},
                dataType: 'JSON',
                success:function(data)
                {
                    $('#product_id').val(data[0]);
                    $('#cat_up_id').val(data[1]);
                    $('#product_up_name').val(data[2]);
                    $('#up_Qty').val(data[3]);
                    $('#up_Price').val(data[4]);
                    $('#up_description').val(data[5]);
                    $('#products_update').modal('show');
                }
            })
    })
}

** Hier ist der HTML-Formular **

<form>
 <input type=hidden id=product_id class=form-control my-2 placeholder= Product Name>
 <select name=cat_up_id></select>
 <input type=text id=product_up_name class=form-control my-2 placeholder= Product Name>
 <input type=text id=up_Qty class=form-control my-2 placeholder= QTY>
 <input type=text id=up_Price class=form-control my-2 placeholder= Price >
 <textarea id=up_description class=form-control placeholder=Description></textarea>
 </form>

Ich erhalte vollständige Daten in Konsolenbildschirm, aber ich kann nicht sehen, category_name ich category_id bin zu empfangen. So Bitte sagen Sie mir Was kann ich tun, um das Problem zu lösen.

Hier Output des Projekts in Console Projektausgabe in Console

Veröffentlicht am 27/11/2018 um 17:47
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
0

Zuerst müssen Sie Datenbank von Produkt- und Kategorie Tabelle abzufragen mit Inner Join

$query = "select a.*, b.Category_Name from product a, category b where a.Category_Id = 
          b.Category_Id and Product_ID='$Pro_Update_Id'";

dann müssen Sie $ Daten mit einem weiteren Elemente für Kategorie Namen hinzufügen

 $data[6]=$row['Category_Name'];

dann müssen Sie Optionen Element hinzufügen zu wählen

 $('#cat_up_id').html('<option>' + data[6] + '</option>');    

und Attribut name = "cat_up_id" mit id = "cat_up_id" in select-Tag ersetzen

Beantwortet am 27/11/2018 um 18:03
quelle vom benutzer

stimmen
0

Sonal Bonkar ist richtig Sie müssen Tabelle hier machen schließt sich eine gewisse Korrektur In Ihrem Fall, wie Sie Wert als ID haben müssen, um in der Tabelle zu speichern,

$('#cat_up_id').html('<option value="'+ data[1] +'">' + data[6] + '</option>'); 
Beantwortet am 27/11/2018 um 18:19
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more