2014-04-14 6 views
0

У меня есть таблица MySQL с 34 столбцами и нужна кнопка отправки для каждого из них со значением, идентичным имени столбца, для выполнения SQL-запроса при отправке. Пример:Сгенерировать входные данные для каждого столбца из таблицы sql

<input type="submit" name="column1" value="column1" /> 
<input type="submit" name="column2" value="column2" /> 
//etc. 

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

Дальние Я пришел такой:

$connect = mysql_connect("localhost","user","pass"); 
mysql_select_db("db1"); 
$query = mysql_query("SELECT * FROM tb1"); 
echo "<input type="submit" name="$db" value="$db" />"; 

Это, конечно, абсолютная чушь. Но, как я уже говорил, это до тех пор, пока я пришел. Любая помощь будет оценена по достоинству.

+0

Что вы пытаетесь достичь здесь. Это создаст много кнопок отправки, но каждый из них будет иметь такое же поведение - отправка всей формы. – RaYell

+0

Мне нужны все кнопки отправки. И они не будут иметь одно и то же действие, потому что я устанавливаю 'if (isset ($ _ POST ['column1'])) {// do action1}' 'if (isset ($ _ POST ['column2'])) { // do action2} 'и т. д. –

ответ

2

Вам нужно будет пропустить ваши результаты и повторить вводную кнопку ввода внутри нее.

Кроме того, вы можете отображать кнопку для каждого столбца в таблице, но для этого вам нужно знать, сколько столбцов имеет ваша таблица. Это достигается, по крайней мере двумя способами:

  1. Вы можете использовать SQL-запрос:

    SELECT count(*) 
    FROM information_schema.columns 
    WHERE table_name = 'tbl_YOURTABLE' 
    
  2. В вашем цикле, вы можете подсчитать количество элементов/индекс существует в массиве, используя, например, count function php.

+0

Это выглядит очень сложно. Просто используйте «show columns» вместо – Fuzzyma

+1

Если пользователю нужна кнопка для каждого столбца в каждой строке, которая существует в таблице (и обратите внимание только на кнопку для каждого столбца), решение обязательно будет включать цикл через строки. Поэтому, учитывая это, я считаю, что мое решение является таким сложным. В этом случае решение, использующее функцию count внутри цикла, является хорошим подходом, чтобы избежать необходимости делать 2 запроса в базе данных (один для извлечения данных, а другой - для получения списка столбцов в таблице). –

+0

Вы правы. Ну, он попросил одну кнопку для каждого столбца. Просто не понятно. Выберем его: D – Fuzzyma

1

Вы можете использовать запрос «показать столбцы из таблицы», чтобы получить все столбцы. Просто зациклируйте их и создайте submit для каждого. Но pls var_dump результат сначала, поскольку этот запрос не только возвращает имя col, но и другую информацию. В любом случае, как сказано в комментарии: каждый вход будет представлять всю форму. Затем вы можете проверить, какой из них был нажат, проверив имя ввода

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