Не получать данные с сервера с помощью slim.

0

я не могу получить какие-либо данные с сервера с одновременным использованием двух запросов на получение. Мой тонкий код:

$app->get('/stravaigers', 'getTowns');

$app->get('/stravaigers', 'searchAdmin');

и их соответствующий код

function getTowns() {
    $sql = "select distinct town from members where role='Member' order by town asc";
    try {
        $db = getConnection();
        $stmt = $db->query($sql);
        $town = $stmt->fetchAll(PDO::FETCH_OBJ);
        $db = null;
        echo json_encode($town);
    } catch(PDOException $e) {
        echo '{"error":{"text":'. $e->getMessage() .'}}';
    }
}


function searchAdmin() {

    $querytype=$_GET['querytype'];
    $querystring=trim($_GET['querystring']);
    //$querystring=trim($querystring);

    switch ($querytype)
    {
        case 1:
            $sql = "select * from members where role='member' and SUBSTRinG(lname, 1, 1) = '$querystring'";
            break;
        case 2:
            $sql = "select * from members where role='member'";
            break;
        case 3:
            $sql = "select * from members where role='member' and status = '$querystring'";
            break;
        case 4:
            $sql = "select * from members where role='member' and town = '$querystring'";
            break;
    }
    try {
        $db = getConnection();
        $stmt = $db->prepare($sql);
        $stmt->execute();
        $myjson = $stmt->fetchAll(PDO::FETCH_OBJ);
        $db = null;
        echo json_encode($myjson);      
    } catch(PDOException $e) {
        echo '{"error":{"text":'. $e->getMessage() .'}}';
    }
}

Я никогда раньше не использовал slim before или php. функции в java-скрипте:

function getTowns() { 
    $.ajax({
        type:"GET",
        url: rootURL, dataType:'json', 
        success: function(towns){ 
        $("#mytable").append('<tr><th>Town</th></tr>'); 
        for(var i=0;i<towns.length;i++){
            $("#myTown").append('<option value="'+towns[i].town+'">'+towns[i].town+'</option>');   
        }
    }
    });
}

и функцию, которая должна вызывать другой запрос GET;

function showAll(qstring,qtype) {
    var num=0;
    var recend=0;
    var totrecs=1;
    $("#vsdiv").show();
    $.ajax({
        type: "GET",
        url: rootURL, dataType:'json',data:{querystring:qstring,querytype:qtype},
        success: function(myjson){ 
            if(myjson.length==0){
                alert("No records found."); 
                var me= $('#hr1').html()+" - No Records Found.";
                $("#hr1").removeAttr("href");
            } else {
                num=myjson.length-1;
                if(myjson.length>=10){
                    recend=10;
                } else {
                    recend=myjson.length;
                }
                var me= $('#hr1').html()+" - Showing 1 - "+recend+" of "+myjson.length+" Records in Table.";
                $('#hr1').html(me);
                $("#hits").html("Viewing #1 of "+num+" records");
                $("#resultstable").append('<tr class="yellow">'+
                        '<th>#REC</th><th>JOINED</th><th>USER NAME</th><th>CONTACT</th><th>ADDRESS</th><th>PHONE</th><th>EMAIL</th><th>STATUS</th><th>SELECT</th>'+
                '</tr>');
                var j=0;
                for(var i=0;i<10;i++){
                    $("#resultstable").append('<tr class="trow'+j+'">'+
                            '<td class="ids" id="z'+i+'">'+totrecs+'</td>'+
                            '<td>'+myjson[i].jdate+'</td>'+
                            '<td class="users" id="username'+i+'">'+myjson[i].username+'</td>'+
                            '<td id="contact'+i+'">'+myjson[i].fname+' '+myjson[i].lname+'</td>'+
                            '<td id="myaddress'+i+'">'+myjson[i].address1+' '+myjson[i].town+'</td>'+
                            '<td id="phone'+i+'">'+myjson[i].phone+'</td>'+
                            '<td id="email'+i+'">'+myjson[i].email+'</td>'+
                            '<td id="status'+i+'">'+myjson[i].status+'</td>'+
                            '<td><input type="checkbox" name="whome" id="showMe'+i+'" class="boxes" onclick="getMe('+i+')" /></td>'+
                    '</tr>');   
                    totrecs++;
                    j++;
                }
                if(myjson.length>10){
                    $("#n10").attr("disabled",false);
                    $("#l10").attr("disabled",false);
                }
            }
        }
    });
}

теперь я так называю их в html;

  <script>
        showAll(urlParams.querystring,urlParams.querytype);
      </script> 

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

Я не знаю, почему он не возвращает данные с сервера. Немного помогли бы оценили :)

благодаря

  • 0
    Поиск админа тоже выдает города, или вообще ничего?
  • 0
    Нет, getTowns () используется для получения городов. Поисковый админ мне ничего не дает.
Теги:
slim

1 ответ

0

Тонкие матчи маршрутов в том порядке, в котором они предоставляются. Поскольку оба маршрута, которые вы опубликовали, используют один и тот же метод HTTP и указывают на одну и ту же конечную точку, вы всегда будете получать результаты getTowns. Вам нужно будет переименовать один из маршрутов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню