У меня есть aut suggest textbox witch генерирует теги li с событием onclick с функцией, но мне нужно передать переменную php в функцию как параметр, но мне нужно только значение переменной li, на которое пользователь нажал, и теперь я всегда получаю последняя переменная в цикле. И я хочу, чтобы тест var был значением $ test = $ row ['t_product']; пользователя, на который пользователь нажимает
вот код im, использующий сейчас:
if(isset($_POST['search_term']) == true && empty($_POST['search_term']) == false){ $search_term = $_POST['search_term']; $customerid = $_SESSION['userdata']['t_customer_id']; $conn = connect(); $sql = "SELECT * FROM Licenses WHERE customer_id = '$customerid' AND t_name LIKE '$search_term%'"; $query = sqlsrv_query($conn, $sql); while(($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)) != false){ $test = $row['t_product']; ?> <script type="text/javascript"> var test = <?php echo json_encode($test); ?>; </script> <?php echo '<li onclick="show(test)">', $row['t_name'], '</li>'; } }
я надеюсь, что я хорошо объяснил свою проблему и надеюсь, что какое-то снижение поможет мне 🙂
Ну, может быть, вы должны это сделать:
while(($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)) != false){ $test = $row['t_product']; ?> <?php echo '<li onclick="show("'.$test.'")">', $row['t_name'], '</li>'; }
или
if(isset($_POST['search_term']) == true && empty($_POST['search_term']) == false){ $index = 0; $search_term = $_POST['search_term']; $customerid = $_SESSION['userdata']['t_customer_id']; $conn = connect(); $sql = "SELECT * FROM Licenses WHERE customer_id = '$customerid' AND t_name LIKE '$search_term%'"; $query = sqlsrv_query($conn, $sql); while(($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)) != false){ $test = $row['t_product']; ?> <script type="text/javascript"> var test<?php echo $index++ ?> = "<?php echo $test; ?>"; </script> <?php echo '<li onclick="show(test'.$index++.')">', $row['t_name'], '</li>'; } }
Изменить: удалил json_encode и заменил его кавычками
решил его, передав значение $ test как id для каждого li и в js получим его с
$test = $row['t_product']; echo '<li onclick="show(this)" id="'.$test.'">', $row['t_name'], '</li>' function show(id){ alert($(id).attr("id"));}