如何链接到这个数据库
How to link to this to the database
我创建了一个随机字符串生成器。实际情况是,用户点击一个按钮通过使用字母a和B它将构建一个由3个字母组成的字符串例如:
AAA
AAB
ABA
ABB
BAA
BAB
BBA
BBB
现在我想要的是我的随机字符串生成链接与"SessionId"列,这是在我的数据库的"会话"表中,这些字符串将被存储在。我想要的是按钮生成一个字符串,这不是在数据库中。例如如下(SessionId in Session Table):
Session Id
AAA
AAB
由于这两个会话(字符串AAA和AAB)在数据库中,当单击按钮并生成字符串时,生成器根本不应该显示这两个字符串,因为它们已经在数据库中了。稍后,我希望生成的字符串存储在数据库中,但目前我只想让生成器生成已经在数据库中的字符串。
有没有人知道如何将此链接到我的"会话Id"字段在"会话"表中,并生成不在数据库中的字符串?
我的代码在jsfiddle中,所以你可以看到按钮是如何工作的和使用的代码,点击这里查看
下面是我的php代码,我正在使用的时刻。这个php代码将让我连接到数据库和所有用户在文本框中输入一个courseId,如果courseId在文本框中,那么用户可以输入,否则它将显示一个警告。下面是代码:
<?php
$username="xxxxxxxxxxx";
$password="xxxxxx";
$database="mobile_app";
mysql_connect('localhost',$username,$password);
@mysql_select_db($database) or die("Unable to select database");
foreach (array('courseid') as $varname) {
$courseid = (isset($_POST[$varname])) ? $_POST[$varname] : '';
}
?>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
<p>Course ID: <input type="text" name="courseid" value="<?php echo $courseid; ?>" /><input type="submit" value="Submit" name="submit" /></p> <!-- Enter User Id here-->
</form>
<?php
if (isset($_POST['submit'])) {
$query = "
SELECT cm.CourseId, cm.ModuleId,
c.CourseName,
m.ModuleName
FROM Course c
INNER JOIN Course_Module cm ON c.CourseId = cm.CourseId
JOIN Module m ON cm.ModuleId = m.ModuleId
WHERE
(c.CourseId = '".mysql_real_escape_string($courseid)."')
ORDER BY c.CourseName, m.ModuleId
";
$num = mysql_num_rows($result = mysql_query($query));
mysql_close()
;
?>
更新PHP代码如下:
<?php
$username=xxx";
$password="xxx";
$database="mobile_app";
$is_there = true;
$con = mysql_connect('localhost',$username,$password);
@mysql_select_db($database, $con) or die("Unable to select database");
while( $is_there ){
$id = id_generator(); // your function to generate id;
$result = mysql_query( "SELECT SessionId FROM Session WHERE SessionId = '$id'" );
if( mysql_num_rows( $result ) == 0 ) $is_there = false;
}
foreach (array('courseid', 'sessionid') as $varname) {
$$varname = (isset($_POST[$varname])) ? $_POST[$varname] : '';
}
?>
<h1>CREATING A SESSION</h1>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
<p>Course ID: <input type="text" name="courseid" value="<?php echo $courseid; ?>" /><input type="submit" value="Submit" name="submit" /></p> <!-- Enter User Id here-->
</form>
<?php
if (isset($_POST['submit'])) {
$query = "
SELECT cm.CourseId, cm.ModuleId,
c.CourseName,
m.ModuleName
FROM Course c
INNER JOIN Course_Module cm ON c.CourseId = cm.CourseId
JOIN Module m ON cm.ModuleId = m.ModuleId
WHERE
(c.CourseId = '".mysql_real_escape_string($courseid)."')
ORDER BY c.CourseName, m.ModuleId
";
$num = mysql_num_rows($result = mysql_query($query));
mysql_close();
您在服务器上的代码应该是这样的:
$is_there = true;
$con = mysql_connect( address , user, pass );
mysql_select_db( DATABASE , $con );
while( $is_there ){
$id = id_generator(); // your function to generate id;
$result = mysql_query( "SELECT * FROM your_table WHERE id = '$id'" );
if( mysql_num_rows( $result ) == 0 ) $is_there = false;
}
当在DB中找不到生成的id时,此操作将停止。
<?php
...
@mysql_select_db($database) or die("Unable to select database");
$courseid = "";
while( $is_there ){
$courseid = id_generator(); // your function to generate id;
$query = "
SELECT cm.CourseId, cm.ModuleId,
c.CourseName,
m.ModuleName
FROM Course c
INNER JOIN Course_Module cm ON c.CourseId = cm.CourseId
JOIN Module m ON cm.ModuleId = m.ModuleId
WHERE
(c.CourseId = '".mysql_real_escape_string($courseid)."')
ORDER BY c.CourseName, m.ModuleId
";
if( mysql_num_rows( $result = mysql_query($query) ) == 0 ) $is_there = false;
}
mysql_close();
echo "You generated code id: " . $courseid;
?>...
如果你想要做的是生成一个随机的会话ID,它还没有在你的数据库中,那么你可能需要创建一个服务器方法来生成一个新的会话ID,它创建一个不在数据库中的ID,并使用ajax调用从服务器检索这个新的会话ID。
如果您尝试将所有现有的ID获取到客户端,然后在客户端上生成一个新的ID,您将打开自己的竞争条件,允许客户端都具有相同的ID(因为它们都在同一时间创建一个ID)。这种类型的操作应该在服务器上使用适当的锁来完成,以避免竞争条件。如何在服务器上实现它取决于您使用的数据库/服务器框架。
- 如何使用angularjs在iframe中嵌入来自数据库的视频链接
- angular.js从数据库中获取链接
- 将数据库中的超链接添加到查询结果
- 知道点击了什么链接添加到数据库中
- Php菜单查询数据库并显示文本/链接
- 如何设置从数据库到php会话的id点击链接
- 带有来自数据库的动态链接的花式框 href (asp.net)
- graph.facebook 获取名称和链接并发送到数据库
- 如何在数据库值达到一定数量后禁用图像链接
- 如何为数据库中的不同记录/行创建用户生成的链接列表,这些记录/行在单击时填充 html 表单
- 如何使用web2py和SQLite创建与数据库的超链接
- 从数据库中获取电子邮件值并发送(PHP电子邮件)/刷新页面,而无需更改网站链接
- jQuery动态内容链接通过php从SQL数据库加载URL,但在刷新时不会加载
- 在单击链接时运行数据库查询,但仍加载链接URL
- 链接未使用ajax/jquery从数据库加载数据
- 从文本区域或分区在数据库中插入/显示可点击链接
- 如何在文本框中显示链接,并让按钮将其保存到数据库中
- 将文本转换为动态超链接或将其存储在数据库中
- Symfony2使用数据库参数创建dynamc链接
- "取消链接"从数据库中回显结果