html - Can't pass hidden form value from database to PHP if-statement -
मेरी डेटाबेस तालिका (संबंधित) में 3 कॉलम हैं:
- संबंधित_id < Li> article_id
- object_id
यह एक ऐसी तालिका है, जो लेखों और वस्तुओं के बीच संबंधों का ट्रैक रखता है। मैंने कोड छीन लिया है अब इसमें केवल हटाए गए बटन (एक्स) शामिल हैं अगर कोई व्यक्ति उस बटन को दबाता है तो मैं चाहता हूं कि उपयोगकर्ता को
पर रीडायरेक्ट कर दिया जाए ((isset ($ _ POST ['deleteRelated'])) प्राप्त करने के लिए "क्या आप निश्चित हैं" -मेल इत्यादि। लेकिन छुपी हुई आईडी सही ढंग से नहीं पारित तालिका में अंतिम
संबंधित_आईड 29 है जब मैं छुपी हुई आईडी को एकोक्ति करने की कोशिश करता हूं तो मुझे हर हटाना बटन (एक्स) के लिए 29 मिलता है।
नीचे दिए गए कोड का पूरा संस्करण मुझे लेख शीर्षक के साथ एक टेबल देता है , वस्तु शीर्षक और हटाएं बटन (x)। एक सबमिट बटन की वजह से स्वयं को कोई मूल्य नहीं मिल सकता है, मुझे छुपा मूल्य की आवश्यकता है। लेकिन जब मैं इसे हटाते बटन (एक्स) दबाकर पास करता हूं तो मुझे हर बार 29 मिलता है।
कोड
< कोड> अगर (isset ($ _ POST ['deleteRelated'])) {गूंज $ _POST ['hidden-id']; // सिर्फ 'संबंधित_आईडी' मान प्रदर्शित करेगा Else {गूंज & lt; फार्म विधि = "पोस्ट" & gt; '; $ Stmt = $ db- & gt; तैयार करें ("संबंधित से चुनें"); $ Stmt- & gt; निष्पादित (); $ परिणाम = $ stmt- & gt; प्राप्त करें सभी (पीडीओ :: FETCH_ASSOC); विदेशी मुद्रा ($ संबंधित $ के रूप में परिणाम) {गूंज '& lt; इनपुट प्रकार = "छिपा हुआ" नाम = "छिपा-एडी" मान = "'। $ संबंधित ['related_id']। & Gt; & Lt; इनपुट प्रकार = "सबमिट करें" name = "deleteRelated" value = "x" & gt; '; } प्रतिध्वनि '& lt; / form & gt;'; }
अगर मैं टाइप करता हूं:
& lt; इनपुट प्रकार = "सबमिट करें" नाम = "हटाएँ हटाया गया" मान = "'। $ संबंधित [' related_id ' ]। "& Gt;
यह हटाए / सबमिट बटन के लिए x के बजाय डेटाबेस से सही मान प्रदर्शित करेगा लेकिन जब मैं डिलीट / सबमिट बटन दबाता हूं, तो मुझे अंतिम
related_id मिलता है, जो 29 है।
क्या कोई इस समस्या को हल कर सकता है? क्या ऐसा नहीं होना चाहिए?
स्पष्टीकरण
आपके पास एक
& lt , पूरी तालिका के लिए; & gt; , जिसमें एक दर्जन
& lt; इनपुट प्रकार = "छिपा हुआ" नाम = "छिपा-एडी" मान = "..." & gt; S।
जब फॉर्म सबमिट किया जाता है, तब उन मानों को सभी को सर्वर पर भेजा जाएगा (आप इसे केवल
छुपा आईडी को भेजने के लिए कैसे उम्मीद करते हैं विशिष्ट
सबमिट करें बटन दबाया गया था?) यही कारण है कि आप केवल आखिरी
छुपा आईडी â ???? देख रहे हैं वे सभी भेजे जा रहे हैं, इसलिए अंतिम एक ओवरराइड / जीत।
समाधान
एक समाधान के बजाय एक पंक्ति
होगा संपूर्ण तालिका के लिए एक & lt; form & gt;
foreach ($ का परिणाम $ संबंधित है) {echo '& lt; form method = "POST" action = " ... "& gt; '; गूंज '& lt; input type = "hidden" name = "hidden-id" value = "'। $ संबंधित ['related_id']। & Gt; & Lt; इनपुट प्रकार = "सबमिट करें" name = "deleteRelated" value = "x" & gt; '; गूंज & lt; / form & gt; '; }
इस तरह से, दबाए गए बटन का केवल
छुपा आईडी मान भेजा जाएगा।
Comments
Post a Comment