Отображать данные SQL в списке с помощью флажка - PullRequest
0 голосов
/ 24 мая 2011

Я не уверен, как это сделать, но у меня есть база данных SQL, где я запрашиваю информацию.Я хотел бы отобразить результаты запроса в виде списка на веб-странице с флажком в начале, чтобы пользователь мог выбрать, какую именно информацию он хотел бы изменить.

В моей базе данных более 20+столбцы, но я хочу отображать только 5 столбцов данных, относящихся к запросу, который я искал.В настоящее время у меня есть данные, пополняемые в текстовых полях.Но я хотел бы пойти дальше и получить данные, отображаемые в горизонтальном списке.

В основном что-то вроде этого:

Клиент ищет заказ в базе данных.Скажем, есть 2 разных заказа, соответствующих критериям поиска в БД.Я хотел бы сказать, 5 столбцов данных из БД для этих 2 заказов, отображаемых на странице с флажком рядом с каждым, чтобы клиент мог затем выбрать, какой заказ они хотят изменить.

Я неуверен в коде, используемом для отображения данных sql в списке с флажком.Спасибо!

Ответы [ 2 ]

2 голосов
/ 24 мая 2011

Код ниже демонстрирует, как:

  1. Запрос к вашей базе данных
  2. Показать вывод в таблице с флажками рядом с каждой записью
  3. Отправить выбранные флажки на страницу
  4. Отображение выбора при перезагрузке страницы

Остерегайтесь некоторых параметров, которые вам может потребоваться изменить, например, имя базы данных, имя пользователя, пароль, имя первичного ключа («id»).

<code># connect to mysql
$db_link = mysql_connect('localhost', 'root', '');
if (!$db_link)
    die('Cannot connect : ' . mysql_error());

# select database
$db_selected = mysql_select_db('test_db', $db_link);
if (!$db_selected)
    die ('Cannot select database : ' . mysql_error());

# execute search query
$sql = 'SELECT * FROM `test_table` LIMIT 20';
$result = mysql_query($sql);

# check result
if (!$result)
    die('Could not successfully run query: ' . mysql_error());

# display returned data
if (mysql_num_rows($result) > 0)
{
    ?>
    <form action="" method="post">
    <table style="border: 1px solid black">
        <?php
            while ($row = mysql_fetch_assoc($result))
            {
                echo '<tr><td>';
                echo '<input type="checkbox" name="selected[]" value="'.$row['id'].'"/>';
                echo '</td>';
                foreach ($row as $key => $value)
                    echo '<td>'.htmlspecialchars($value).'</td>';
                echo '</tr>';
            }
        ?>
    </table>
    <input type="submit"/>
    </form>
    <?php
}
else
    echo '<p>No data</p>';

# free resources
mysql_free_result($result);

# display posted data
echo '<pre>';
print_r($_POST);
echo '
'; ?>
0 голосов
/ 24 мая 2011

По сути, что-то вроде этого:

$sql = "select primaryKey, field1, field2, ... FROM table"
$result = mysql_query($sql) or die(mysql_error());

echo <<<EOL;
<form ...>
<table>
<tr>
    <th></th>
    <th>Field 1</th>
    <th>Field 2</th>
    ...
</tr>

EOL;

while ($row = mysql_fetch_asssoc($result)) {
    echo <<<EOL
<tr>
    <td><input type="checkbox" name="primaryKey[]" value="{$row['primaryKey']}" /></td>
    <td>{$row['field1']}</td>
    <td>{$row['field2']}</td>
    ...
</tr>

EOL;
}

echo <<<EOL
</table>
<input type="submit" />
</form>

EOL;

Если вы имеете в виду список, как в <select>, то основная логика работает так же, просто настройте html, чтобы вывести <select> и серию<option> по желанию.

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