2016-09-07 3 views
1

Im занят обучением ajax. У меня есть страница резервирования и страница проверки.Отправьте данные PHP Link из ajax на другую страницу onclick

То, что я хочу сделать

типов пользователей наймодателя имя в поле поиска, совпадающих имен получает извлекается из БД и отображается динамически.

Как так:

reservations.php

enter image description here

Когда пользователь нажимает на ссылку, выделенную, я хотел бы оговорка Id получить передаются на страницу оформления заказа. THUS, Я ищу способ передать идентификатор резервирования на другую/другую страницу, которую я могу использовать для обработки данных на странице проверки.

checkout.php

enter image description here

КОД

ПОИСК/Jquery

$(document).ready(function() { 
     $("#searchbox").on('keyup',function() { 
      var key = $(this).val(); 

      $.ajax({ 
       url:'fetch.php', 
       type:'GET', 
       data:'keyword='+key, 
       beforeSend:function() { 
        $("#results").slideUp('fast'); 
       }, 
       success:function (data) { 
        $("#results").html(data); 
        $("#results").slideDown('fast'); 
       } 
      }); 
     }); 
    }); 
</script> 
<div id="main"> 
    <div id="header"><h1>Find Names</h1></div> 
    <div id="content"> 
     <input type="search" name="keyword" placeholder="Search Names" id="searchbox"> 
     <div id="results"></div> 
    </div> 
</div> 

fetch.php

if($_GET['keyword'] && !empty($_GET['keyword'])) 
    { 
     $conn = mysqli_connect('localhost','root','','*****'); //Connection to my database 
     $keyword = $_GET['keyword']; 
     $keyword="%$keyword%"; 
     $query = "select renter_name from reservations where renter_name like ?"; 
     $statement = $conn->prepare($query); 
     $statement->bind_param('s',$keyword); 
     $statement->execute(); 
     $statement->store_result(); 
     if($statement->num_rows() == 0) // so if we have 0 records acc. to keyword display no records found 
     { 
      echo '<div id="item">Ah snap...! No results found :/</div>'; 
      $statement->close(); 
      $conn->close(); 

     } 
     else { 
      $statement->bind_result($name); 
      while ($statement->fetch()) //outputs the records 
      { 
       echo "<div id='item'>$name</div>"; 
      }; 
      $statement->close(); 
      $conn->close(); 
     }; 
    }; 

DB

enter image description here

Любая помощь или совет, с точки зрения реализации высоко оценили!

+1

Это было бы очень похоже на то, что у вас уже есть с той разницей, что вам нужно, чтобы поймать событие 'click', где вы уже сейчас ловите событие keyUp. Какова конкретная проблема? – jeroen

+0

@jeroen Мне нужно 1) Получить res_id из совпадения имени в поисковом поле, на основе имени пользователя, нажатого 2) передать & заполнить его в поле формы экрана проверки ... надеюсь, что это делает sence – Marilee

+0

Почему у меня закрытый голос по этому вопросу я приложил много усилий к этому вопросу, пытаясь предоставить как можно больше деталей, в то время как в соответствии с руководящими принципами. – Marilee

ответ

5

Просто используйте ссылки и запросы. На первом эхо ссылки вместо DIV:

echo "<a href='yourpage.php?id=$name'>$name</a>"; 

И на вашей странице просто:

<?php 
echo $_GET[" id"]; 
?> 
+0

Работал, как шарм, большое вам спасибо! один последний вопрос, если вы не возражаете .... Мне не нужно получить 'res_id', связанное с именем ..., мне нужно было бы изменить свой SQL-запрос' $ keyword = $ _GET ['keyword']; $ keyword = "% $ keyword%"; $ query = "select renter_name, от резервирования, где renter_name нравится?" 'Когда я добавляю' query = ', выберите res_id, renter_name, из резервирования, где renter_name нравится?";' Я получаю ошибку 'Количество переменных привязки не соответствует количеству полей в подготовленном выражении' Любая идея, как я могу это исправить? – Marilee

+0

@Marilee: вы didnt mistype $ query (вы написали запрос = в своем комментарии)? –

+0

Извините, он должен был прочитать «$ query», работая над этим сейчас, думаю, что я на правильном пути, скрещенные пальцы – Marilee

Смежные вопросы