Работа с циклами при вводе и выводе значений из базы данных - MySQL
Формулировка задачи:
Всем доброго времени суток! У меня появилось несолько вопросов по поводу работы с mysql. Попрошу ногами сильно не пинать, так как новичок в работе с базами данных...
У меня есть база данных в которой есть таблица tovar (к примеру). В ней есть много строк. У этой таблицы так же есть 3 столбца: "name, price, how". В этой таблице name-text, price,how-integer
Итак, у меня появилось 2 вопроса...
потом в нужном месте на странице вставляю значения вот так:
А теперь собственно вопрос....как можно это все автоматизировать, в цикле например? что б не писать кучу таких строк (выделил желтым цветом)
С помощью формы обработчика заношу в переменную значение введенное в поле. И отправляю его базу. Но так, как значения постоянно надо будет обновлять, делаю не новую записить,а перезапись старой
Ну, и опять же собственно вопрос...таких значений на одной странице будет очень много, как это дело автоматизировать, что б отправить все значения одним запросом?
За меня все делать не надо, должен сам вьехать как это работает но если не сложно подкиньте небольшой пример работы. Буду очень благодарен!
Вопрос 1: По поводу вывода значений из базы данных.
С общими принципами разобрался, подключил базу данных, и потом запросом вывожу данные в массив вот так:$kartofel = mysql_query("SELECT * FROM tovar WHERE name = 'kartofel '");
$pomidor = mysql_query("SELECT * FROM tovar WHERE name = 'pomidor '");
....
$kartofel_row = mysql_fetch_array($kartofel); $pomidor_row = mysql_fetch_array($pomidor);
<?php echo $kartofel_row[price];?> <?php echo $kartofel_row[how];?>
Вопрос 2: По поводу ввода значений в базу.
тут в принципе суть та же, есть поле для ввода данных (куда ж без него), что то вроде:<input name="kartofel_price" type="text" >
$insert_sql = "UPDATE import SET price='{$kartofel_price}' WHERE name='kartofel'"; mysql_query($insert_sql) or die ('ошибка при обновлении значения!') ;
Решение задачи: «Работа с циклами при вводе и выводе значений из базы данных»
textual
Листинг программы
<? if (!empty($_POST['price'])){ $query = "insert into `table`(`name`,`price`) values "; $parts = array(); foreach( $_POST['price'] as $category => $price ) { $parts[] = "('{$category}' , '{$price}')"; } $query .= join( "," , $parts); echo $query , '</br>'; } ?> <form method="post"> pomidor:<input name="price[pomidor]" type="text" > kartofel:<input name="price[kartofel]" type="text" > <input type="submit"> </form>
Объяснение кода листинга программы
- Проверяется, не пуст ли массив
$_POST['price']
. - Если массив не пуст, создается строка запроса SQL для вставки данных в таблицу
table
. - Создается массив
$parts
, который будет содержать части запроса. - Запускается цикл
foreach
для каждого элемента массива$_POST['price']
. - Внутри цикла каждый элемент массива
$_POST['price']
помещается в массив$parts
в виде строки. - В конце цикла к массиву
$parts
добавляется строка, полученная из функцииjoin
, которая объединяет все строки массива$parts
в одну строку, разделенную запятыми. - Полученный запрос SQL выводится на экран.
- Создается форма для отправки данных в метод POST.
- В форме есть два поля ввода:
pomidor
иkartofel
. - При отправке формы данные будут отправлены в метод
handle_post
и обработаны согласно описанному выше алгоритму.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д