PHP dizi çıkış bir SQL sorgusu sonucu

2 Cevap php

PHP OOP yeniyim, bu doğru görünüyor mu?

class whatever {

    Function Maths() {
    $this->sql->query($requete);

   $i = 0;

  while($val = mysql_fetch_array($this)) { 
    $tab[i][average] = $val['average'];
    $tab[i][randomData] = $val['sum'];
    $i=$i+1;
    }
        return $tab;
}

Ben dizi içerdiği verilere erişmek istiyor

$foo = new whatever();
$foo->Maths();
 for ($i, $i <= endOfTheArray; i++) {

    echo Maths->tab[i][average];
    echo Maths->tab[i][randomData];
 }

Teşekkür ederim ;)

DÜZENLEME: i çıkışı bir dizi olarak SQL sorgusu sonucu istiyorum, bu yüzden sınıfın dışından erişebilirsiniz

2 Cevap

Size yardım ilgi olarak, burada bazı değişiklikler vardır. Olsa da, bu duymak Lütfen: Bu çok genel PHP veya OOP iyi bir arka plan olmadan mantıklı olmayabilir. Sen @ webbiedave linkini bakmak gerekir.

class whatever {

  static function maths() {
    $tabs = array();
    $results = $this->sql->query($requete);

    while($val = mysql_fetch_array($this)) { 
      $tabs = $val;
    }

    return $tabs;
}
  1. Bu (örneğin, $results değişkeni oluşturma SQL sorgu çalıştırmak tutmak için) sözdizimi hataları ve mantık hataları giderir.
  2. Bu akım örneği ile bir whatever() nesne örneğini gerek gerçekten var çünkü ben matematik yöntem statik yaptı.

İşte bu kullanılacak nasıl bazı değişiklikler şunlardır:

$results = whatever::maths();
foreacho ($results as $result) {
  echo $result['average'];
  echo $result['randomData'];
}
  1. Matematik () bir şeyler verir yana, bir değişken o saklamak gerekir; Daha önce, bir şey yapmaz vermedi gibi basitçe, diyorlar.
  2. Bu kıvrık for döngü a foreach halkası ile değiştirilebilir.

PHP OOP temellerini kontrol edin:

http://www.php.net/manual/en/language.oop5.basic.php

Kodu temizlemek için Edit: Teşekkürler. Çizgisinde bir şey deneyin:

$tabs = array();
while($val = mysql_fetch_assoc($result)) { 
    $tabs[] = $val;
}

Ve:

$foo = new whatever();
$tabs = $foo->Maths();
for ($tabs as $tab) {
    echo $tab['average'];
    echo $tab['randomData'];
}

http://www.php.net/manual/en/language.oop5.basic.php