JFactory::getDbo + pętla while
Wyniki 1 do 7 z 7

Temat: JFactory::getDbo + pętla while

  1. #1
    Debiutant
    Dołączył
    28-03-2018
    Wpisy
    6
    Punkty
    2

    Joomla! 3.6 JFactory::getDbo + pętla while

    Mam oto taki kod. Jak go przerobić by połączyć się z bazą danych za pomocą $db = JFactory::getDbo(); a nie wpisywać login i hasło. Próbowałem rożnymi poleceniami, ale nic mi nie wychodzi. W innych funkcjach normalnie pobieram wartości z pomocą JFactory::getDbo()

    Kod PHP:
    defined('_JEXEC') or die;
    class 
    MycompController extends JControllerLegacy
    {

     public function 
    test() 
    {

    $host "localhost";    /* Host name */
    $user "root";         /* User */
    $password "";         /* Password */
    $dbname "strona1";   /* Database name */

    // Create connection
    $con mysqli_connect($host$user$password,$dbname);

    // Check connection
    if (!$con) {
        die(
    "Connection failed: " mysqli_connect_error());
    }

    if(isset(
    $_POST['search'])){
        
    $search $_POST['search'];

        
    $query "SELECT * FROM k4qc8_test_type WHERE name like'%".$search."%'";
        
    $result mysqli_query($con,$query);
        
        while(
    $row mysqli_fetch_array($result) ){
            
    $response[] = array("value"=>$row['id'],"label"=>$row['name']);
        }

        echo 
    json_encode($response);
    }

    exit;
     



  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Senior moje awatar
    Dołączył
    08-01-2008
    Skąd
    Silesia
    Wpisy
    6 055
    Punkty
    188

    Domyślny

    Nawet nie chciało Ci się zerknąć na stronę dokumentacji -> https://docs.joomla.org/Selecting_data_using_JDatabase?

    Tam masz wszystko opisane oraz są podane przykłady.
    Webdeveloper do usług ;)

  4. #3
    Debiutant
    Dołączył
    28-03-2018
    Wpisy
    6
    Punkty
    2

    Domyślny

    zaglądałem...
    Nie działa
    Kod PHP:

    // Get a db connection.
    $db JFactory::getDbo();

    // Create a new query object.
    $query $db->getQuery(true);

        
        
    // Select all records from the user profile table where key begins with "custom.".
    // Order it by the ordering field.
    $query->select($db->quoteName('*');
    $query->from($db->quoteName('k4qc8_test_type'));
    $query->where($db->quoteName('name') . ' LIKE '.  $db->quote('%".$search."%'));

    // Reset the query using our newly populated query object.
    $db->setQuery($query);

    // Load the results as a list of stdClass objects (see later for more options on retrieving data).
    $results $db->loadObjectList();
        
        
        while(
    $row mysqli_fetch_array($results) ){
    exit; 
    Testowałem zapytania na pętlach foreach i działa ale na while nie chce działać, a jest mi to potrzebne do pola typu autocomplete. Co robię źle ?

  5. #4
    Debiutant
    Dołączył
    28-03-2018
    Wpisy
    6
    Punkty
    2

    Domyślny

    ktoś pomoże ?

  6. #5
    Wyjadacz siristru awatar
    Dołączył
    28-05-2009
    Skąd
    Szczecin
    Wpisy
    776
    Punkty
    91

    Domyślny

    Może dla

    Kod PHP:
    $row mysqli_fetch_array($results
    potrzebujesz czegoś innego niż

    Kod PHP:
    $results $db->loadObjectList(); 
    może

    Kod PHP:
    $db->loadRow(); 
    ??
    Само слога Славjанa спашава - Свуда пођи, својој кући дођи.

  7. #6
    Bywalec danieladrianka awatar
    Dołączył
    02-01-2006
    Skąd
    Lębork
    Wpisy
    419
    Punkty
    121

    Domyślny

    $results = $db->loadObjectList();

    zwraca tablicę asocjacyjną w postaci obiektu np:
    Array (
    [0] => stdClass Object ( [id] => 1 [name] => John Smith
    [email] => johnsmith@domain.example [username] => johnsmith )
    [1] => stdClass Object ( [id] => 2 [name] => Magda Hellman
    [email] => magda_h@domain.example [username] => magdah )
    [2] => stdClass Object ( [id] => 3 [name] => Yvonne de Gaulle
    [email] => ydg@domain.example [username] => ydegaulle )
    )
    pętla "while" wykonywana jest tak długo aż zostanie spełniony warunek : "($row = mysqli_fetch_array($results) )"

    w warunku masz przypisanie do zmiennej $row tablicy asocjacyjnej ze zmiennej $results która to zawiera już tablicę asocjacyjną w postaci obiektu
    coś tu chyba nie tak?
    jaki efekt chcesz osiągnąć?

  8. #7
    Przeglądacz washingtonplx awatar
    Dołączył
    20-06-2010
    Wpisy
    66
    Punkty
    16

    Domyślny

    Podam Ci jedyne znane mi, działające rozwiązanie twojego problemu.

    Kod PHP:
    $db JFactory::getDbo(); 
                
    $query $db->getQuery(true);
                
    $query "SELECT * FROM #__test_type WHERE name like'%".$search."%'";
                
    $db->setQuery($query);
                
    $result $db->query();

    while(
    $row mysqli_fetch_array($result) ){
    // i dalej co tam masz 

Podobne tematy

  1. Phoca Download Error while saving Phoca Download Sections
    przez Siszunia na forum Rozszerzenia - problemy z obsługą, zarządzaniem
    Odpowiedzi: 3
    Ostatni post/autor: 20-12-2013, 14:26
  2. 404 Not Found error was encountered while trying to use an ErrorDocum NOWY
    przez azimo na forum Instalacja, aktualizacja, migracje
    Odpowiedzi: 2
    Ostatni post/autor: 21-08-2012, 18:56
  3. Phoca Gallery "Error while Creating Thumbnails (Error1)"
    przez lukasz3001 na forum Joomla 1.5 BŁĘDY
    Odpowiedzi: 3
    Ostatni post/autor: 30-11-2009, 18:22
  4. JFactory::getDate - data o dwie godziny do tyłu
    przez idek na forum Programowanie pod Joomla!
    Odpowiedzi: 2
    Ostatni post/autor: 28-09-2009, 23:12
  5. JFactory: data po polsku zamiast angielskiego
    przez traspie na forum Szablony, wygląd, formatowanie
    Odpowiedzi: 1
    Ostatni post/autor: 25-04-2009, 23:46

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •