Результаты PHP не получают базу данных MySQL - PullRequest
2 голосов
/ 15 мая 2019

Я не понимаю PHP и SQL. Мы только соскребли это в конце семестра, и это расстраивает меня. Я пытаюсь, чтобы на моей странице результатов отображалась правильная информация, но, на мой взгляд, ничего не получится. Я явно что-то не так, и мне было интересно, могу ли я получить какую-то помощь.

Начальная страница

(обычная вершина основной веб-страницы здесь)

    <form id="ClubForm" action="ClubMembersResults.php" method="get">

    <?php            
        require_once ('dbtest.php');
        $query= "SELECT * FROM tblMembers ORDER BY LastName, FirstName, MiddleName;";
        $r = mysqli_query($dbc, $query);
        if (mysqli_num_rows($r) > 0) {
            echo '<select id="memberid" name="memberid">';
            while ($row = mysqli_fetch_array($r)) {
                echo '<option value="'.$row['LastName'].'">'
                        .$row['LastName'].", ".$row['FirstName']." ".$row['MiddleName']. '</option>';
            }
            echo '</select>';
        } else {
            echo "<p>No Members found!</p>";
        }
    ?>
    <input type="submit" name="go" id="go" value="Go" />
    </form>
    <div id="results"></div>
</body>

страница результатов в настоящее время записывается как:

<?php
        $memid = 0;
        $memid = (int)$_GET['memberid'];
        if ($memid > 0) {

            require_once ('dbtest.php');
            $query = "SELECT * FROM tblMembers WHERE MemID = $memid;";
            $r = mysqli_query($dbc, $query);`enter code here`
            if (mysqli_num_rows($r) > 0) {
            $row = mysqli_fetch_array($r);
            echo "<p>Member ID: ".$row['MemID']."<br>";
            echo "Member Name: ".$row['LastName'].", ".$row['FirstName']." ".$row['MiddleName']."<br>";
            echo "Member Joined: ".$row['MemDt']."<br>";
            echo "Member Status: ".$row['Status']."<br></p>";
            }else {
                echo "<p>Member not on file.</p>";
            }
            //table for inverntory
            echo "<table border='1'>";
            echo "<caption>Transaction History</caption>";
            echo "<tr>";
            echo "<th>Purchase Dt</th>";
            echo "<th>Trans Cd</th>";
            echo "<th>Trans Desc</th>";
            echo "<th>Trans Type</th>";
            echo "<th>Amount</th>";                
            echo "</tr>";
            $query2 = "SELECT p.Memid, p.PurchaseDt, p.TransCd, c.TransDesc, p.TransType, p.Amount
                       FROM tblpurchases p, tblcodes c
                       WHERE p.TransCd = c.TransCd AND p.MemId = 'member id'
                       ORDER BY p.MemId, p.PurchaseDt, p.TransCd
                       ";
            $r2 = mysqli_query($dbc, $query2);
            while ($row = mysqli_fetch_array($r2)) {
                echo "<tr>";
                echo "<td>".$row['PurchaseDt']."</td>;";
                echo "<td>".$row['TransCd']."</td>";
                echo "<td>".$row['TransDesc']."</td>";
                echo "<td>".$row['TransType']."</td>";
                echo "<td>".$row['Amount']."</td>";
                echo "</tr>";
            }
            echo "</table>";                
        } else {
            echo '<p>No Member ID from form.</p>';
        }
?>

На странице результатов должны отображаться таблицы с информацией в областях TH и TR / TD. Обе эти области происходят из отдельной таблицы SQL, и единственное похожее поле между tblmembers и tblpurchases - это MemID.

1 Ответ

0 голосов
/ 15 мая 2019

Вам необходимо использовать join в вашем запросе sql, чтобы показать покупки участников.

  SELECT m.Memid, p.PurchaseDt, p.TransCd, 

                   FROM tblpurchases p join 
  tblmembers m on p.MemId=m.MemId

Это пример объединения

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