Poslao: 29 Maj 2015 17:27
|
offline
- Dr.Cooler
- Građanin
- 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.
|
|
Poslao: 30 Maj 2015 22:00
|
offline
- MSMarkoN
- Ugledni građanin
- Pridružio: 15 Maj 2006
- Poruke: 333
- Gde živiš: Babušnica
|
Uhvati vrednosti preko $_POST i kreiraj upit za UPDATE.
|
|
|
|
Poslao: 30 Maj 2015 22:50
|
offline
- Dr.Cooler
- Građanin
- 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..."
|
|
|
|
Poslao: 31 Maj 2015 00:00
|
offline
- MSMarkoN
- Ugledni građanin
- 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.
|
|
|
|
Poslao: 31 Maj 2015 12:40
|
offline
- Dr.Cooler
- Građanin
- 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');
}
}
}
|
|
|
|
Poslao: 31 Maj 2015 13:32
|
offline
- MSMarkoN
- Ugledni građanin
- 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
|
|
|
|
Poslao: 31 Maj 2015 16:47
|
offline
- Dr.Cooler
- Građanin
- 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
|
|
|
|