Используйте SELECT и UPDATE запрос в форме - PullRequest
0 голосов
/ 28 февраля 2012

У меня есть база данных, которая имеет тему «растение». Я хочу сценарий, чтобы получить информацию о розе и поместить значения в поля. Затем я хочу, чтобы у пользователя была возможность обновить элемент и отправить его обратно в базу данных.

Я хочу, чтобы пользователь вытащил элемент из базы данных по его латинскому имени, которое является уникальным атрибутом в таблице 'rose'. Вот код для вставки розы, может кто-нибудь, пожалуйста, помогите мне адаптировать это к тому, как я хочу, используя подготовленные утверждения:

//connect to database
$conn2 = DB2();

require_once('header_admin.php');
  /*

if (isset($_POST['addrose'])) 
{

//detect if we have errors or not
$errors = false;
$error_msg = "Error, please try again";

/*
 *  Could do other validation here
 *  Make sure they enter an email address for example
 */

//if we have no errors, do the SQL
if (!$errors) {  

$latin_name = $_POST['latin_name'];
$common_name = $_POST['common_name'];
$variety_name = $_POST['variety_name'];
$colour = $_POST['colour'];
$season = $_POST['season'];
$hardiness = $_POST['hardiness'];
$situation = $_POST['situation'];
$soil_type = $_POST['soil_type'];
$price = $_POST['price'];
$fragrance = $_POST['fragrance'];
$height = $_POST['height'];

//insert data
$stmt = $conn2->prepare("INSERT INTO rosename (latin_name, common_name, variety_name, colour, season_of_interest, hardiness, situation, soil_type, price, 
fragrance, ultimate_height) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");

//bind the parameters
  $stmt->bind_param('ssssssssdss', $latin_name, $common_name, $variety_name, $colour, $season, $hardiness, $situation, $soil_type, $price, $fragrance,
  $height);

// Execute query
$stmt->execute();

//if the query worked, put out the confirmation message (you can make this look however you want)
if ($stmt) {
  echo "<p class='black'>Rose Added!</p>";

1 Ответ

1 голос
/ 28 февраля 2012

Я надеюсь, что получу то, что вы хотите.вот так:

if (!$errors) {  

    $latin_name = $_POST['latin_name'];
    $stmt = $conn2->prepare("SELECT * FROM rosename WHERE latin_name = ?"); // replace SELECT * with SELECT field1, field2 (those you need)
    $stmt->bind_param('s', $latin_name);
    if ($result = $stmt->get_result()) {
        /* fetch associative array */
        while ($row = $result->fetch_assoc()) {
            printf ("%s (%s)\n", $row["soil_type"]);
        }
        /* free result set */
        $result->free();
    }
}

от: http://php.net/manual/de/mysqli-result.fetch-assoc.php

надеюсь, что поможет!

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