2016-04-25 2 views
0

PHPのIF文を使用してMySQLテーブルを作成しようとしています。 IF文を使用してテーブルを作成することができます。私が実行している問題は、日付が> = Xのときに表が作成されるということですが、文を指定する方法とは異なります。もし日付が== Xの場合はPHPを使用してSQLテーブルを作成する方法IF日付がXに等しい

日付が== X、 の場合、どうすればこのSQLテーブルを自動的に作成できますか?テーブルデータがあるページに移動することなくこのテーブルを作成する方法があります表示され、ページを更新しますか?ここで

は私のコードです:

$timezone  = date_default_timezone_set('America/Chicago'); 
$TheDate  = time("F j, g:i a"); 

$servername = "server"; 
$username = "user"; 
$password = "pass"; 
$dbname = "db"; 
$conn = mysqli_connect('server', 'user', 'pass'); 
(!$conn->set_charset("utf-8")); 

if (!$conn) { 
    die("Connection failed: " . mysqli_error()); 
} 
mysqli_select_db($conn, $dbname); 

if ($TheDate == strtotime("April 24, 9:53 pm")) { 

$CreateTable = "CREATE TABLE issue11 (
ID INT(5) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
First VARCHAR(40) NOT NULL, 
Last VARCHAR(40) NOT NULL, 
Title VARCHAR(50) NOT NULL, 
StoryLink VARCHAR(140) NOT NULL, 
Genre VARCHAR(11) NOT NULL, 
About VARCHAR(2000) NOT NULL, 
Link VARCHAR(125) NOT NULL, 
Picture VARCHAR(500) NOT NULL, 
ALT VARCHAR(100) NOT NULL 
)"; 


mysqli_query($conn, $CreateTable); 
mysqli_close($conn); 
} 
+1

これは非常に工夫されているようです。 4月24日に丁度午後9時53分に毎年1回だけテーブルを作成するのはなぜですか(早くも遅くもない!)?テーブル*を一度作成してから、後で適切な値を追加、変更、または削除するのがより一般的です。 – cars10m

答えて

1

実際に上記のコードに問題がない、
ます場合、条件にのみ動作する場合の主な問題は、コード内

ですこのページを
「平等のために指定した日付」(April 24、9:53 pm)で実行してください。どのようにすることができますか?時間が絶えず変化していることを意味します。を使用してPHPだけ。


アイデアは、Ajax
一つの方法を行うための効果的かつ効率的な方法上記のコードを各第二を実行するためのAJAXリクエストを作ることであり、そのことを使用AJAX呼び出し
を使用することです。
もう1つの方法は、クライアント側でチェックを行い、ifが上記のコードを記述したページへのajax呼び出しを使用してtrueを返すときだけ操作(create table)を行うことです。

+0

したがって、このコードは正確に4月24日午後9時53分にテーブルを作成しますか?後でもう一回ですか?自分のコードでIF文の中に秒を指定しなかった。私はその1分の間にリフレッシュしてテーブルを作成できると思った。 – Marlon

+0

秒の場合、デフォルトでは「00」になります。指定する必要はありません。 – Sachin

+0

もしあなたが望むものを達成するために 'if($ TheDate> = strtotime(" April 24、9:53 pm ")&&($ TheDate <= strtotime(" April 24、9:54 pm ")) 。 – Sachin

関連する問題