2014-01-17 2 views
-2

У меня есть html-страница, которая отправляется в базу данных mysql через php-скрипт. Как получить информацию, которая была введена на странице html для отображения после создания 1 записи?Показать сообщение из html в следующем php-скрипте

<?php 
$link = mysqli_connect('****', '****', '****', 'orders'); 

$sequence = $_POST['sequence']; 
$items_count = $_POST['items_count']; 
$total = $_POST['total']; 
$payment_type = $_POST['payment_type']; 

$sql="INSERT INTO orders (sequence,items_count,total,payment_type) 
VALUES 
('$sequence','$items_count','$total','$payment_type')"; 

if (!mysqli_query($link,$sql)) { 
die('Error: ' . mysqli_error($link)); 
} 
echo '1 record created'; 

mysqli_close($link); 

?> 
+0

Вы можете использовать ['сеансы'] (http://www.php.net/manual/en/features.sessions.php) и [' header() '] (http: //www.php .net/manual/en/function.header.php) (если вы знаете, как обрабатывать это с сеансами) --- И используйте подготовленные инструкции, ваш код подвержен ['SQL injection'] (http: // stackoverflow .com/questions/60174/how-can-i-prevent-sql-injection-in-php) –

+0

Уязвимости с использованием [SQL injection attack] (http://bobby-tables.com) ... пользуются вашим портом pwn3d , –

+0

Я настоятельно рекомендую использовать ORM как идиорм - это облегчит вашу жизнь, поскольку вы изучаете эти вещи: https://github.com/j4mie/idiorm –

ответ

1

На странице, которая должна отображать сообщения, иметь другой запрос

$sql = "SELECT sequence,items_count,total,payment_type FROM orders"; 

, и я не уверен, если это право MySQLi функция, но после того, как вы извлечь данные из MySQL в качестве массив (mysqli_fetch_array?) - вам нужно выполнить итерацию по возвращенным результатам.

foreach($fetched_row as $row){ 
echo "<pre>"; print_r($row); echo "</pre>" 
} 

Что, вы, очевидно, хотите использовать свой собственный HTML - и $row будет ассоциативный массив с именами столбцов в качестве ключей -

+1

Я думаю, что цикл foreach не требуется только для одной записи, потому что для отображения требуется только последняя вставленная запись. –

1

Вы должны добавить этот код на странице где будут отображаться ваши поля.

<?php 
$last_record_id = mysql_insert_id(); 
$query = "SELECT * FROM <tablename> WHERE <$table_primary_key_id> = '$last_record_id'"; 
$result = mysqli_query($dbcon, $query); 
$row = mysqli_fetch_array($result) 
?> 

Затем введите каждое поле в отдельной переменной, например $ price = $ row ['price'], и отобразите их. Вам не требуется цикл, потому что есть только одна запись для извлечения и отображения.

+0

Не используйте звездочки - –

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