Необходимо обновить массив данных после оператора select - PullRequest
0 голосов
/ 16 августа 2011

У меня есть оператор SELECT (см. Ниже), который получает несколько элементов из базы данных mysql и отображает их.

Мне нужен сценарий для обновления выбранных элементов, как только они будут выбраны с помощью переменной агента, поэтому, когда другой пользователь запускает тот же сценарий, он получает только записи, для которых не назначен агент.

По сути, мне нужно запустить команду обновления, но только для записей, которые были получены этим оператором select.

$agent = $_GET['agent'];
$con = mysql_connect($host,$user,$pass);
$dbs = mysql_select_db($databaseName, $con);
$result = mysql_query("SELECT * FROM $tableName WHERE processed = '0' AND agent IS NULL LIMIT 5");
$array_data = array();
while ($row = mysql_fetch_array($result)){
    $array_data[] = array($row[0], $row[1], $row[2], $row[3], $row[4]);
}
echo json_encode($array_data);

1 Ответ

0 голосов
/ 16 августа 2011

увеличьте ваше время с помощью этого:

while ($row = mysql_fetch_array($result)){
        $array_data[] = array($row[0], $row[1], $row[2], $row[3], $row[4]);
        mysql_query("UPDATE $tableName SET agent = 'whateverValueYouNeedHere' WHERE primary_key = $row[theNumberOfYourPrimaryKey]");
}

В вышеупомянутом запросе выбора вы должны убедиться, что первичный ключ также выбран (возможно, его $row[0]). Затем вы можете обновить запись по первичному ключу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...