• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Własna wtyczka Wordpress

Fiszki IT
Fiszki IT
+1 głos
87 wizyt
pytanie zadane 24 czerwca w Systemy CMS przez Poczatkujaca s z.o.o Obywatel (1,860 p.)

Hej,

Napisałam prostą wtyczkę WordPress, która wyświetla dane z bazy.

I teraz pytanie, w jaki sposób wtyczką powinna się łączyć z bazą?

czy taki skrypt PHP

<?php 
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
  }
} else {
  echo "0 results";
}
$conn->close(); 
?>

Czy jest jakiś lepszy sposób ?

 

Minusy, które widzę dla tego rozwiązania, to gdy przeniosę stronę w inne miejsce potrzebna będzie zmiana danych do bazy każdorazowo

Fajnie jakby to jakoś dynamicznie te dane pobierało

4 odpowiedzi

+2 głosów
odpowiedź 24 czerwca przez Paweł Mansfeld Obywatel (1,420 p.)

Połączenie do bazy danych jest już zapisane w wp-config.php nie trzeba tego powielać w kodzie wtyczki. Poczytaj o obiekcie $wpdb: https://developer.wordpress.org/reference/classes/wpdb/

0 głosów
odpowiedź 24 czerwca przez wizarddos Stary wyjadacz (13,140 p.)
Dobrze by było użyć zamiast mysqli pdo.

I zamiast funkcji query używać bindParam i poleceń przygotowany

(oczywiście jeżeli można używać tego rodzaju rzeczy w WordPress)
0 głosów
odpowiedź 24 czerwca przez mdatelier Mądrala (7,020 p.)
W wtyczkach WordPress możesz zdefiniować coś takiego jak ustawienia. Definiujesz pole baza danych, nazwa użytkownika, hasło, adres i port, a potem wtyczka z tego korzysta. Więcej szczegółów masz w dokumentacji WordPress.
0 głosów
odpowiedź 30 czerwca przez Poczatkujaca s z.o.o Obywatel (1,860 p.)

Udało mi się połączyć z bazą danych przez $wpdb.

Ale dlaczego nie mogę wyświetlić danych w pętli if while

if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
  }
} else {
  echo "0 results";
}

To wywala błąd.

Tylko przez <?php get_dump($result); ?> można wyświetlić dane

Dlaczego?

 

Podobne pytania

+1 głos
1 odpowiedź 41 wizyt
0 głosów
1 odpowiedź 93 wizyt
pytanie zadane 28 października 2016 w Systemy CMS przez Lumpex Nowicjusz (140 p.)
+1 głos
1 odpowiedź 35 wizyt
Porady nie od parady
Nie wiesz jak poprawnie zredagować pytanie lub pragniesz poznać którąś z funkcji forum? Odwiedź podstronę Pomoc (FAQ) dostępną w menu pod ikoną apteczki.FAQ

84,762 zapytań

133,562 odpowiedzi

295,999 komentarzy

56,017 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...