Danke Sempervivum.
Das hat auf anhieb funktioniert.
wie müsste ich das folgende korrekt eingeben, um die die id des elementes zu ändern? ich dachte an sowas. : ui.item.attr().setattribute("id", 1)
Aber es muss auch anders gehen.
Danke Sempervivum.
Das hat auf anhieb funktioniert.
wie müsste ich das folgende korrekt eingeben, um die die id des elementes zu ändern? ich dachte an sowas. : ui.item.attr().setattribute("id", 1)
Aber es muss auch anders gehen.
ja genau, ich benutze das jquery-UI sortable(https://jqueryui.com/sortable/). Die id des verschoben Elementes und die des Elementes dahinter.
Hier der relevante Code
// This is just a sample script. Paste your real code (javascript or HTML) here.
for (let x = 0; x < list_stops.list_stops.length; x++) {
console.log(ul_list_element)
let li = document.createElement('li');
li.classList.add("ui-state-default");
console.log('x')
console.log(x)
let tempNode =
document.createTextNode(list_stops.list_stops[x]);
let input = document.createElement('input');
let span = document.createElement('span');
let label = document.createElement('label');
let button = document.createElement('button');
let i = document.createElement('i');
span.classList.add("ui-icon");
span.classList.add("ui-icon-arrowthick-2-n-s");
input.classList.add("input_stop_list");
button.classList.add("btn");
i.classList.add("fa");
i.classList.add("fa-trash");
button.appendChild(i);
button.addEventListener("click", removeElement);
label.appendChild(tempNode_day);
console.log(li);
console.log(ul_list_element);
li.appendChild(span);
li.appendChild(tempNode);
li.appendChild(label);
li.appendChild(input);
li.addEventListener('dragstart', change_id())
li.addEventListener('dragend', change_id2())
li.appendChild(button);
li.setAttribute("id", x);
ul_list_element.appendChild(li);
}
ich denke, das müsste so ähnlich wie hier aussehen:
li.addEventListener('dragstart', change_id())
li.addEventListener('dragend', change_id2());
Alles anzeigen
Bei mir werden die 2 letzten Funktionen, aber nicht aufgerufen, wenn ich ein Li-element verschiebe, sondern wenn ich die übergreifende Funktion starte
Hallo zusammen,
ich habe eine Unorderedlist erstellt mit dynamisch erzeugten li Elementen und mit einer id versehen. Gibt es eine Möglichkeit die id des an eine andere Stelle verschoben Elementes als auch die id des li Elementes zu bekommen vor das, das verschobene li-Element verschoben wurde. Gibt es dazu auch einen Eventlistener wie den "click", wie den Click Eventlistener:
li.addEventListener('click', change_id())
Danke schon mal für eure Vorschläge und viele Grüße
Hallo ich versuche, dieses Array in php zu erstellen:
trips = {
"list_trips": [{
"list_id": "0",
"name": "Germany",
"list_type": "0",
"user_id": "0"
}, {
"list_id": "1",
"name": "Poland-trip",
"list_type": "1",
"user_id": "0"
},
{
"list_id": "2",
"name": "list-Attractions-A",
"list_type": "0",
"user_id": "0"
},
{
"list_id": "3",
"name": "list-attractions-B",
"list_type": "1",
"user_id": "0"
}
]
}
, durch anhängen von $ listelement. Doch ich glaube mein Ansatz ist falsch. Hier ein Teil meines Codes:
$list = array(
'list_trips' => array()
);
//show data
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_assoc($result)) {
$list_element = array(
'list_id' => $row["list_id"],
'name' => $row["name"],
'list_type' => $row["list_type"],
'user_id' => $row["user_id"]
);
array_push($list('list_trips'), $list_element);
}
echo($list);
Kann mir jemand sagen, wie es wirklich geht?
Vielen Dank schonmal
Hallo zusammen,
ich würde gerne eine js Variable an die PHP-Datei (php_delete.php) schicken.
Dort möchte ich die Datei mittels $_POST aufrufen und dann in einem sql-Befehl verwenden.
Die Variable ist eine ID, einen Datensatzes , der gelöscht werden soll.
So wie ich es verstanden habe, müsste das mit ajax funktionieren.
Ich würde mich freuen, falls mir jemand erklären kann, wie ich die Ajax-Funktion umschreiben muss.
<script>
var eleList = document.querySelectorAll('button');
console.log(eleList);
for(var x = 0;x<eleList.length;x++){
eleList[x].addEventListener('click',function(){
console.log('click');
element_delete = document.getElementById(this.id);
element_clicked_id = this.id;
console.log(element_clicked_id);
const url =http://localhost/dvd-archiv/php_delete.php
fetch(url).then(function(rep){
return rep.json()
}).then(function(data){
console.log(data.results[0]);
})
})
}
</script>
<?php include 'connect_database.php';?>
<?php
$element_delete= $_POST['post_var'];
$sql_delete =
"DELETE FROM filme.meine_filme WHERE nr = $element_delete";
if (mysqli_query($conn, $sql_delete)) {
echo "deleted sucessfully ";
echo "<br>";
} else {
echo "error at sql query: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
Alles anzeigen
ok, also wenn ich das richtig verstanden habe. müsste ich dann hier : data: {request: 1} die variable reinschreiben. Ich würde das so machen: data: {request: 1,variable},
und dann in der php datei würde ich das so aufrufen:
$preis1 = $_POST["variable"];
$sql = "SELECT * FROM mydb WHERE preis > ".$preis1; . Ist das ungefär richtig? ,..Welche Bedeutung hat eig. request 1?
Ich hoffe es ist jetzt so eingefügt, wie ihr wolltet. Prinzipiell funktioniert auch alles wie es soll. Nur ist mir nicht klar wie ich die eingegebene Zahl aus der Form im HTML Element in php-extern_search.php zusätzlich laden muss. Ich habe in php_extern_search in $sql versucht eine post-variable zu setzen, die ich aus der Form laden wollte. Hab es auch versucht an die URL anzuhängen. Aber bisher hat leider kein Versuch geholfen, das kleine Problem zu lösen.
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "immobilien";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM mydb";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "stadt: " . $row["Stadt"]. "<br>";
$output[]=$row;
}
} else {
echo "0 results";
}
// Json Output
print(json_encode($output,JSON_UNESCAPED_UNICODE));
$conn->close();
?>
Alles anzeigen
<html>
<head>
<link href="css_loadsql.css" media="screen" rel="stylesheet" type="text/css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<div class= "container">
<form class="form_button_alignment" >
Preis bis: <input action="php_extern_search.php" method="POST" type="number" min="1" name="preis1">
</form>
<button class="form_button_alignment" id="button_search">
Suche
</button>
</div>
<table>
<thead>
<tr>
<!-- <th>Objekt</th>
<th>Stadtteil</th> -->
<th>Ort</th>
<th>Preis <button id="btn_sort">sort</button></th>
<!-- <th>umlagef. Kosten</th>
<th>nicht umlagefähige Kosten</th>-->
</tr>
</thead>
<tbody id="test_table">
</tbody>
</table>
</html>
Alles anzeigen
<script>
var button_sort =document.getElementById('btn_sort')
button_sort.addEventListener('click', function(){
test.innerHTML = "";
$.ajax({
url: 'php_extern.php?',
type: 'post',
data: {request: 1},
success: function(data){
console.log(data.preis);
data1= JSON.parse(data)
console.log(data1[1])
for(var x=0;x<data1.length;x++){
console.log(data1[x])
test.innerHTML += "<tr> <td>" + data1[x].Stadt +"</td><td>"+ data1[x].preis + "</td> " + "</tr>"
}
}
});
/* const url_php = "php_extern.php";
fetch(url_php).then(res => {
return res;
}).then(datajson => {
console.log(datajson);
})
var php_output = "<php extern_function(); ?>"
for(var x=0;x<output.length;x++){
console.log(x)
console.log(output[x].Stadt)
test.innerHTML += "<tr> <td>" + output[x].Stadt +"</td><td>"+ output[x].preis + "</td> " + "</tr>"
}*/
})
const test = document.getElementById('test_table');
for(var x=0;x<output.length;x++){
console.log(x)
console.log(output[x].Stadt)
test.innerHTML += "<tr> <td>" + output[x].Stadt +"</td><td>"+ output[x].preis + "</td> " + "</tr>"
}
var button_search =document.getElementById('button_search')
button_search.addEventListener('click', function(){
test.innerHTML = "";
search_preis_bis = document.querySelector('input[name="preis"]');
//console.log(search_preis_bis.value)
$.ajax({
url: 'php_extern_search.php',
type: 'post',
data: {request: 1},
success: function(data){
console.log(data.preis);
data1= JSON.parse(data)
console.log(data1[1])
for(var x=0;x<data1.length;x++){
console.log(data1[x])
test.innerHTML += "<tr> <td>" + data1[x].Stadt +"</td><td>"+ data1[x].preis + "</td> " + "</tr>"
}
}
});
})
</script>
Alles anzeigen
<script type="text/javascript">
// pass PHP variable declared above to JavaScript variable
var output = <?php echo json_encode($output) ?>;
</script>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "immobilien";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$result = [];
$sql = "SELECT * FROM mydb WHERE preis > $_POST('preis1')";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$output[]=$row;
}
} else {
echo "0 results";
}
// Json Output
print(json_encode($output,JSON_UNESCAPED_UNICODE));
$conn->close();
?>
Alles anzeigen
Danke für die Hilfe. ajax funktiontiert jetzt. Wie kann denn aus der Form :
<form class="form_button_alignment" >
Preis bis: <input action="php_extern_search.php" method="get" type="number" min="1" name="preis1">
</form>
den Wert in php transportieren. Das müsste doch mit post oder get gehen, oder? Möchte den Wert dann hier statt der 100 nutzen: $sql = "SELECT * FROM mydb WHERE preis > 100";
var button_search =document.getElementById('button_search')
button_search.addEventListener('click', function(){
test.innerHTML = "";
search_preis_bis = document.querySelector('input[name="preis"]');
//console.log(search_preis_bis.value)
$.ajax({
url: 'php_extern_search.php',
type: 'post',
data: {request: 1},
success: function(data){
console.log(data.preis);
data1= JSON.parse(data)
for(var x=0;x<data1.length;x++){
console.log(data1[x])
test.innerHTML += "<tr> <td>" + data1[x].Stadt +"</td><td>"+ data1[x].preis + "</td> " + "</tr>"
}
}
});
--------------------------
php_extern_search.php
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "immobilien";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$result = [];
$sql = "SELECT * FROM mydb WHERE preis > 100";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$output[]=$row;
}
} else {
echo "0 results";
}
// Json Output
print(json_encode($output,JSON_UNESCAPED_UNICODE));
$conn->close();
?>
danke. Für eure Hilfe: Ich werde den Code noch aufräumen, doch noch habe ich Probleme mit ajax.
ich habe jetzt die php Datei erstellt: und möchte über das event, indem ich auf sort klicke auf das json element das hoffentlich dort erstellt wird zugreifen. Eine Verbindung funktioniert . Doch noch verstehe ich nicht wie ich auf das jsonelement oder die unterelemente davon zugreifen kann.
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "immobilien";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$result = [];
$sql = "SELECT * FROM mydb ORDER BY preis ASC";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "stadt: " . $row["Stadt"]. "<br>";
$output[]=$row;
}
} else {
echo "0 results";
}
// Json Output
print(json_encode($output,JSON_UNESCAPED_UNICODE));
$conn->close();
?>
var button_sort =document.getElementById('btn_sort')
button_sort.addEventListener('click', function(){
test.innerHTML = "";
const url_php = "php_extern.php";
fetch(url_php).then(res => {
return res;
}).then(datajson => {
console.log(datajson);
})
/*var php_output = "<php extern_function(); ?>"
for(var x=0;x<output.length;x++){
console.log(x)
console.log(output[x].Stadt)
test.innerHTML += "<tr> <td>" + output[x].Stadt +"</td><td>"+ output[x].preis + "</td> " + "</tr>"
}*/
})
Alles anzeigen
Hallo zusammen,
Ich habe 2 kleinere Probleme mit dem folgendem Code. Ich benutze event listener um durch einen click jeweils zwei Funktionen aufzurufen. Durch click auf den button suchen müsste zumindest der Tabelleninhalt vorest gelöscht werden, doch danach wird scheinbar die Seite nochmal aufgerufen, verstehe aber nicht wieso.
Meine zweite Frage ist wie kann ich diese Funktion aufrufen. Da muss noch irgendwas falsch sein :
damit sollen die Einträge nach preis sortiert werden. Hier nochmal der ganze Code:
<html>
<head>
<style>
th,table {
border: solid 1px
}
</style>
</head>
<form>
Preis bis: <input type="number" min="1" name="preis">
<button id="button_search">
Suche
</button>
</form>
<table>
<thead>
<tr>
<!-- <th>Objekt</th>
<th>Stadtteil</th> -->
<th>Ort</th>
<th>Preis <button id="btn_sort">sort</button></th>
<!-- <th>umlagef. Kosten</th>
<th>nicht umlagefähige Kosten</th>-->
</tr>
</thead>
<tbody id="test_table">
</tbody>
</table>
</html>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "immobilien";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM mydb";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "stadt: " . $row["Stadt"]. "<br>";
$output[]=$row;
}
} else {
echo "0 results";
}
// Json Output
print(json_encode($output,JSON_UNESCAPED_UNICODE));
$conn->close();
?>
<script type="text/javascript">
// pass PHP variable declared above to JavaScript variable
var output = <?php echo json_encode($output) ?>;
</script>
<html>
<div id="test"></div>
</html>
<script>
var button_sort =document.getElementById('btn_sort')
button_sort.addEventListener('click', function(){
test.innerHTML = "";
/*var php_output = "<php extern_function(); ?>"
for(var x=0;x<output.length;x++){
console.log(x)
console.log(output[x].Stadt)
test.innerHTML += "<tr> <td>" + output[x].Stadt +"</td><td>"+ output[x].preis + "</td> " + "</tr>"
}*/
})
const test = document.getElementById('test_table');
for(var x=0;x<output.length;x++){
console.log(x)
console.log(output[x].Stadt)
test.innerHTML += "<tr> <td>" + output[x].Stadt +"</td><td>"+ output[x].preis + "</td> " + "</tr>"
}
var button_search =document.getElementById('button_search')
button_search.addEventListener('click', function(){
test.innerHTML = "";
/* search_preis_bis = document.querySelector('input[name="preis"]')
console.log(search_preis_bis)*/
})
</script>
<?php
function extern_php()
{
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "immobilien";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$result = [];
$sql = "SELECT * FROM mydb ORDER BY preis ASC";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "stadt: " . $row["Stadt"]. "<br>";
$output[]=$row;
}
} else {
echo "0 results";
}
// Json Output
print(json_encode($output,JSON_UNESCAPED_UNICODE));
$conn->close();
}
?>
Hello I have done a script, which can load names in divs, which are then showed on the screen. This divs are draggable in boxex in the middle.
I am wondering why the divs, that are created from the JSON-list are immadiately kicked out from the boxex, while the divs, that are created in the html-code(town1-5) stay in the boxex.
Both should have same class. The function (update_towns) is in line 309. This creates the divs.
Thank you in advance for helping
auswahl3.html
test_town.js are appendend as text.
HTML-Seminar.de - mit Videos zum schnellen Lernen, wie man eine Website selbst erstellt.