简体   繁体   中英

PHP: MSSQL Query for multiple fields on one page

I am new to PHP, and have a web form, that I am using PHP to get data from the database. What I have currently done, as I havent been able to find out another solution to do so (despite my searching - probably dont know the correct terms to look for), is individually executing a SQL Query for each input field on my form. As below:

            <div class="search-line">
                <div class="search-option">
                    <label>Asset Tag:<i title=""></i></label>

                    <?php

                    $asset_tag_sql = "SELECT HardwareAsset.HardwareAssetAssetTag FROM HardwareAsset WHERE HardwareAssetID = '".$_SESSION["HardwareAssetID"]."'";
                    $asset_tag = sqlsrv_query($database_connection, $asset_tag_sql);

                    ?>

                    <input type="text" id="AssetTag" disabled value="<?php while ($asset_tag_option = sqlsrv_fetch_object($asset_tag)){echo $asset_tag_option->HardwareAssetAssetTag;} ?>" />
                </div>
                <div class="search-option">
                    <label>Serial Number:<i title=""></i></label>

                    <?php

                    $serial_number_sql = "SELECT HardwareAsset.HardwareAssetSerialNumber FROM HardwareAsset WHERE HardwareAssetID = '".$_SESSION["HardwareAssetID"]."'";
                    $serial_number = sqlsrv_query($database_connection, $serial_number_sql);

                    ?>

                    <input type="text" id="SerialNumber" disabled value="<?php while ($serial_number_option = sqlsrv_fetch_object($serial_number)){echo $serial_number_option->HardwareAssetSerialNumber;} ?>" />
                </div>
            </div>

Is there anyway to have one PHP piece of code to do one SQL query and then use that to fetch and echo the value for both input fields, as opposed to the two above?

Try it like this?

<?php
$asset_sql = "SELECT HardwareAsset.HardwareAssetAssetTag,HardwareAsset.HardwareAssetSerialNumber FROM HardwareAsset WHERE HardwareAssetID = '".$_SESSION["HardwareAssetID"]."'"
$asset_result = sqlsrv_query($database_connection, $asset_sql);
$asset_data = sqlsrv_fetch_object($asset_result);
?>

<div class="search-line">
    <div class="search-option">
        <label>Asset Tag:<i title=""></i></label>
        <input type="text" id="AssetTag" disabled value="<?php echo $asset_data->HardwareAssetAssetTag; ?>" />
    </div>
    <div class="search-option">
        <label>Serial Number:<i title=""></i></label>
        <input type="text" id="SerialNumber" disabled value="<?php echo $asset_data->HardwareAssetSerialNumber; ?>" />
    </div>
</div>

Why not just select two fields from the initial query like this:

$serial_number_sql = "SELECT HardwareAsset.HardwareAssetSerialNumber, 
HardwareAsset.HardwareAssetAssetTag FROM HardwareAsset WHERE 
HardwareAssetID = '".$_SESSION["HardwareAssetID"]."'";

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM