Radim plugin za WP problem sa upitom u bazu

Pozz, radim plugin za wp i nikako mi ne radi array ne znam više što krivo radim satima pokušavam naći rješenje.
.
function sadrzaj_widgeta()
{
    global $wpdb;

        $result = $wpdb->get_results("SELECT * FROM moja_tablica", ARRAY_A);
            
        foreach( $result as $row) { 
            
        echo $row->ime_stupca; //niti ovo ne radi
        echo $row['ime_stupca']; //niti ovo ne radi
        }
    }

Može li mi netko reći što nije uredu sa ovim upitom…?

Lupi si var_dump($result) prije foreach ili jos bolje

echo "<pre>";
print_r($result);
echo "</pre>";

radi lakseg citanja sto si dobio pa vidi kako ti se zovu pojedini clanovi rezultata, sto uopce dobijes i kako do toga.
Ako koristis ARRAY_A flag racunaj da ti $row->ime_stupca nece radit i tak jer vraca array a ne objekt.

Jedno pitanje, zasto radis direktni query na bazu, spremanje u wp_options table ti ne pase?

@nosf
echo “

”;
print_r($result);
echo “
”;

Mi vraća prazno:

Array
(
)

@apazinjan
Zato jer tablica sa artiklima već postoji.

Želim ovakav upit prebaciti da bude siguran i u skladu sa WP politikom

<?php 
// konekcija
$conb = mysqli_connect("localhost", "ime_korisnika", "pass", "ime_baze");
$conb->set_charset("utf8");
// upit
$upit    = "
SELECT * 
FROM `moja_tablica` 
WHERE id_artikla='artikl1' OR id_artikla='artikl2'
ASC";

$result = mysqli_query($conb, $upit);

while ($row = mysqli_fetch_array( $result)) {
    
    
    //sadržaj
    
    
    }
mysqli_close($conb);
?>

Mislim da ti se uopce ne spoji na tablicu jer mu treba ovak nekak $wpdb->moja_tablica rec u kveriju, sudeci po tome sto je resultset prazan. A rjesio sam ja to negdje vec u kodu na sajtu sam se ne sjecam di tocno.

Fest sam siguran da ce ovo rjesit problem, napamet govoreci. Mislim da u $wpdb se napune sve tablice iz baze na koju si spojen, tako da ce umjesto “moja_tablica” ovo radit “$wpdb->moja_tablica”. Not sure 100% tho.
Ima tu decki s aktivnijim WP iskustvom mozda ko moze potvrdit/negirat.

Mislim i ja da je moguće ali ne znam kako da “napunim” $wpdb sa mojom tablicom :smiley: nije dovoljno samo $wpdb->moja_tablica staviti u query to sam probao.

function sadrzaj_widgeta() {
    global $wpdb;   

        $result = $wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->moja_tablica", ARRAY_A));

        foreach( $result as $row) { 

        echo $row->ime_stupca; //niti ovo ne radi
        }
}

?

@belmin niti to ne prolazi nikako da pokupi podatke iz tablice. :confused:

Evo cp kako je to kod mene na jednom ful custom page, ovo koristi kao sto vidis gdsr_data_article tablicu, to mozes bez beda za sebe primjenit, promjenit kveri jasno.

      global $wpdb;
  $wpdb->wp_gdsr_data_article = $table_prefix . 'gdsr_data_article';
  $total = "
  	SELECT $wpdb->posts.* ,$wpdb->wp_gdsr_data_article.views
  	FROM $wpdb->posts, $wpdb->wp_gdsr_data_article
  	WHERE $wpdb->posts.ID = $wpdb->wp_gdsr_data_article.post_id
  	ORDER BY $wpdb->wp_gdsr_data_article.views DESC 
   ";					
  $totalposts = $wpdb->get_results($total, OBJECT);

Ne kužim što radim krivo neće i dalje…

I dalje mi ne radi upit u bazu… zar je to tako komplicirano nije mi jasno…

Svjetski sam ovo rješio neću reći kako. Moja banalna greška uglavnom. hvala svima na pomoći. Zatvaraj!

Hvala na pomoći i na primjeru!

Reci nam u cemu je bio problem :wink:

uploadao sam tablicu u krivu bazu. :stuck_out_tongue: imam nekoliko paralelnih istih baza za neka testiranja… zaboravio sam da sam napravio i treću kopiju baze a radio promjene u drugoj… :stuck_out_tongue:

1 Like