Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] [jQuery] Zapisanie danych z selectable do bazy danych
Forum PHP.pl > Forum > Przedszkole
domi8
Proszę o pomoc... Nie mogę sobie poradzić z zapisaniem do bazy wyboru(indexu) z pól selectable. Chciałbym zapisać do jednego wiersz w bazie wartość z pola Nazwa + index z selectable (np. Przedmiot1, 2; Przedmiot1, 4). Oto kod:

CODE
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Selectable - Serialize</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">

<style>
#feedback { font-size: 1.4em; }
#selectable .ui-selecting { background: #FECA40; }
#selectable .ui-selected { background: #F39814; color: white; }
#selectable { list-style-type: none; margin: 0; padding: 0; width: 60%; }
#selectable li { margin: 3px; padding: 0.4em; font-size: 1.4em; height: 18px; }
</style>
<script>
$(function() {
$( "#selectable" ).selectable({
stop: function() {
var result = $( "#select-result" ).empty();
$( ".ui-selected", this ).each(function() {
var index = $( "#selectable li" ).index( this );
result.append( " #" + ( index + 1 ) );
});
}
});
});
</script>
</head>
<body>
<h2>Podaj przedmiot</h2>
<form method="post">
<div>
<p>Nazwa: <input type="text" name="txtNazwa" size="60"/></p><br />
<p id="feedback">
<span>You've selected:</span> <span id="select-result">none</span>.
</p>

<ol id="selectable">
<li class="ui-widget-content">Item 1</li>
<li class="ui-widget-content">Item 2</li>
<li class="ui-widget-content">Item 3</li>
<li class="ui-widget-content">Item 4</li>
<li class="ui-widget-content">Item 5</li>
<li class="ui-widget-content">Item 6</li>
</ol>
<p> <input type="submit" value="Zapisz"/></p>
</div>
</form>
</body>
</html>


Jest ktoś, kto pomoże mi w tym temacie questionmark.gif
SaMi
Ale z czym masz konkretnie problem?
Z tego co podałeś nic nie wynika, nigdzie i w żaden sposób nie przekazujesz pobranych danych, więc jak chcesz je zapisać do bazy ?
Podaj całość kodu.
domi8
Oto całość kodu po poprawkach:

CODE
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Baza danych</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">

@{
var db = Database.Open("BazaDanych");
var query2 = "SELECT * FROM Przedmioty, Dane WHERE Przedmioty.IDPD=Dane.IDPD";
var data2 = db.Query(query2);
var BazaDanychIDPD="";
var BazaDanychNazwa="";
var selectQueryString3 = "SELECT * FROM Przedmioty";
}

<style>
#feedback { font-size: 1.4em; }
#selectable .ui-selecting { background: #FECA40; }
#selectable .ui-selected { background: #F39814; color: white; }
#selectable { list-style-type: none; margin: 0; padding: 0; width: 450px; }
#selectable li { margin: 3px; padding: 1px; float: left; width: 100px; height: 80px; font-size: small; text-align: center; }
</style>

<script>
$(function() {
$( "#selectable" ).bind("mousedown", function(e) {
e.metaKey = true;
}).selectable({
stop: function() {
var result = $( "#select-result" ).empty();
$( ".ui-selected", this ).each(function() {
var index = $( "#selectable li" ).index( this );
result.append( " " + ( index + 1 ) );
});
}
});
});
</script>
</head>
<body>
<h2>Podaj przedmiot</h2>
<form action="insert.php" method="post" onsubmit="AJAXSubmit(this); return false;">

<div>
<p>Wybierz przedmiot: <select name="txtIDPD">


@foreach(var row in db1.Query(selectQueryString3))
{
<option value="@row.IDPD">@row.Nazwa</option>
}
</select></p>

<p id="feedback">
<span>You've selected:</span> <span id="select-result">none</span>.
</p>


<!-- Kazde wybrane pole selectable powinno być zapisane do osobnego wiersza w bazie -->

<ol id="selectable">
<li class="ui-state-default">1</li>
<li class="ui-state-default">2</li>
<li class="ui-state-default">3</li>
<li class="ui-state-default">4</li>
<li class="ui-state-default">5</li>
<li class="ui-state-default">6</li>
<li class="ui-state-default">7</li>
<li class="ui-state-default">8</li>

</ol>
<p> <input type="submit" value="Zapisz"/></p>
</div>
</form>
</body>
</html>



plik insert.php

CODE
<?php

$username='root';
$password='123';
$database='BazaDanych';

$IDPD = $_POST['txtIDPD'];
$Dostepny = $_POST['txtDostepny'];

mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die("Nie znaleziono bazy danych.");



$query = "INSERT INTO Dane (IDPD, Dostepny) VALUES ('$IDPD','$Dostepny')";
mysql_query($query);
if($query) echo "Zapisano do bazy danych.";
else echo "Błąd, nie udało się zapisać.";

mysql_close();

?>



Do bazy zapisuje się poprawnie tylko dane z pola IDPD, jak przekazać także z pól selectable??
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.