【发布时间】:2014-09-03 19:07:51
【问题描述】:
我正在为我的 php 网站开发一个项目,该项目需要从表单中获取用户输入并将其与存储在数据库表中的值进行比较。我是 php 新手,但我的 Objective-C 部分说我应该使用字典。我发现了很多关于数组的教程,没有关于字典的教程,而且它们都破坏了我的代码并且在页面上什么也没有显示。我应该使用数组还是字典,我做错了什么?示例表如下。
+------------------------------+
| codes |
+----+--------------+----------+
| id | access_codes | code_used|
+----+--------------+----------+
| 0 | FS1 | NO |
+----+--------------+----------+
| 1 | FS2 | NO |
+----+--------------+----------+
index.php:
<?php
require_once('../../config.php');
?><!DOCTYPE html>
<html>
<head>
<title>Redeem Code</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<script>
function SubmitForm() {
//Javascript needed?
}
</script>
-->
</head>
<body>
<form action="?checkCode" method="Post">
<p>Access Code: </p><input type="text" name="lname"><br>
<input type="submit" value="Submit">
</form>
</body>
<html>
<?php
function checkCode() {
$result = mysqli_query($con,"SELECT access_codes FROM codes");
while($row = mysql_fetch_array($result)){
$access_code=$row['access_codes'];
$code_array[] = $access_code;
}
echo $code_array;
mysqli_close($con);
}
?>
编辑:
<?php
require_once('../../config.php');
$con=mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT access_codes FROM codes");
while($row = mysql_fetch_array($result)){
$access_code=$row['access_codes'];
if ( array_key_exists( $access_code, $code_array ) ) {
$code_array[$access_code] ++;
}
else {
$code_array[$access_code] = 1;
}
}
foreach ($code_array as $access_code => $count) {
echo sprintf("<tr> <td> %1$s </td><td> %2$d </td></tr>", $access_code, $count);
}
mysqli_close($con);
?>
【问题讨论】:
-
在 PHP 中,数组 是 字典 - 除非我误解了您对“字典”的定义。
标签: php arrays dictionary mysqli