2014-11-21 3 views
0

Я знаю, что этот вопрос задан много раз, но я пробовал в течение нескольких часов и ничего не работал, я noob с php и ajax, поэтому я мог бы пропустить небольшую вещь, Мне не известно, что я пытаюсь достичь здесь, так это то, что я хочу, чтобы пользователь выбирал группу продуктов питания и основывался на том, что будет отображаться список ингредиентов.Параметры динамического выбора php и mysql

Я протестировал свой файл process.php один, и он работает хорошо, я также протестировал сценарий, что происходит, когда строка, начинающаяся с $ .ajax, не работает, когда я прокомментирую ее и наберите alert (parent) Я действительно получаю значение выбранного параметра, так что я делаю неправильно здесь? или мне не хватает импорта? PS Я использую самозагрузки 3,0 для дизайна

Вот мой HTML код

<!-- field food group--> 
      <div class ="field form-group"> 
      <label for="food-group"> Food Group * </label> 
      <div class="input-group input-group-lg"> 

      <select class="form-control" id="food-group-id" name="food-group" onchange="ajaxfunction(this.value)"> 
       <?php 
       // retreiving the recipe groups 
        $RecipeGroup = new FoodGroup(); 
        $data = $RecipeGroup->findAll(); 

        foreach ($data->results() as $recipegroup) { 
        // displaying the options 
        echo '<option value="'.$recipegroup->food_group_id.'">'.$recipegroup->food_group_name.'</option>'; 
        }     
       ?> 

      </select> 

      </div> 
      </div> 
      <!-- field Ingredients--> 
      <div class ="field form-group"> 
      <label for="ingredients"> Ingredients * </label> 
      <div class="input-group input-group-lg"> 

      <select class="form-control" id="ingredients"> 

       <?php 
       // retreiving the recipe groups 
        $ingredients = new Ingrident(); 
        if(Input::exists()){ 
        $data = $ingredients->findByGroup(Input::get('food-group')); 
        }else 
        $data = $ingredients->findByGroup(1); 

        foreach ($data->results() as $ingredient) { 
        // displaying the options 
        echo '<option value="'.$ingredient->ingrident_id.'">'.$ingredient->ingrident_name.'</option>'; 
        }     
       ?> 

      </select> 
      <br> <br> <br> 
      <span id="helpBlock" class="help-block center">Ingredient not listed ? 
       <button class="btn btn-primary center" value="add-ing"> <span class="glyphicon glyphicon-plus"></span> Add New Ingredient </button> 

      </span> 

      </div> 
      </div> 

Вот мой сценарий

<script type="text/javascript"> 
    function ajaxfunction(parent) 
    { 


    $.ajax({ 
      url: 'process.php?food-group=' + parent; 
      success: function(data) { 
       $("#ingredients").html(data); 
      } 
     }); 
    } 
</script> 

Вот мой файл process.php

<?php 
    mysql_connect('localhost', 'root',''); 
    mysql_select_db("online_recipes"); 

    $result = mysql_query("SELECT * FROM `ingrident` WHERE `food_group_id_fk` = " . mysql_real_escape_string($_GET['food-group'])); 
    while(($data = mysql_fetch_array($result)) !== false) 
     echo '<option value="', $data['ingrident_id'],'">', $data['ingrident_name'],'</option>'; 

Перечень импортируемых товаров

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script> 
<script src="js/bootstrap.min.js"></script> 
<script src="js/docs.min.js"></script> 

<script src="js/ie10-viewport-bug-workaround.js"></script> 
+0

Ваш process.php работает? – Edrich

+0

да это работает –

ответ

2
$.ajax({ 
      url: 'process.php', 
      type:'post', 
      data: {parent: parent}, 
      success: function(data) { 
       $("#ingredients").html(data); 
      } 
     }); 

в вашем process.php

$parent = $_POST['parent']; 
echo($parent); 
+0

Спасибо большое Мохамед! Сейчас он работает: D –

+0

@amateurprogrammer Удачи –

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