Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX][PHP]Problem z wyświetlaniem wyników zapytania
RavenLZ
post 20.04.2011, 09:06:49
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 27.11.2009

Ostrzeżenie: (0%)
-----


Witam.

Jestem początkujący w temacie AJAX, więc proszę o wyrozumiałość.

Utworzyłem bardzo prosty formularz na stronie HTML. Użytkownik wpisuje nazwisko osoby, które następnie powinno być wyświetlone pod formularzem w sekcji div id='wyniki' przez skrypt AJAX. Niestety po kliknięciu przycisku wyświetlana jest nowa strona z wynikami wyszukiwania.

Proszę o pomoc i z góry dziękuję.

Pozdrawiam

Kod html formularza:
Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
    <title>Pracownicy wg nazwiska</title>
    <script src="ajax.js" type="text/javascript"></script>
    <script src="nazwisko.js" type="text/javascript"></script>
</head>
<body>
    <p>Wprowadź nazwisko i kliknij "Dalej" aby przeglądać listę osób o podanym nazwisku.</p>
    <form action="wyniki_ajax.php" method="get" id="nzw_form">
        <table>
            <tr><td><input id="idn" name="idn" type="text"/></td><td><input type="submit" name="dalej" value="Dalej"/><td></tr>
        </table>
    </form>
    <div id='wyniki'></div>
</body>
</html>


Kod AJAX:
Kod
window.onload = init;
function init(){
    var ajax = getXMLHttpRequestObject();
    if(ajax){
        if(document.getElementById('wyniki')){
            document.getElementById('nzw_form').onsubmit=function(){
                var idn=document.getElementById('idn').value;
                ajax.open('get','wyniki_ajax.php?idn=' + encode.URIComponent(idn));
                ajax.onreadystatechange=function(){
                    handleResponse(ajax);
                }
                ajax.send(null);
                return false;
            }
        }
    }
}

function handleResponse(ajax){
    if(ajax.readyState == 4){
        if((ajax.status == 200)||(ajax.status == 304)){
            var wyniki = document.getElementById('wyniki');
            wyniki.innerHTML = ajax.responseText;
            wyniki.style.display='block';
        }else{
            document.getElementById('nzw_form').submit();
        }
    }
}


Kod pliku wyniki_ajax.php:
Kod
<?php
header('Content-Type:text/html;charset=iso-8859-2');
$idn = 0;
if(isset($_GET['idn'])){
    $idn = $_GET['idn'];
}
if($idn <> ""){
    require_once("mysql_conn.php");
    $sql = "SELECT * FROM dane_test WHERE nazwisko='".$idn."'";
    $res = mysql_query($sql);
    echo "<table>";
    echo "<tr><th>Lp.</th><th>Imię</th><th>Nazwisko</th></tr>";
    $i = 1;
    while($row = mysql_fetch_assoc($res)){
        echo "<tr><td>".$i."</td><td>".$row['imie']."</td><td>".$row['nazwisko']."</td></tr>";
    }
    echo "</table>";
    mysql_close($dbc);
}else{
    echo "<p class='blad'>Aby przeglądać pracowników o podanym nazwisku - wprowadź je.</p>";
}
Go to the top of the page
+Quote Post
krowal
post 21.04.2011, 06:26:42
Post #2





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

Ostrzeżenie: (0%)
-----


encode.URIComponent(idn) zmień na encodeURIComponent(idn)


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
RavenLZ
post 21.04.2011, 06:36:15
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 27.11.2009

Ostrzeżenie: (0%)
-----


Dzięki. Podziałało. Temat uważam za zamknięty.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 17:12