PHP Dinamicna Forma

PHP Dinamicna Forma

offline
  • Miljan Ilic
  • Pridružio: 18 Jun 2014
  • Poruke: 178

Imam jednu dinamicnu formu koja pre svega procita podatke iz baze, izlista INPUT-e, a zatim bi nakon ispunjene forme PHP trebao da vrati podatke u drugu MySQL tabelu:
  <form class="insert"  method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>?CategoryName=<?php echo $CategoryName; ?>">     <br/><label><?php echo $lang['CATEGORY_NAME']; ?>:</label>     <?php      $conn = new mysqli($SERVERNAME, $USERNAME, $PASSWORD, $DBNAME);      if ($conn->connect_error) {         die("Greska: " . $conn->connect_error);      }         $sql = "SELECT CategoryName FROM Categories WHERE ForUser = '$User_Check' ";         $result = $conn->query($sql);         if ($result->num_rows > 0) {               echo "<select style='text-transform: uppercase;' onchange='location = this.options[this.selectedIndex].value;' class='form-control' name='CategoryName'>";             while($row = $result->fetch_assoc()) {             echo "<option value='?CategoryName=".$row['CategoryName']."'>".$row['CategoryName']."</option>";         }             echo "</select>";     }              else {         echo "<div style='margin-top: 18px;' class='alert alert-danger'><b>$lang[MANAGE_CATEGORY_ALERT]</b></div>";     }     $conn->close();     ?>     <?php      $conn = new mysqli($SERVERNAME, $USERNAME, $PASSWORD, $DBNAME);      if ($conn->connect_error) {         die("Greska: " . $conn->connect_error);      }         $sql = "SELECT FieldName FROM Fields WHERE ForUser = '$User_Check' AND ForCategory = '$CategoryName' ";         $result = $conn->query($sql);         if ($result->num_rows > 0) {             while($row = $result->fetch_assoc()) {             echo "<label>".$row['FieldName'].":</label>";             echo "<input class='form-control' id='focusedInput' required type='text' placeholder='".$row['FieldName']."' name='".$row['FieldName']."'>";         }     }              else {         echo "<div style='margin-top: 18px;' class='alert alert-danger'><b>$lang[MANAGE_CATEGORY_ALERT]</b></div>";     }     $conn->close();     ?>     <input class="btn btn-primary" type="submit" value="<?php echo $lang['CREATE_CATEGORY_BUTTON']; ?>">   </form>

Problem nastaje pri vracanju podataka u bazu. Nikako ne mogu da smislim logicno resenje da pohvatam postovane podatke u varijablama. Ima li neko resenje?

Pozdrav i hvala unapred.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 15 Maj 2006
  • Poruke: 333
  • Gde živiš: Babušnica

Uhvati vrednosti preko $_POST i kreiraj upit za UPDATE.



offline
  • Miljan Ilic
  • Pridružio: 18 Jun 2014
  • Poruke: 178

Da bih uhvatio preko post moram da znam ime INPUT-a sa kog saljem podatke , a onda kreiram UPDATE, u ovom slucaju ne znam imena INPUT-a zato sto su uvek drugacija, odnosno zavie od imena polja u MySQL tabeli tako da nikako ne mogu da pohvatam podatke. Sigurno postoji neki drugi nacin, jer kako neko bese rekao: "U PHP-u je sve moguce..."

offline
  • Pridružio: 15 Maj 2006
  • Poruke: 333
  • Gde živiš: Babušnica

Naravno da jeste...

Kreiraj upit za prikaz svih kolona iz mysql tabele, zatim upoređuj njihova imena sa indeksima iz $_POST i ako postoji poklapanje onda znaš da si uhvatio pravu vrednost za pravu kolonu.

offline
  • Miljan Ilic
  • Pridružio: 18 Jun 2014
  • Poruke: 178

Hvala na pomoci, resio sam problem sa:
if($_SERVER["REQUEST_METHOD"] == "POST") { $CategoryName = $_GET["CategoryName"]; foreach ($_POST as $FieldName => $FieldContent) {     //$FieldContent = array($FieldContent); $query = "INSERT INTO Content (ForUser, ForCategory, ForField, FieldContent) VALUES ('$User_Check', '$CategoryName', '$FieldName', '$FieldContent')" ; echo $query; // for debugging purposes, remove this once it is working if ($conn->query($query) === TRUE) {     header('Location: insert.php?Message=Uspesno'); } else {     header('Location: insert.php?Message=Greska'); } } }

offline
  • Pridružio: 15 Maj 2006
  • Poruke: 333
  • Gde živiš: Babušnica

Ipak znaš imena polja. Onda je ok.

Pošto tvoja polja vuku ime iz baze, a navodno nisi znao njihova imena jer se uvek menjaju, mogao si preko SHOW COLUMNS da izvučeš.

Nema smisla to što si napisao u svom prethodnom postu ali dobro... bitno da si rešio Smile

offline
  • Miljan Ilic
  • Pridružio: 18 Jun 2014
  • Poruke: 178

Pocetnik sam kada je u pitanj PHP, neke stvari koje radim dosta su nelogicne, ali najbitnije mi je da radi. Pozz

Ko je trenutno na forumu
 

Ukupno su 1096 korisnika na forumu :: 36 registrovanih, 8 sakrivenih i 1052 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 100ka, A.R.Chafee.Jr., Arahne, Ben Roj, BlekMen, bojank, bokisha253, cavatina, Djokislav, doloress, Dr.Strangelove, drimer, Georgius, herrDule, kokodakalo, kuntalo, LUDI, mikrimaus, Milan A. Nikolic, MILO-VAN, Milometer, Mirage 2000N, moldway, mrav pesadinac, nebidrag, nemkea71, nenad81, nikoladim, Pohovani_00, Povratak1912, RED4G-304, royst33, Sirius, theNedjeljko, User98, VP6919