DeepSeek ArtifactsDeepSeek Artifacts

创建菜单页面与表单处理

4.0
ru
网页开发
网页开发
表单处理
SQLite数据库

Промпт

 Создай страницы с пунктами меню index, work, history. На index странице создай форму my_form с checkbox, input, select, textarea сохрани заполненную форму my_form в файл базы данных sqlite.db. Создай страницу work и выведи на нее все заполненные данные в форме my_form из файла базы данных sqlite.db. Создай страницу history покажи на ней всю историю заполнений формы my_form

Сгенерированный Результат

import React, { useState, useEffect } from 'react';
import './App.css';
import { BrowserRouter as Router, Route, Link, Routes } from 'react-router-dom';
import { open } from 'sqlite';
import sqlite3 from 'sqlite3';

const App = () => {
  const [formData, setFormData] = useState({
    checkbox: false,
    input: '',
    select: '',
    textarea: ''
  });

  const [submittedForms, setSubmittedForms] = useState([]);

  useEffect(() => {
    loadFormsFromDb();
  }, []);

  const loadFormsFromDb = async () => {
    const db = await open({
      filename: 'sqlite.db',
      driver: sqlite3.Database
    });
    const forms = await db.all('SELECT * FROM my_form');
    setSubmittedForms(forms);
  };

  const handleChange = (e) => {
    const { name, value, type, checked } = e.target;
    setFormData(prev => ({
      ...prev,
      [name]: type === 'checkbox' ? checked : value
    }));
  };

  const handleSubmit = async (e) => {
    e.preventDefault();
    const db = await open({
      filename: 'sqlite.db',
      driver: sqlite3.Database
    });
    await db.run(
      'INSERT INTO my_form (checkbox, input, select, textarea) VALUES (?, ?, ?, ?)',
      [formData.checkbox, formData.input, formData.select, formData.textarea]
    );
    loadFormsFromDb();
  };

  const IndexPage = () => (
    <div className="flex flex-col items-center justify-center min-h-screen bg-gray-100 p-4">
      <form onSubmit={handleSubmit} className="bg-white shadow-lg rounded px-8 pt-6 pb-8 mb-4">
        <div className="mb-4">
          <label className="block text-gray-700 text-sm font-bold mb-2">Checkbox</label>
          <input type="checkbox" name="checkbox" checked={formData.checkbox} onChange={handleChange} className="mr-2 leading-tight" />
        </div>
        <div className="mb-4">
          <label className="block text-gray-700 text-sm font-bold mb-2">Input</label>
          <input type="text" name="input" value={formData.input} onChange={handleChange} className="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline" />
        </div>
        <div className="mb-4">
          <label className="block text-gray-700 text-sm font-bold mb-2">Select</label>
          <select name="select" value={formData.select} onChange={handleChange} className="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline">
            <option value="">Select an option</option>
            <option value="option1">Option 1</option>
            <option value="option2">Option 2</option>
          </select>
        </div>
        <div className="mb-6">
          <label className="block text-gray-700 text-sm font-bold mb-2">Textarea</label>
          <textarea name="textarea" value={formData.textarea} onChange={handleChange} className="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline" />
        </div>
        <div className="flex items-center justify-between">
          <button type="submit" className="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded focus:outline-none focus:shadow-outline">Submit</button>
        </div>
      </form>
    </div>
  );

  const WorkPage = () => (
    <div className="flex flex-col items-center justify-center min-h-screen bg-gray-100 p-4">
      <div className="bg-white shadow-lg rounded px-8 pt-6 pb-8 mb-4">
        {submittedForms.map((form, index) => (
          <div key={index} className="mb-4">
            <p>Checkbox: {form.checkbox ? 'Yes' : 'No'}</p>
            <p>Input: {form.input}</p>
            <p>Select: {form.select}</p>
            <p>Textarea: {form.textarea}</p>
          </div>
        ))}
      </div>
    </div>
  );

  const HistoryPage = () => (
    <div className="flex flex-col items-center justify-center min-h-screen bg-gray-100 p-4">
      <div className="bg-white shadow-lg rounded px-8 pt-6 pb-8 mb-4">
        {submittedForms.map((form, index) => (
          <div key={index} className="mb-4">
            <p>Checkbox: {form.checkbox ? 'Yes' : 'No'}</p>
            <p>Input: {form.input}</p>
            <p>Select: {form.select}</p>
            <p>Textarea: {form.textarea}</p>
          </div>
        ))}
      </div>
    </div>
  );

  return (
    <Router>
      <nav className="bg-gray-800 p-4">
        <ul className="flex space-x-4">
          <li><Link to="/" className="text-white">Index</Link></li>
          <li><Link to="/work" className="text-white">Work</Link></li>
          <li><Link to="/history" className="text-white">History</Link></li>
        </ul>
      </nav>
      <Routes>
        <Route path="/" element={<IndexPage />} />
        <Route path="/work" element={<WorkPage />} />
        <Route path="/history" element={<HistoryPage />} />
      </Routes>
    </Router>
  );
};

export default App;

Больше Рекомендаций

Посмотреть Все

React Firebase админ-панель

4.0
Web Development
ru
React
Firebase
админ-панель
Мне нужна админ-панель для моего сайта на react. Используй авторизацию через firebase...

Олтин койда ҳисобловчи

4.0
Математика
ru
Олтин койда
математика
ҳисоблаш
import math def calculate_golden_ratios(x): """Фойдаланувчи киритган рақам асосида Олтин койда ва унинг тескарисини ҳисоблаш""" phi = (1 + math.sqrt(5)) / 2 golden_multiplied = x * phi ...

Создание хакерского приложения

4.0
Программирование
ru
хакерское приложение
нейросеть
терминал
Сделай "хакерское" приложение с успокаивающей музыкой на фоне и терминалом с зеленым текстом, к терминалу будет подключена нейросеть deepseek через api, сделай что бы приложение можно было вызвать ком...

Умный хакер-помощник

4.0
Программное обеспечение
ru
хакер
нейросеть
оффлайн команды
антивирус
adblock
Создай умного хакера-помощника который будет разговаривать с пользователем как текстом так и голосом хакера. Основой помощника будет нейросеть deepseek с которой и будет общение и 50+ базовых команд р...

Умный хакер-помощник

4.0
Программное обеспечение
ru
нейросеть
помощник
антивирус
приложения
оффлайн
Создай умного хакера-помощника который будет разговаривать с пользователем как текстом так и голосом хакера. Основой помощника будет нейросеть deepseek и 50+ базовых команд работающих оффлайн. Сделай ...

передать форму в приложение

4.0
Программирование
ru
форма
приложение
передача данных
передать содержимое формы в другое приложение...