以前はうまくいきましたが、誰かがコードを変更したことがありました。多分デバッグした後に問題を検出できないので、誰かが助けてくれることを願っています。このPHP-MySQLコードが正しく動作しないのはなぜですか?
私は、ユーザーがオプションのセットを選択し、フォーム提出時に、これらのオプションを配列内にPOSTSで完全にうまく動作させるHTMLフォームを用意しています。それから私はMySQLテーブルに配列の要素を書いています。これが問題の発生場所です。私のコードは以前はうまくいきましたが、今はすべて変です。何らかの理由で出力が混ざり合ってしまいます。
以下は、渡された配列値とその後の配列の出力です。ここで
MySQLへの配列の値を書き込み、私のコードです:ここでは
error_reporting(-1);
$arr=$_POST["itemsToAdd"];
$cal=$_POST["calendar"];
print_r($arr);
// Make a MySQL Connection
//empty table first to remove any previous old on-calls stored.
$query = "truncate table ProdOnCallSetup";
if(mysql_query($query)){
}
else{
}
foreach ($arr as &$value) {
// Insert a row of information into the table "ProdOnCallSetup"
mysql_query("INSERT INTO ProdOnCallSetup
(Email) VALUES('$value') ")
or die(mysql_error());
}
は、コードの出力を与えることやMySQLの行を表示している:
<ol class=”list_style”>
<?php
//make MySQL connection
$query = "SELECT * FROM ProdOnCallSetup";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo "<li>".$row['Email']."</li>";
echo "<br />";
}
?>
</ol>
参照してください。ここの問題?私はそれらを表示するときにMySQLで正しい順序でそれらを書きますが、注文は混ざります。ご注文はジャスティン、Achau、Chellatamby私はエコーあなたは、特にあなたのSELECT文でORDER BY句を使用しない限り、行が返される順序は、不定あるうちDBからそのAchau、Chellatamby、ジャスティン
私は電子メールで注文しましたが、それでも何もしませんでしたが、私はテーブルの電子メール列を自動インクリメントしています。 EDIT:アルファベット順の電子メール名に基づいて注文することを意味しますが、オートインクリメントもありますが、DBに追加した順序で列を返すのはどうですか? – Bulvak
SELECTステートメントでORDER BY pidを使用します(pidはオートインクリメントの列に付けた名前です)....電子メールの列ではありません。これは絶対的な基本であるため、MySQLの使い方についてのチュートリアルをいくつか紹介します。 –
MySQLテーブルのIDを取得してIDセットを取得するにはどうしたらいいですか?私はしばらく前からauto_incrementがすべての変数タイプをサポートしていません。 – Bulvak