Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> HTML_AJAX i mysqli
unseen
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 3.12.2006

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


witam, czy ktoś może wie dlaczego tak jest?
korzystam z biblioteki HTML_AJAX, łączę się z bazą zeby coś wyciągnąć a potem wrzucic to korzystając z technik ajaxa na strone.
i tu problem:
jak korzsytam z interfejsu mysqli, czyli:
Kod
class SheetSizes{

    function getSizes($sheets_id){
        $db = db_connect();
        if (!$db){
            return 0;
        }
        $querySizes = "select * from tSheets where "
                    ."sheets_id ='$sheets_id';";
        $result = $db->query($querySizes);
        
        if (!$result){
                  return false;
                  }
        $row = $result->fetch_assoc();
        $sizes["name"] = $row["sheets_name"];
        $sizes["columns"] = $row["sheets_columns"];
        $sizes["rows"] = $row["sheets_rows"];
        $db->close;
        return $sizes;
    }
}

problem jest taki ze zmienna $result jest albo pusta, albo są w niej jakieś śmieci.

a jak korzsytam z proceduralnego interfejsu mysql:
Kod
class SheetSizes{

    function getSizes($sheets_id){
        if (mysql_connect('localhost', 'user', 'pass')and mysql_select_db('baza')) {
            $wynik = mysql_query("select * from tSheets where sheets_id ='$sheets_id';");
            mysql_close();
        }
        if ($wynik) {
               $row = mysql_fetch_assoc($wynik);
         }

        $sizes["name"] = $row["sheets_name"];
        $sizes["columns"] = $row["sheets_columns"];
        $sizes["rows"] = $row["sheets_rows"];
        return $sizes;
    }
}

to wszystko jest ok...
używam mysqli od dawna, mam swoje pliki konfigurujące połączenia i udostępniające interfejs tego połączenia i wolałbym nie musieć pzechodzić na mysql.

po stronie klienta mam:
Kod
<script type='text/javascript'>
function buildSheet()
{
    remoteSheetSizes.getSizes(1);
    
}

// Stworzenie tablicy asocjacyjnej do składowania metod zwrotnych
var sheetSizesCallback = {
  getSizes: function(resultSet) {

     if (!resultSet) drawTable(0, 0, 'brak');
     else{
         var name = resultSet["name"];
        var columns = resultSet["columns"];
        var rows = resultSet["rows"];
        
        drawTable(columns, rows, name);
     }
  }
}

function drawTable(columns, rows, name)
{
    var resultDiv = document.getElementById('tContent');
     resultDiv.innerHTML = '';
     resultDiv.innerHTML = name + ' ' + columns + ' ' + rows;
}

var remoteSheetSizes = new SheetSizes(sheetSizesCallback);//(sheetSizesCallback);
</script>
<input name="load" type="button" value="Load" onclick="buildSheet()" />


chciałbym żeby ktoś mi wytłumaczył dlaczego interfejs obiektowy mysqli nie działa poprawnie, a proceduralny mysql jak najbardziej tak. Czy to jakiś bug HTML_AJAX, czy może np popełniam błąd nawiązują w ten sposób połączenie wewnątrz klasy , która de facto jest potem przez ta bibliotekę odwzorowywana na obiekty JavaScriptu.

Pozdrawiam.

Ten post edytował unseen 3.12.2006, 02:20:36
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 Aktualny czas: 19.08.2025 - 15:31