Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP CRUD MySQL डेटाबेस के साथ पोस्ट बनाएं, संपादित करें, अपडेट करें और हटाएं

वेबसाइट पर सामग्री बनाना, संपादित करना, अपडेट करना और हटाना साइट को गतिशील बनाता है। यही हम इस पोस्ट में करने जा रहे हैं।

एक उपयोगकर्ता जो हमारी साइट पर जाता है, वह पोस्ट बनाने में सक्षम होगा जो एक mysql डेटाबेस में सहेजे जाएंगे, डेटाबेस से पोस्ट पुनर्प्राप्त करेंगे और उन्हें वेब पेज पर प्रदर्शित करेंगे। प्रत्येक पोस्ट को संपादित करें और हटाएं बटन के साथ प्रदर्शित किया जाएगा ताकि उपयोगकर्ता पोस्ट को अपडेट करने के साथ-साथ उन्हें हटा सकें।

सबसे पहले, crud नाम का एक डेटाबेस बनाएं। क्रूड डेटाबेस में, जानकारी . नामक एक तालिका बनाएं जानकारी तालिका में निम्नलिखित कॉलम होने चाहिए:

  • आईडी - इंट(11)

  • नाम - वर्चर(100)
  • पता - वर्कर(100)

हाँ! बस दो मैदान। मैं यहां चीजों को सरल रखने की कोशिश कर रहा हूं। तो, चलिए अगले चरण पर चलते हैं।

index.php नाम की एक फाइल बनाएं और उसमें निम्नलिखित कोड पेस्ट करें:

<!DOCTYPE html>
<html>
<head>
	<title>CRUD: CReate, Update, Delete PHP MySQL</title>
</head>
<body>
	<form method="post" action="server.php" >
		<div class="input-group">
			<label>Name</label>
			<input type="text" name="name" value="">
		</div>
		<div class="input-group">
			<label>Address</label>
			<input type="text" name="address" value="">
		</div>
		<div class="input-group">
			<button class="btn" type="submit" name="save" >Save</button>
		</div>
	</form>
</body>
</html>

यदि आप अपने ब्राउज़र पर साइट को सहेजते और खोलते हैं, तो आपको कुछ इस तरह मिलता है:

दुनिया में सबसे अच्छा रूप नहीं दिखता है ना? चलिए इसे ठीक करते हैं। इस लाइन को सीधे अपनी index.php फ़ाइल के हेड सेक्शन में टैग के नीचे जोड़ें:</P> <pre><code><link rel="stylesheet" type="text/css" href="style.css"></code></pre> <p> स्टाइलशीट फ़ाइल से स्टाइल लोड करने के लिए वह लिंक है। आइए Styles.css फ़ाइल बनाएं और उसमें यह स्टाइलिंग कोड जोड़ें।</P> <pre><code>body { font-size: 19px; } table{ width: 50%; margin: 30px auto; border-collapse: collapse; text-align: left; } tr { border-bottom: 1px solid #cbcbcb; } th, td{ border: none; height: 30px; padding: 2px; } tr:hover { background: #F5F5F5; } form { width: 45%; margin: 50px auto; text-align: left; padding: 20px; border: 1px solid #bbbbbb; border-radius: 5px; } .input-group { margin: 10px 0px 10px 0px; } .input-group label { display: block; text-align: left; margin: 3px; } .input-group input { height: 30px; width: 93%; padding: 5px 10px; font-size: 16px; border-radius: 5px; border: 1px solid gray; } .btn { padding: 10px; font-size: 15px; color: white; background: #5F9EA0; border: none; border-radius: 5px; } .edit_btn { text-decoration: none; padding: 2px 5px; background: #2E8B57; color: white; border-radius: 3px; } .del_btn { text-decoration: none; padding: 2px 5px; color: white; border-radius: 3px; background: #800000; } .msg { margin: 30px auto; padding: 10px; border-radius: 5px; color: #3c763d; background: #dff0d8; border: 1px solid #3c763d; width: 50%; text-align: center; }</code></pre> <p> आइए अब ब्राउज़र में अपना फॉर्म फिर से देखें:</P> <p> <img src="http://www.sqldat.com/article/uploadfiles/202205/2022051317463381.png" /></P> <p> वह बेहतर है! </p> <p> मैं आमतौर पर जितना संभव हो सके अपने एचटीएमएल कोड को अपने PHP कोड से अलग करना पसंद करता हूं। मैं उस अच्छे अभ्यास को मानता हूं। उस नोट पर, चलिए php_code.php नामक एक और फ़ाइल बनाते हैं जहां हम डेटाबेस से कनेक्ट करने, डेटाबेस को क्वेरी करने और इसी तरह की सभी PHP कार्यक्षमताओं को लागू करते हैं।</P> <p> तो php_code.php खोलें और उसमें निम्न कोड पेस्ट करें:</P> <pre><code><?php session_start(); $db = mysqli_connect('localhost', 'root', '', 'crud'); // initialize variables $name = ""; $address = ""; $id = 0; $update = false; if (isset($_POST['save'])) { $name = $_POST['name']; $address = $_POST['address']; mysqli_query($db, "INSERT INTO info (name, address) VALUES ('$name', '$address')"); $_SESSION['message'] = "Address saved"; header('location: index.php'); } // ...</code></pre> <p> अब इस फाइल को अपनी index.php फाइल के सबसे ऊपर (सबसे पहली लाइन) में शामिल करें। इस तरह:</P> <pre><code><?php include('server.php'); ?></code></pre> <p> इस बिंदु पर, यह कोड केवल डेटाबेस से कनेक्ट होता है, कुछ चर प्रारंभ करता है और हमारे द्वारा पहले बनाई गई जानकारी में फ़ॉर्म से सबमिट किए गए डेटा को डेटाबेस में सहेजता है। यह सीआरयूडी का केवल क्रिएट पार्ट है। आइए दूसरों के साथ आगे बढ़ें।</P> <p> अब फिर से अपनी index.php फाइल पर जाएं और इस कोड को <body> टैग के ठीक नीचे जोड़ें:</P> <pre><code>// ... <body> <?php if (isset($_SESSION['message'])): ?> <div class="msg"> <?php echo $_SESSION['message']; unset($_SESSION['message']); ?> </div> <?php endif ?></code></pre> <p> यह कोड उपयोगकर्ता को यह बताने के लिए एक पुष्टिकरण संदेश प्रदर्शित करता है कि डेटाबेस में एक नया रिकॉर्ड बनाया गया है। </p> <p> डेटाबेस रिकॉर्ड्स को पुनः प्राप्त करने और उन्हें पेज पर प्रदर्शित करने के लिए, इस कोड को इनपुट फॉर्म के ठीक ऊपर जोड़ें:</P> <pre><code><?php $results = mysqli_query($db, "SELECT * FROM info"); ?> <table> <thead> <tr> <th>Name</th> <th>Address</th> <th colspan="2">Action</th> </tr> </thead> <?php while ($row = mysqli_fetch_array($results)) { ?> <tr> <td><?php echo $row['name']; ?></td> <td><?php echo $row['address']; ?></td> <td> <a href="index.php?edit=<?php echo $row['id']; ?>" class="edit_btn" >Edit</a> </td> <td> <a href="server.php?del=<?php echo $row['id']; ?>" class="del_btn">Delete</a> </td> </tr> <?php } ?> </table> <form> // ...</code></pre> <p> आइए एक नया रिकॉर्ड बनाएं और देखें कि क्या यह काम करता है:</P> <p> <img src="http://www.sqldat.com/article/uploadfiles/202205/2022051317463338.png" /></P> <p> ..और वोइला !! यह एकदम सही काम करता है!</P> <p> अब हम संपादन की ओर बढ़ते हैं। अपनी index.php फ़ाइल के शीर्ष पर (शामिल विवरण के तुरंत बाद) निम्नलिखित कोड जोड़ें:</P> <pre><code><?php if (isset($_GET['edit'])) { $id = $_GET['edit']; $update = true; $record = mysqli_query($db, "SELECT * FROM info WHERE id=$id"); if (count($record) == 1 ) { $n = mysqli_fetch_array($record); $name = $n['name']; $address = $n['address']; } } ?></code></pre> <p> डेटाबेस रिकॉर्ड को संपादित करते समय, हमें पुराने मानों को फॉर्म में डालने की आवश्यकता होती है ताकि उन्हें संशोधित किया जा सके। ऐसा करने के लिए, आइए फॉर्म पर हमारे इनपुट फ़ील्ड को संशोधित करें और डेटाबेस ($name, $address) से लिए गए मानों को <strong>value</strong> के मानों के रूप में सेट करें। फ़ॉर्म फ़ील्ड की विशेषता.</P> <p> रिकॉर्ड की आईडी को होल्ड करने के लिए एक छिपा हुआ फ़ील्ड भी जोड़ें जिसे हम अपडेट कर रहे हैं ताकि इसे डेटाबेस में विशिष्ट रूप से इसकी आईडी से पहचाना जा सके। यह इसे बेहतर तरीके से समझाता है:</P> <pre><code>// newly added field <input type="hidden" name="id" value="<?php echo $id; ?>"> // modified form fields <input type="text" name="name" value="<?php echo $name; ?>"> <input type="text" name="address" value="<?php echo $address; ?>"></code></pre> <p> याद रखें कि वह सब इनपुट <form> में है।</P> <p> अब यदि हम डेटाबेस से किसी विशेष रिकॉर्ड पर संपादित करें बटन पर क्लिक करते हैं, तो फॉर्म में मान भरे जाएंगे और हम उन्हें संपादित करने में सक्षम होंगे। चूंकि हम उसी फॉर्म पर संपादन कर रहे हैं जैसे हम बना रहे हैं, हमें एक शर्त रखनी होगी जो प्रदर्शित होने वाले उपयुक्त बटन को निर्धारित करे। उदाहरण के लिए, संपादन करते समय, हम फॉर्म पर अपडेट बटन प्रदर्शित करते हैं और बनाते समय, हम सेव बटन प्रदर्शित करते हैं। हम <strong>अपडेट </strong> . का उपयोग करके ऐसा करते हैं चर जो बूलियन है। जब अपडेट सही होता है, तो अपडेट बटन प्रदर्शित होता है और यदि गलत है, तो सेव बटन प्रदर्शित होता है।</P> <p> फ़ॉर्म पर अपना सेव बटन इस तरह बदलें:</P> <p> बदलें ..</P> <pre><code><button class="btn" type="submit" name="save" >Save</button></code></pre> <p> साथ...</P> <pre><code><?php if ($update == true): ?> <button class="btn" type="submit" name="update" style="background: #556B2F;" >update</button> <?php else: ?> <button class="btn" type="submit" name="save" >Save</button> <?php endif ?></code></pre> <p> अब अगर हम इसे ब्राउज़र पर चलाते हैं और एडिट बटन पर क्लिक करते हैं, तो हमें यह मिलता है:</P> <p> <img src="http://www.sqldat.com/article/uploadfiles/202205/2022051317463388.png" /></P> <p> अब आप देख सकते हैं कि यह अपडेट बटन है जो प्रदर्शित होता है। आइए उस कोड को जोड़ें जो इस बटन पर क्लिक करने पर निष्पादित होगा।</P> <p> Php_code.php फ़ाइल खोलें और इस कोड को बटन पर जोड़ें:</P> <pre><code>// ... if (isset($_POST['update'])) { $id = $_POST['id']; $name = $_POST['name']; $address = $_POST['address']; mysqli_query($db, "UPDATE info SET name='$name', address='$address' WHERE id=$id"); $_SESSION['message'] = "Address updated!"; header('location: index.php'); }</code></pre> <p> अब फॉर्म में मान बदलें और अपडेट बटन पर क्लिक करें। </p> <p> <img src="http://www.sqldat.com/article/uploadfiles/202205/2022051317463390.png" /></P> <p> बढ़िया!</P> <p> एक आखिरी बात:रिकॉर्ड हटाना। php_code.php फ़ाइल के अंत में बस इस कोड को जोड़ें और आप जाने के लिए तैयार हैं:</P> <pre><code>if (isset($_GET['del'])) { $id = $_GET['del']; mysqli_query($db, "DELETE FROM info WHERE id=$id"); $_SESSION['message'] = "Address deleted!"; header('location: index.php'); }</code></pre> <p> यदि आप डिलीट बटन पर क्लिक करते हैं, तो यह डेटाबेस से रिकॉर्ड को हटा देता है और अन्य क्रियाओं की तरह ही संदेश प्रदर्शित करता है।</P> <p> </p> <h3> </h3> <h2>निष्कर्ष</h2> <p> यह हमें इस ट्यूटोरियल के अंत में लाता है। मुझे आशा है कि यह मददगार था और आपके समय के लायक था। अंत तक इसका पालन करने में आपके धैर्य से मैं बहुत सम्मानित महसूस कर रहा हूं। अगर आपको यह ट्यूटोरियल पसंद आया है, तो नीचे दिए गए किसी भी सोशल मीडिया आइकन पर क्लिक करके इसे अपने दोस्तों के साथ साझा करें। इस साइट पर मेरे अन्य ट्यूटोरियल चेकआउट करना न भूलें। </p> <p> धन्यवाद</P> <br> </section> </article> <section id="turn-page" class="hiflexwyfn"> <div class="page up hiflexalign"> <i class="prev"></i> <a class='LinkPrevArticle' href='http://hi.sqldat.com/oms/mjl/1012019451.html' >PHP और MySQL डेटाबेस का उपयोग करके पूर्ण उपयोगकर्ता पंजीकरण प्रणाली </a> </div> <div class="page down hiflexalign"> <a class='LinkNextArticle' href='http://hi.sqldat.com/oms/mjl/1012019453.html' >PHP और MySQL फ़ाइलों को कैसे अपलोड और डाउनलोड करें </a> <i class="next"></i> </div> </section> <div class="ad5"> <script language='javascript' src='http://www.sqldat.com/css/ad/8.js'></script> </div> <div class="vbgyeotncgw13"> <p class="bgeyraje89"></p> </div> </section> </section> <div class="bnguewcfs12"> <em class="bneywngem85"></em> </div> <section class="bottom containerhie ahiflexbethiw"> <section class="ahitype_list right"> <p class="bheonpcf13"> <span class="bnnvgwcddsp1"></span> </p> <ol> <li><a class='childclass' href='http://hi.sqldat.com/oms/hfe/' target="_self">Database</a></li>  <li><a class='childclass' href='http://hi.sqldat.com/oms/mjl/' target="_self">Mysql</a></li>  <li><a class='childclass' href='http://hi.sqldat.com/oms/jhe/' target="_self">Oracle</a></li>  <li><a class='childclass' href='http://hi.sqldat.com/oms/usr/' target="_self">Sqlserver</a></li>  <li><a class='childclass' href='http://hi.sqldat.com/oms/ywl/' target="_self">PostgreSQL</a></li>  <li><a class='childclass' href='http://hi.sqldat.com/oms/vts/' target="_self">Access</a></li>  <li><a class='childclass' href='http://hi.sqldat.com/oms/gee/' target="_self">SQLite</a></li>  <li><a class='childclass' href='http://hi.sqldat.com/oms/dbb/' target="_self">MariaDB</a></li> </ol> </section> <div class="dibbbwufw5"> <h5 class="vbeufhfeh5"></h5> </div> <section class="left"> <ol class="hiarticle_list"> <li class="hiflexstart"> <i></i> <a href="https://hi.sqldat.com/oms/mjl/1012003633.html"> <p class="ahitextover" title="PDO और तैयार किए गए कथनों के साथ mysql_* फ़ंक्शन को बदलना ">PDO और तैयार किए गए कथनों के साथ mysql_* फ़ंक्शन को बदलना </p> </a> </li> <li class="hiflexstart"> <i></i> <a href="https://hi.sqldat.com/oms/mjl/1012003070.html"> <p class="ahitextover" title="जावा से MySQL डेटाबेस बनाएं ">जावा से MySQL डेटाबेस बनाएं </p> </a> </li> <li class="hiflexstart"> <i></i> <a href="https://hi.sqldat.com/oms/mjl/1012002825.html"> <p class="ahitextover" title="MySQL में आज के बराबर या उससे अधिक का डेटाटाइम ">MySQL में आज के बराबर या उससे अधिक का डेटाटाइम </p> </a> </li> <li class="hiflexstart"> <i></i> <a href="https://hi.sqldat.com/oms/mjl/1012001905.html"> <p class="ahitextover" title="Neo4j - Cypher . का उपयोग करके CSV फ़ाइल से डेटा आयात करें ">Neo4j - Cypher . का उपयोग करके CSV फ़ाइल से डेटा आयात करें </p> </a> </li> <li class="hiflexstart"> <i></i> <a href="https://hi.sqldat.com/oms/mjl/1012000607.html"> <p class="ahitextover" title="MySQL 5.7 . में स्ट्रिक्ट SQL मोड को डिसेबल कैसे करें ">MySQL 5.7 . में स्ट्रिक्ट SQL मोड को डिसेबल कैसे करें </p> </a> </li> </ol> </section> </section> <section class="erhilist1 ahiarticle1_list bottom2 ahiflexbethiw containerhie"> <ul class="ahiflexbethiw"> <li> <section class="hiflexalign"> <div class="erhiibox"> <img src='http://www.sqldat.com/article/uploadfiles/202205/2022051111455230_S.png' width='300' height='220' border='0'> </div> <a href="https://hi.sqldat.com/oms/vts/1012001802.html"> <p class="row erhirow-3"> एक्सेस 2016 में एक खाली डेटाबेस कैसे बनाएं </p> </a> </section> </li> </ul> <ul class="ahiflexbethiw"> <li> <section class="hiflexalign"> <div class="erhiibox"> <img src='http://www.sqldat.com/article/uploadfiles/202205/2022051111450933_S.png' width='300' height='220' border='0'> </div> <a href="https://hi.sqldat.com/oms/usr/1012001801.html"> <p class="row erhirow-3"> SQL सर्वर 2016:एक डेटाबेस पुनर्स्थापित करें </p> </a> </section> </li> </ul> <ul class="ahiflexbethiw"> <li> <section class="hiflexalign"> <div class="erhiibox"> <img src='http://www.sqldat.com/article/uploadfiles/202205/2022051315370558_S.jpg' width='300' height='220' border='0'> </div> <a href="https://hi.sqldat.com/oms/hfe/1012019236.html"> <p class="row erhirow-3"> एक बड़ा डेटा प्रश्न:हार्डवेयर या सॉफ्टवेयर ... उपकरण ... </p> </a> </section> </li> </ul> <ul class="ahiflexbethiw"> <li> <section class="hiflexalign"> <div class="erhiibox"> <img src='http://www.sqldat.com/article/uploadfiles/202205/2022051014121193_S.jpg' width='300' height='220' border='0'> </div> <a href="https://hi.sqldat.com/oms/mjl/1012000454.html"> <p class="row erhirow-3"> उबंटू पर MySQL कैसे स्थापित और कॉन्फ़िगर करें </p> </a> </section> </li> </ul> </section> <footer> <section class="containerhie ahiflexbethiw erhifooter_info hiflexalign"> <a href="https://hi.sqldat.com" class="hibottom_logo"> <img src="http://www.sqldat.com/css/img/logo.svg" alt=""> </a> <span class="hiflexstart"> © कॉपीराइट <a href="https://hi.sqldat.com">http://hi.sqldat.com</a> सर्वाधिकार सुरक्षित </span> </section> </footer> <script language='javascript' src='http://www.sqldat.com/css/ad/c.js'></script> </body> </html>