2013-05-09 3 views
0

Я хочу создать простую PHP страницу с MySQL Backend, в котором есть одна таблица со следующей структурой:Как обновить таблицу на основе PHP массива

PKey телефон имя используется

Он содержит 55K, я хочу отобразить таблицу с 3000 записями и нажать кнопку, которая при нажатии будет обновлять столбец «used» этих отображаемых записей.

Я могу получить и заполнить таблицу и поместить значения в массив, мне просто нужна помощь в том, как обновлять эти записи.

справка приветствуется.

+0

Вы возвращаете случайные или последовательные строки? Если последовательные строки, единственное, что нужно передать кнопке, это начальная и конечная строки (которые вы можете кодировать прямо в html кнопки при рендеринге страницы). Однако, если вы не можете доверять пользователю, вместо этого вы можете попробовать что-то вроде таблицы случайных буквенно-цифровых токенов и ряда связанных с ней строк и вставить маркер в submit - когда вы получите токен, установите строки, связанные с ним как «используемые». Это может сработать. – Patashu

+0

Если это случайный случай, вы можете иметь идентификаторы sql для строк, сохраненных в скрытом поле (-ых), и использовать это при нажатии кнопки, чтобы найти строки для обновления с сообщением. –

+0

@QuentinEngles Это нормально, если вы доверяете пользователю или не важно, доверяете ли вы им или нет. – Patashu

ответ

0

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

Для того, чтобы меня за это значение я RTM и нашел функцию array_map

Код РНР:

function row ($row) { 
    return $row[0]; 
} 
$ids = array_map("row", $numbers); 

Возвращаемый и массив со всеми Pkey-х, потом я просто нужен чтобы превратить этот массив в строку, которая будет вставлено в запросе SQL, я сделал так, как это:

$output = implode(',', $ids); 

После того, как мои запятые строки I Co пакетирования выполнить свой SQL-код:

UPDATE table SET x=y WHERE Pkey IN $output 

То есть, как я мог бы обновить несколько строк в таблице MySQL со значениями из многомерного массива без использования цикла Еогеаспа.

+0

Не стесняйтесь принимать свой собственный ответ, если это решение! Вас поощряют. – Patashu

Смежные вопросы