Отдельные записи в xsl для дальнейшей передачи и изменения в php - PullRequest
0 голосов
/ 08 мая 2018
<xsl:for-each select="items/item[itemStatus='in_progress']">
        <div style="background-color: #00ccff; border: 2px solid black; padding-bottom: 10px; margin-bottom: 15px; width: 500px; padding-left: 20px">
        <p><b>Item ID: </b><xsl:value-of select="./itemID" /></p>
        <p><b>Item Name: </b><xsl:value-of select="./itemName" /></p>
        <p><b>Category: </b><xsl:value-of select="./category" /></p>
        <p><b>Buy It Now Price: </b><xsl:value-of select="./BINPrice" /></p>
        <p><b>Bid Price: </b><xsl:value-of select="./startPrice" /></p>
        <p><b>Duration: </b><xsl:value-of select="./duration" /></p>
        <button type="button" style="margin-right: 10px" onclick="updateXML()">Place Bid</button>
        <button type="button" onclick="">Buy It Now</button>
        </div>
</xsl:for-each>

После форматирования XML с кодом выше я получаю следующий результат: нажмите

Все круто. Следующим шагом я хочу изменить "цену предложения", взяв ввод с помощью prompt (), передав его php и обновив старую "цену предложения" в .xml на новую из prompt (). Код в php:

<?php
    // preparing xml file
    session_start();
    $xmlFile = "auction.xml";
    $doc = new DOMDocument("1.0");
    $doc->preserveWhiteSpace = false;
    $doc->formatOutput = true;

     //update details
    $customerID = $_SESSION['use'];
    $newBid = $_REQUEST['newBid'];

    $unique = true;



    if (($unique == true))
    {
        $xmlFile = "auction.xml";
        $doc = new DOMDocument("1.0");
        $doc->preserveWhiteSpace = false;
        $doc->formatOutput = true;
        $doc->load($xmlFile);
        $thedocument = $doc->documentElement;

        $item = $doc->getElementsByTagName("item");
        $items = $doc->getElementsByTagName("items")->item(0);

          // checking each customer in xml file
         foreach($item as $node)
        {
            $XMLcustomerID = $node->getElementsByTagName("customerID");
            $XMLcustomerIDValue = $XMLcustomerID->item(0)->nodeValue;

            $XMLstartPrice = $node->getElementsByTagName("startPrice");
            $XMLstartPriceValue = $XMLstartPrice->item(0)->nodeValue;

            $XMLcustomerID->item(0)->nodeValue = $customerID;
            $XMLstartPrice->item(0)->nodeValue = $newBid;
            $saveXML =  $doc->save($xmlFile);
        }
    }
?>

Как вы, возможно, уже поняли, он изменяет значения "Bid price" для всех записей в xml, а не только для той, где я нажимал "Place Bid". Что я должен изменить в своем коде, чтобы можно было изменять только цену Bid определенной записи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...