繁体   English   中英

从mysql pdo创建带有选项的select

[英]create select with options from mysql pdo

我想从数据库中创建一个select categoryName,并在html框中显示结果,并为每个用户提供选项...我不知道为什么select没有显示任何内容...我知道那是一个“块” ,但我不知道在哪里(因为它不再显示日期框)。 我已经尝试过stackoverflow的其他解决方案,但是仍然无法使用。 我将不胜感激

<?php
     session_start();
?>

<!DOCTYPE html>

<HTML>
    <HEAD>
        <title>BMA.WALLET</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

        <link rel="stylesheet" type="text/css" href="../css/page-style.css">
        <link rel="stylesheet" type="text/css" href="../css/account-style.css">
        <link rel="stylesheet" type="text/css" href="../css/login-style.css">
        <link rel="stylesheet" type="text/css" href="../css/expense-operation-style.css">
        <link rel="stylesheet" type="text/css" href="../css/income-operation-style.css">

        <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
        <link href='https://fonts.googleapis.com/css?family=Roboto:400,100,300,100italic,300italic,400italic,500,500italic,700,700italic,900,900italic&subset=latin,latin-ext' rel='stylesheet' type='text/css'>

        <link rel="shortcut icon" href="../img/wallet.png"/>
    </HEAD>

    <BODY>
        <div id="wrapper">
        <div class="center" id="HEADER">
            <h1><span>BMA.</span>WALLET</h1>
            <div class="motto">Cu noi știi unde ți-au zburat banii!</div>
            <div class="main-menu">
                <ul>
                    <li><a href="Facilities.html"><img src="../img/facilities.png" width="40" alt="logout icon" title="Facilități"></a></li>
                    <li><a href="myAccount.html"><img src="../img/report.png" width="40" alt="logout icon" title="Rapoartele tale"></a></li>
                    <li><a href="groupPage.html"><img src="../img/group.png" width="40" alt="logout icon" title="Grupurile tale"></a></li>
                    <li><a href="Settings.html"><img src="../img/settings.png" width="40" alt="settings icon" title="Setările tale"></a></li>
                    <li><a href="#"><img src="../img/iconLogout.png" width="40" alt="logout icon" title="Deconectează-te!"></a></li>
                </ul>
            </div>
        </div>
        <div id="CONTENT" class="center">
            <div class="header-shadow">
                <img src="../img/shadow.png" alt="decorative - header shadow">
            </div>

            <div class="operation-content">
                <img src="../img/addtowallet.png" alt="wallet">
                <form action="../php/operations.php" method = "post">
                    <label>Introduceți suma:</label>
                    <input type="number" min="1" name = "incomeSum" required><br>
                    <label>Alegeți o categorie:</label>
                    <select name="incomeCat">   
                        <?php
                            require('Connection.php');
                            try {


                                $session = $_SESSION['user'];


                                $sql = $conn->prepare("SELECT categoryName FROM Categories WHERE ID_User = :ID_User");
                                $sql->execute();
                                $result = $sql->fetchAll();


                            if ( count($result) ) { 

                                print '<select id="incomeCat">';
                                foreach ($result as $row) {
                                    echo '<option value="'.$row['incomeCatList'].'">'.$row['incomeCatList'].'</option>';
                                }
                                print '</select>';
                                print '<input type="submit" value="Submit">';

                                } else {
                                    echo "No rows returned.";
                                }
                            } catch(PDOException $e) {
                                echo 'ERROR: ' . $e->getMessage();
                            }


                        ?>

                    <br><label>Selectați data:</label>
                    <input type="date" max="1990-12-31"  name ="incomeDate" required><br>
                    <input type="submit" name="addSubmit" value="adaugă">
                </form>
            </div>

        </div>

        <div class="center" id="FOOTER">
            <div class="social-media">
                <p>Iti place proiectul nostru?</p>
                <p><span>Impartaseste-l cu prietenii!</span></p>
                <a href="http://www.facebook.com" target="_blank"><img src="../img/fbMedia.png" width="50" alt="Facebook Page"></a>
                <a href="http://www.twitter.com" target="_blank"><img src="../img/twitterMedia.png" width="50" alt="Twitter Page"></a>
            </div>

            <div class="contact">
                <h1>Contact</h1>
                <p>Ai vreo problema sau o recomandare pentru noi?</p>
                <p>Nu ezita sa ne contactezi!</p>
                <p>contact@bmawallet.com</p>
            </div>

            <div class="group-shortcut">
                <p>Creează un grup pentru a gestiona cheltuielile împreună cu prietenii!</p>            
                <div class="small-footer-button"><a href="createGroup.html">Creează un grup</a></div>
                <p>Ai deja un grup? Intră acum și vezi ce au mai făcut membrii.</p>         
                <div class="small-footer-button"><a href="myGroups.html">Verifică grupurile tale</a></div>  
            </div>
        </div>
    </div>
    </BODY>
</HTML>

您正在使用占位符,但未绑定任何东西。 尝试:

$sql = $conn->prepare("SELECT categoryName FROM Categories WHERE ID_User = :ID_User");
$sql->execute(array(':ID_User' => $session));
$result = $sql->fetchAll();

注意执行中的array(':ID_User' => $session) ,这array(':ID_User' => $session) SESSION值与您的查询绑定。

有关使用PDO准备的语句的更多信息,请参见http://php.net/manual/en/pdo.prepared-statements.php

此外,如果您需要该值,则查询应选择incomeCatList 当前,您正在选择categoryName ; 或者也许incomeCatList应该是该列的别名?

我试图重新制作您的项目,但我发现您必须使用“” require("Connection.php");来编写require require("Connection.php"); ,还请确保在foreach中使用列名,例如foreach ($result as $row) { print '<option value="'.$row['categoryName'].'">'.$row['categoryName'].'</option>'; } foreach ($result as $row) { print '<option value="'.$row['categoryName'].'">'.$row['categoryName'].'</option>'; }还请确保您的文件扩展名为.php,它是与Connection.php文件相同的文件夹

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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