임의의 문자열 생성기를 만들었습니다.데이터베이스에 연결하는 방법
AAA
AAB
ABA
ABB
BAA
BAB
BBA
BBB
이제 내가 원하는 무엇으로 연결하는 내 임의의 문자열 생성은 다음과 같습니다 무슨 일 사용자가 버튼과 사용 문자로 클릭하고 예를 들어 다음과 같은 세 문자로 구성된 문자열을 구성합니다 B 것입니다 "SessionId"열은 내 데이터베이스의 "Session"테이블에 있으며이 문자열은 저장됩니다. 원하는 것은 단추가 데이터베이스에없는 문자열을 생성하는 것입니다. 예를 들어 (세션 표에서 세션 ID) 아래에 보이는 : 버튼을 클릭하고 생성 할 때이 두 세션 (문자열 AAA 및 AAB)로
Session Id
AAA
AAB
발전기가 모두이 두 문자열을 표시해서는 안 데이터베이스에있는 문자열은 이미 데이터베이스에 있습니다. 나중에 나는 genrated 문자열을 데이터베이스에 저장하고 싶지만 현재는 제너레이터가 이미 데이터베이스에있는 문자열을 생성하기를 원합니다.
누구든지 이것을 "세션"테이블의 "세션 ID"필드에 연결하고 데이터베이스에없는 문자열을 생성하는 방법을 알고 있습니까? 버튼 작동 및 사용되는 코드는,
아래 나는 순간에 사용하고 내 PHP 코드는 볼 수 here을 클릭하는 방법을 볼 수 있도록
내 코드 jsfiddle입니다. 이 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();
죄송합니다. 내 두뇌가 도망 갔다. 너 뭐하려고? (인형 설명) –
@MichaelSazonov ... 연말 연시입니다. 내 두뇌는 또한이시기에 느슨해지는 경향이 있습니다. – rdlowrey
난 세션 테이블을 포함하는 데이터베이스가 있습니다. 세션 테이블 내부에는 세션 ID가 있습니다. SessionId는 선택된 이전에 생성 된 문자열에 저장합니다. 이제 "AAA"와 같은 문자열이 이미 데이터베이스에 있으면 사용자가 새 문자열을 생성 할 때 이미 가져온 문자열 ("데이터베이스에 이미 저장되어 있음")을 생성하지 않습니다. 이렇게 정확하게 작업해야합니다. – BruceyBandit