Заполните выпадающий список PHP с отдельным запросом SQL - PullRequest
0 голосов
/ 23 октября 2018

У меня есть форма, которая позволяет пользователям обновлять транзакции своих клиентов.Эта форма заполняется информацией, уже указанной для транзакции.Я хочу иметь выпадающий список для имен клиентов, чтобы они могли выбрать существующего клиента.

Моя проблема в том, что sql для заполнения ответов существующей информацией конфликтует с sql, чтобы вызвать имена клиентов в базе данных.

Есть ли способ сделать это?Вот код, который у меня есть, который выводит заполненные ответы:

<table> 

<?php
if (!isset ($p_submitval))
{
    $sql = "SELECT crid, c.custid, 
firstname, lastname, cramount, crdate
            FROM databau7_thomand.customer 
c inner join databau7_thomand.cashrec r on 
c.custid = r.custid WHERE crid= " . 
$p_crid;
    $result = mysqli_query($con, $sql);
    while($row = 
mysqli_fetch_array($result))

    echo "<h2>Update Customer 
Information</h2>\n";
echo "<p><i>Please update the customer information.</i><br>\n";
echo "<form action=\"web4_transactioninput.php\" method=post>\n";
echo "<input type=\"hidden\" name=\"crid\" value = \"$p_crid\">\n";
echo "<table border=\"3\"> \n";

echo "<td align=\"right\"><b>Customer Name: 
</td>";
    echo "<td><select name=\"custid\" 
class=\"dropdown\">";
    echo "<option value=\"0\" selected> 
".$row['firstname']." ".$row['lastname']."  
</option>\"";
    echo "<tr>\n<td align=\"right\">\n";
    echo "<b>Amount:</b>\n";
    echo "</td>\n<td>\n";
    echo "<input type=\"text\" 
name=\"cramount\"size=\"30\"  
value=\"".$row['cramount']."\">\n";
    echo "</td>\n</tr>\n";echo "<tr>\n<td 
align=\"right\">\n";
    echo "<b>Date:</b>\n";
    echo "</td>\n<td>\n";
    echo "<input type=\"date\" 
name=\"crdate\"size=\"30\"  
value=\"".$row['crdate']."\">\n";
    echo "</td>\n</tr>\n";echo "<tr>\n<td 
align=\"right\">\n";

}
    while($row = 
mysqli_fetch_array($result))

    echo "</select>\n</td>\n</tr>\n";
    echo "</table>\n"; 

Спасибо за помощь!

1 Ответ

0 голосов
/ 23 октября 2018

Удалить ALLLLLL эхо "...";для HTML-части, как вам это не нужно.Просто рекомендация.Намного более чистый и ненужный

Вы также должны использовать подготовленные операторы, так как вставка переменной небезопасна, если параметр небезопасен.

Это действительно грубый пример, но проверьте это следующим образом:

<table> 

<?php
if (!isset ($p_submitval)){

    $sql = "
SELECT crid
     , c.custid
     , firstname
     , lastname
     , cramount
     , crdate
  FROM databau7_thomand.customer c 
  JOIN databau7_thomand.cashrec r 
    on c.custid = r.custid 
 WHERE crid= ?;
";

    $stmt = $con->prepare($sql);
    $stmt->bind_param("s",$p_crid);
    $stmt->execute();
    $stmt->bind_result($crid,$custid,$fname,$lname,$cramount,$crdate);
    $stmt->store_result();

?>
<h2>Update Customer 
Information</h2>";
<p><i>Please update the customer information.</i><br>
<form action="web4_transactioninput.php" method=post>
<input type="hidden" name="crid" value = "<?php echo $p_crid;?>">
<table border="3"> 

<td align="right"><b>Customer Name: </td>
<td><select name="custid" class="dropdown">";
    <?php
       echo "<option value=\"0\" selected> $fname $lname</option>";
    ?>'
 <tr><td align="right">
    <b>Amount:</b>
    </td><td>
    <input type="text" name="cramount"size="30"  value="<?php echo $cramount;?>">;


<?php
    $stmt->close();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...