0
У меня есть селектор, который получает данные из моей базы данных.форму передать выбранную на следующую страницу
Когда я выбираю 1 пункт и нажмите Add to list
, он генерирует таблицу:
код для этого все есть:
<!--Selector-->
<?php
// Get name and id data from the db. In an assoc array
$results = $database->Selector();
echo "<form name='form' method='POST' id='selector'>";
echo "<select name='train_name' id='train_name' multiple='multiple'>";
// Loop trough the results and make an option of every train_name
foreach($results as $res) {
echo "<option value=" . $res['train_name'] . ">" . $res['train_name'] . "</option>";
}
echo "</select>";
echo "<br />" . "<td>" . "<input type='submit' name='Add' value='Add to list'/>" . "</td>";
echo "</form>";
if (isset($_POST["train_name"])) {
// Get all data from database, in an assoc array
$results = $database->getAllAssoc();
// Make table headers
?>
<div id="train_select_table">
<form name="selector" method="post" action="customer_list.php?user_id=<?php
echo $_SESSION['user_id'] ?>">
<table>
<tr>
<th>Train name</th>
<th>Number of bogies</th>
<th>Number of axles</th>
<th>Delete</th>
<th>More info</th>
<th>Check</th>
<!--Only for admins (later!)-->
<!--<th>XML</th>
<th>SQL</th> -->
</tr>
<div id="looprow">
<?php
foreach($results as $res) {
// Loop trough results, generate a tablerow every time
?>
<tr>
<td name="train_name"><?php
echo $res['train_name'] ?></td>
<td><?php
echo $res['number_of_bogies'] ?></td>
<td><?php
echo $res['number_of_axles'] ?></td>
<td><a href="remove_from_table.php?train_id=<?php
echo $res['train_id'] ?>">Delete</a></td>
<td><a href="expand_info.php?train_id=<?php
echo $res['train_id'] ?>">More Information</a></td>
<td><input type="checkbox" name="checkbox" value="<?php
echo $res['train_id'] ?>"></td>
<!--Only for admins (later!)-->
<!--<td><a href="convert_to_xml.php?train_id=<?php
echo $res['train_id'] ?>">XML</a></td>
<td><a href="convert_to_sql.php?train_id=<?php
echo $res['train_id'] ?>">SQL</a></td>-->
</tr>
<?php
}
?>
</div>
</table><br />
<input name="Add to list" type="submit" id="add_to_list" value="add_to_list">
</form>
</div>
<?php
}
?>
Functions:
function getAllAssoc() {
$sql = "SELECT * FROM train_information WHERE train_name = :train_name";
$sth = $this->pdo->prepare($sql);
$sth->bindParam(":train_name", $_POST["train_name"]);
$sth->execute();
return $sth->fetchAll();
}
function selector() {
$sql = "SELECT train_name, train_id FROM train_information";
$sth = $this->pdo->prepare($sql);
$sth->execute();
return $sth->fetchAll();
}
Когда я Проверяй и нажмите Add to list
. Вы отправитесь в customer_list.php
. На этой странице я хочу показать информацию о выбранном элементе. То, что я прямо сейчас:
<?php
echo $_POST["checkbox"];
?>
Это показывает мне номер (когда я выбрал пункт) которым это идентификатор поезда/пункта.
Но как мне показать всю информацию выбранного флажка? Также, если у меня есть несколько поездов в таблице, например 10. И я выбираю только 7 и нажимаю кнопку. я хочу следующую страницу customer_list.php
, чтобы показать эти конкретные 7 результатов.
Используйте свою логику. Обработайте значение, которое вы получите в файле customer_list.php. –
Но как? Безусловно, я исправлю значение выбора. который является идентификатором.но когда мне это нравится:
ответ
Вам нужно отредактировать код, флажок:
код customer_list.php:
источник
2015-05-13 11:28:05
Я получаю эту ошибку: Неустранимая ошибка: использование $ this, если не в контексте объекта, и Примечание: преобразование массива в строку. Но я могу понять это – Mitch
Вам нужно включить файлы подключения файлов данных, как в вашей форме/других страницах. –
Вам необходимо удалить echo $ _POST ["checkbox"] для вашего уведомления. –
Вы должны принять ваше имя флажка в виде массива, т.е.
name="checkbox[]"
, поэтому на странице действия вы получит массив идентификаторов. Теперь вам просто нужно запросить выбранные train_id, используя предложение mysql «IN».Я могу показать вам запрос
источник
2015-05-13 11:31:34
две вещи:
1.Change
к
2.Изменение
в
Просто настроить кавычки в запросе, как я не проверял этот код и чувствую, что будет проблема с одинарными кавычками.
Что сделано выше, так это то, что мы взяли входные данные в массиве и, соответственно, получили результаты на основе этого ввода массива.
Надеюсь, у вас возникла идея!
источник
2015-05-13 11:51:55 Arcanyx
Смежные вопросы