तो मेरे पास एक पंक्ति के साथ एक टेबल है, 'bearbeiten' पर क्लिक करें, मुझे एक सूत्र मिलता है जहां मैं बदले हुए नाम या जो कुछ भी भर सकता हूं, और फिर सब कुछ केवल उन फ़ील्ड के बजाय बदल जाता है जिनमें मैंने कुछ लिखा था और बाकी रहता है।

तो अगर मैं केवल नाम बदलता हूं और सहेजें पर क्लिक करता हूं, तो तालिका में हर दूसरा फ़ील्ड खाली हो जाता है।

मैंने इसे पहले से ही कहां से आजमाया है, और पढ़ा है कि पोस्ट एक अच्छी विधि है लेकिन मुझे लगता है कि मैं इसे $ sql स्टेटमेंट में कुछ बदलाव करने के साथ बदल सकता हूं, बस यह नहीं पता कि क्या।

<?php
//if(isset($...)
if($_GET['aktion'] == "speichern")
{    
$ID             = $_GET['ID'];
$Anrede         = $_GET['Anrede'];
$Nachname       = $_GET['Nachname'];
$Vorname        = $_GET['Vorname'];
$Geburtsdatum   = $_GET['Geburtsdatum'];
$Telefonnummer  = $_GET['Telefonnummer'];
$Email          = $_GET['Email'];


$sql = "UPDATE Adressbuch SET Anrede = '$Anrede', Nachname = '$Nachname',Vorname = '$Vorname', Geburtsdatum = '$Geburtsdatum', Telefonnummer = '$Telefonnummer', Email = '$Email' ORDER BY ID DESC LIMIT 1";

echo '<a href="adressbuch-abfragen">Zurueck zum Adressbuch</a><br>';
require_once ('konfiguration.php');

$db_erg = mysqli_query($db_con, $sql)
    or die("Anfrage fehlgeschlagen: " . mysqli_error($db_con));

        exit;
}
0
cyxcat 10 जुलाई 2017, 10:06

2 जवाब

सबसे बढ़िया उत्तर

इसके बारे में कैसे: बस कॉलम को अपडेट करें, यदि आप वेरिएबल खाली नहीं हैं, अन्यथा इसे उसी मान के साथ अपडेट करें जैसा कि रिकॉर्ड में पहले से है।

UPDATE Adressbuch 
   SET Anrede =         CASE WHEN '$Anrede' != ''        THEN '$Anrede'        ELSE Anrede        END
      ,Nachname =       CASE WHEN '$Nachname' != ''      THEN '$Nachname'      ELSE Nachname      END
      ,Vorname =        CASE WHEN '$Vorname' != ''       THEN '$Vorname'       ELSE Vorname       END
      ,Geburtsdatum =   CASE WHEN '$Geburtsdatum' != ''  THEN '$Geburtsdatum'  ELSE Geburtsdatum  END
      ,Telefonnummer =  CASE WHEN '$Telefonnummer' != '' THEN '$Telefonnummer' ELSE Telefonnummer END
      ,Email =          CASE WHEN '$Email' != ''         THEN '$Email'         ELSE Email         END
 ORDER BY ID DESC LIMIT 1
1
Esteban P. 10 जुलाई 2017, 10:13

के रूप में प्रयोग करें और देखें कि यह काम करता है या नहीं। धन्यवाद।

<?php 
require_once ('konfiguration.php');
//if(isset($...)
if($_GET['aktion'] == "speichern")
{    
  $ID             = $_GET['ID'];
  $Anrede         = $_GET['Anrede'];
  $Nachname       = $_GET['Nachname'];
  $Vorname        = $_GET['Vorname'];
  $Geburtsdatum   = $_GET['Geburtsdatum'];
  $Telefonnummer  = $_GET['Telefonnummer'];
  $Email          = $_GET['Email'];

  //use where in your query to update the particular row
  //in below query id = your column in database table
  $sql = "UPDATE Adressbuch SET Anrede = '$Anrede', Nachname = '$Nachname',Vorname = '$Vorname', Geburtsdatum = '$Geburtsdatum', Telefonnummer = '$Telefonnummer', Email = '$Email' WHERE id='$ID'";

  $db_erg = mysqli_query($db_con, $sql) or die("Anfrage fehlgeschlagen: " . mysqli_error($db_con));

  echo '<a href="adressbuch-abfragen">Zurueck zum Adressbuch</a><br>';

  exit;
}
?>

जीईटी के बजाय पोस्ट विधि का प्रयोग करें।

0
Gyan 10 जुलाई 2017, 10:15