Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przekazywanie dynamicznie generowanej kotwicy do AJAX
Forum PHP.pl > Forum > XML, AJAX
animashi1807
Hej, mam problem z którym od kilku dni nie mogę sobie poradzić, poniżej opiszę flow, czyli jak mój skrypt powinien działać:

1. Admin wybiera kliknięciem z listy po lewej (generowanej na podstawie bazy danych) konkretnego użytkownika
2. Kotwica z user_id przekazywana jest do ajaxa
3. Ajax wysyła żadanie danych do skryptu php, np. php/live-data.php?user_id=2
4. Skrypt odpowiada JSONem z danymi dla danego usera
5. Framework do wykresów w divie #chart wrysowuje wykres.

Wszystko powinno działać bez odświeżania strony.

W tym momencie blokuje mnie przekazanie tego user_id do ajaxa, aby otrzymać z powrotem JSONa dla danego użytkownika. Dodatkowo wydaje mi się, że zbędny jest kod php w div id="right", którym spinam kotwicę z linku (siderbar - lista userów) z konkretnym divem. Wystarczy ten chart, który będzie odświeżany treścią dla konkretnego użytkownika.

html+php:

CODE
<div id="left" class="pre-scrollable col-lg-3">
<div class="list-group">
<?php include("php/dbSettings.php");
$result = $conn->query("SELECT * FROM user ORDER BY user_id");
if (!$result) {
die(mysqli_error($conn));
}
while ($user = mysqli_fetch_array($result)){
echo '<a href="#'.$user['user_id'].'" data-toggle="tab" class="list-group-item">' . $user['firstName'] . " " .$user['lastName'] . '</a>';
}
?>
</div>
</div>

<div id="right" class="col-lg-9">
<div class="tab-content">
<?php include( "php/dbSettings.php");
$result=$ conn->query("SELECT * FROM users ORDER BY user_id");
if (!$result) {
die(mysqli_error($conn));
}
while ($user = mysqli_fetch_array($result)){
echo '<div class="tab-pane" id="'.$user['user_id'].'">
<div id="chart" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
</div>';
} ?>
</div>
</div>


js+php:
CODE
<script>
$(function() {
$(document).ready(function() {
var ultimox;
var ultimoy;

$.ajax({
url: "php/live-data.php", //i want this line to be "php/live-data.php?user_id=2" and 2 is variable got from user list onlick
type: 'get',
success: function(DatosRecuperados) {
$.each(DatosRecuperados, function(i, o) {
//some deleted code - unimportant
});

//some deleted code - unimportant

$('#chart').highcharts({
//draws chart
});

}
});
});
setInterval(function() {
$.get("php/live-data.php?Consultar=1", function(UltimosDatos) { //i want this line to be "php/live-data.php?php/live-data.php?Consultar=1&user_id=2" and 2 is variable got from user list onlick
//updates chart
}
});
}, 1000);

//some deleted code - unimportant

});
</script>


Będę ogromnie wdzięczny za pomoc.

Pozdrawiam, Paweł
LowiczakPL
ID usera nie zapisuj w postaci

  1. echo '<div class="tab-pane" id="'.$user['user_id'].'">


bo to id w htmlu nie do tego służy

ale w data-id czyli

  1. echo '<div class="tab-pane" data-id="'.$user['user_id'].'">


i pobierasz sobie wtedy ID po kliknięciu w tab-pane za poomocą metody data

  1. var id = $('.tab-pane').data('id');
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-2024 Invision Power Services, Inc.