سؤال

هذا هو رمز PHP بالكامل:

<?php if(empty($_POST['selid']))
        {echo "no value selected";  }
        else 
        {
            $con = mysql_connect("localhost","root","");
            if(mysql_select_db("cdcol", $con))
                {
                    $sql= "SELECT * FROM products where Id = '$_POST[selid]'";

                    if($result=mysql_query($sql))
                    {   

                        echo "<form name=\"updaterow\" method=\"post\" action=\"dbtest.php\">";
                        while($row = mysql_fetch_array($result))
                        { 
                        echo "Id :<input type=\"text\" name=\"ppId\" value=".$row['Id']." READONLY></input></br>";
                        echo "Name :<input type=\"text\" name=\"pName\" value=".$row['Name']."></input></br>";
                        echo "Description :<input type=\"text\" name=\"pDesc\" value=".$row['Description']."></input></br>";
                        echo "Unit Price :<input type=\"text\" name=\"pUP\" value=".$row['UnitPrice']."></input></br>";
                        echo "<input type=\"hidden\" name=\"mode\" value=\"Update\"/>";

                        }
                        echo "<input type=\"submit\" value=\"Update\">";
                        echo "</form>";
                    }
                    else {echo "Query ERROR";}
                }
        }
?>

مشكلة هنا ، .... إذا كانت القيمة التي أحصل عليها من قاعدة البيانات باستخدام mysql_fetch_array($result) مثل: (قل الوصف :) "منتجي"

ومن بعد؛ في مربع الإدخال يظهر فقط "لي" الكلمة (أو الرقم) بعد "الفضاء" (أي مساحة فارغة) لا يتم عرضها؟ هل يمكن لمربع الإدخال كما أعلاه عرض البيانات بكلمتين أو أكثر (مفصولة بمساحات فارغة)؟

هل كانت مفيدة؟

المحلول

echo "Unit Price :<input type=\"text\" name=\"pUP\" value=\"".$row['UnitPrice']."\"></input></br>";

تحتاج إلى إرفاق value في اقتباسات.

نصائح أخرى

ليس لدى محلل HTML أي وسيلة لمعرفة ذلكu003Cinput value=abc def...> يعني القيمة =abc def. يجب أن يحل محلها كسمتين ، السمة value مع القيمة abc والسمة def بدون قيمة.

عليك أن ترفق القيمة في عروض الأسعار ، على سبيل المثالu003Cinput value="abc def" ...>
عليك أيضًا تشفير "كـ" ضمن القيمة. وإلا فإن محلل HTML سوف يتم الخلط بينه مرة أخرى ، لأنه ليس لديه طريقة لمعرفة أن الثانية "في value =" ABC "DEF" ليست عبارة عن جزء من المحتوى. يمكنك استخدام htmspecialchars () لهذا.

على سبيل المثال

while($row = mysql_fetch_array($result))
{
  printf('
    Id :<input type="text" name="ppId" value="%s" READONLY></input><br>
    Name :<input type="text" name="pName" value="%s"></input><br>
    Description :<input type="text" name="pDesc" value="%s"></input><br>
    Unit Price :<input type="text" name="pUP" value="%s"></input><br>";
    <input type="hidden" name="mode" value="Update"/>',
    htmlspecialchars($row['Id']),
    htmlspecialchars($row['Name']),
    htmlspecialchars($row['Description']),
    htmlspecialchars($row['UnitPrice'])
  );
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top