2014-12-18 8 views
0

Я научился программировать с формой Oracle десятилетиями назад, и теперь я делаю небольшую базу данных, используя mySQL и веб-форму с PHP.Создание, поиск, обновление в одной HTML-форме

Я хочу сделать 1 форму для выполнения нескольких заданий вставить новую запись, выполнить поиск записи и обновить (или удалить) запись. Скажем, форма, как показано ниже:

enter image description here

У меня есть вставки новой записи часть рабочего OK.

Но я хочу иметь возможность использовать ту же форму для запроса (например, я поместил идентификатор в форму, нажимаю кнопку поиска и заставляю результат запроса заполнить ту же форму (текстовое поле), в которой я могу прямое изменение данных (пример: адрес), затем нажмите кнопку обновления, чтобы обновить эту запись.

Возможно ли это сделать с использованием только PHP (без Jscript) и 1 формы? Я могу запросить базу данных, но у меня есть трудности с чтобы получить результат запроса, чтобы заполнить текстовое поле той же формы.Я новичок в PHP и mySQL, и я давно не программировал.

+0

Что вы собираетесь делать, когда ваша база данных заполняется, поэтому у вас есть записи «john smith». – jvv

+0

Я делаю запрос только для возврата только 1 записи, если нет, то он попросит пользователя быть более конкретным и повторить попытку. Я уже покрыл это. Off Topic: Ну, в конце концов, я хочу добавить предыдущую и следующую кнопку, чтобы запрос мог возвращать многие записи, и я могу просматривать все записи, используя ту же форму, если это возможно. BTW, я новичок здесь, как я могу связать картинку как образец? – Anakin

ответ

2

Если у вас несколько кнопок отправки, вы должны называть их по-разному, например:

<input type="submit" name="insert" value="Insert"> 
<input type="submit" name="search" value="Search"> 
<input type="submit" name="update" value="Update"> 

Тогда в PHP вы просто проверить, какая была нажата одна:

if ($_POST['insert']) { 
    //insert query 
} else if ($_POST['search']) { 
    //search query 
} else { //could add if here, if you want more checks/safety 
    //update query 
} 

Вы должны положить все, что в блок, как:

if(!isset($_POST['insert']) || !isset($_POST['search']) || !isset($_POST['update'])) { 
    // make your form here 
} else { 
    //queries here 
} 

Теперь вы будете проверьте, была ли нажата кнопка отправки, и каждый из них вернет другой запрос.

Чтобы ограничить запрос 1, если вы хотите показывать только одну запись при поиске. При обновлении вы не можете этого сделать. Просто добавьте LIMIT 1 в конец вашего запроса.

Надеюсь, этого достаточно, чтобы помочь вам ладить.

+0

Спасибо. Мне трудно помещать результат запроса в текстовое поле в форме. Не могли бы вы немного подробнее остановиться здесь. – Anakin

+0

Как поместить результат из: while ($ row = mysql_fetch_array ($ query), $ row [1] в Anakin

+0

Вы можете использовать javascript. См. [W3schools] (http: //www.w3schools.com/js/js_htmldom_html.asp) для учебника. –

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