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 1079 korisnika na forumu :: 55 registrovanih, 3 sakrivenih i 1021 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 20624 - dana 04 Apr 2026 04:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: aca018, Akiro, ArchaBasha, bigfoot, Borkanović, Chainsaw, Cicumile, Coabelgrade, Colt D, Dare, debeli, DJ Brain(w)rack, Djokislav, Dovla 1980, Draganče, dragoljub11987, Dukelander, gripen, Iskander, jalos, Jan, Jozo74, kaisarevic1, kaput21, knutveliki, Koridor 11, mercedesamg, moldway, muaddib, nnnnnnnnnn, pein, Podljub, probisic, Pururin, Recce, RJ, rovac, sasics, scimitar19, Sir Budimir, Smiljkovich, SOVO515, stibium51, US_Rank_0, Vanderx, Velibor Radoja, Vlada78, vrag81, yip314, YugoSlav, Zastava, zivojin32, Zjmc, zlaya011, Zrcalo