[英]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.