1 時間ごとに実行する cron ジョブを設定しています。フィールド ID に基づいてデータベース内の各ユーザーから値を取得するには、以下のスクリプトが必要です。
フィールド 18 は、0 ~ 10 の値を持つドロップダウンです。以下の PHP では、フィールド 18 の値に基づいて $val を更新したいと考えています。次に、各ユーザーのデータベースのフィールド 45 に $val を渡します。
すべてが機能します。ただし、すべてのユーザーに挿入される値は、LAST ユーザーの情報のみに基づいています。データベースの最後のユーザーのフィールド 18 は 4 に設定されているため、2920 がすべてのユーザーのフィールド 45 に送信されます。私は何を間違っていますか?
また...これは、潜在的なSQLインジェクションなどには適していないことを認識しています。それに取り組む前に、機能を設定しようとしています。
<?php
// Create connection
$con=mysqli_connect("host","username","password","database");
// Check connection
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$getvalue = mysqli_query($con,"SELECT value FROM mydatabase WHERE thefieldid=18");
while ($row = mysqli_fetch_array($getvalue)) {
foreach($row as $rows) {
$num = $rows['value'];
if ($num == 0) {
$val = '660'; }
if ($num == 1) {
$val = '990'; }
if ($num == 2) {
$val = '1590'; }
if ($num == 3) {
$val = '1955'; }
if ($num == 4) {
$val = '2920'; }
if ($num == 5) {
$val = '3885'; }
if ($num == 6) {
$val = '4850'; }
if ($num == 7) {
$val = '5400'; }
if ($num == 8) {
$val = '3885'; }
if ($num == 9) {
$val = '5400'; }
if ($num == 10) {
$val = '7200'; }
echo $num;
mysqli_query($con, "UPDATE mydatabase SET value = $val WHERE thefieldid = 45");
}
}
?>