Abrufen eines Wertes aus einer wp-database

Warum gibt meine SQL-statement keinen Wert zurück … ist das falsch?

get_results($wpdb->prepare("SELECT * FROM $wpdb->wp_frm_item_metas")); foreach ($result as $item){ $eventname= $result->meta_value; } ?> 

Was ich tue, ist, dass ich die in der database gespeicherten Daten unter Verwendung eines formidablen Formulars anzeigen kann. (Nicht pro) .. Ist etwas mit meinem Code nicht in Ordnung?

Solutions Collecting From Web of "Abrufen eines Wertes aus einer wp-database"

Ich glaube für Ihre Foreach-function sollte wie folgt sein:

 foreach ($result as $item){ $eventname= $item->meta_value; } 

Es gibt einige Probleme mit Ihrem Code.

  1. Es sei denn, Sie oder ein Plugin haben wp_frm_item_metas zu $wpdb , $wpdb hat keine Idee, was $wpdb->wp_frm_item_metas ist. Sie erhalten einen “Undefined Property” Fehler, und Ihre Abfrage wird nicht funktionieren.

    Sie können nicht einfach $wpdb-> plus einen beliebigen Tabellennamen verwenden. Das wird nicht funktionieren. Sie müssen die Eigenschaft $wpdb , was nicht so schwierig ist .

  2. Deine foreach ist falsch. Sie streichen über $results aber bei jeder Iteration müssen Sie auf $item zugreifen, nicht auf $result . Wie so:

     foreach ($result as $item){ echo $item->meta_value; } 
  3. Ihre Abfrage enthält jedoch keine einschränkende Anmeldung – keine WHERE Klausel -, sodass jede Zeile in der Tabelle wp_frm_item_metas wird. Also, entweder brauchst du das … foreach ($ result als $ item) {$ eventname [] = $ item-> meta_value; } …, was nicht sinnvoll ist, wenn Sie versuchen, echo $eventname;
  4. Oder sowohl Ihre Abfrage als auch Ihre Wahl der $wpdb Methode ist falsch. Es sieht für mich so aus, als ob du etwas näher dran brauchst:

     $eventname = $wpdb->get_var( $wpdb->prepare( "SELECT meta_value* FROM $wpdb->wp_frm_item_metas WHERE something = %s", 'something' ) ); 

    Sie können jetzt echo $eventname ohne den echo $eventname Loop wiederholen.

  5. Beachten Sie, wie ich den prepare Methodenaufruf geändert habe. $wpdb->prepare muss zwei Argumente haben. Ihr Code wäre zu diesem Zeitpunkt ebenfalls fehlgeschlagen.

Als Referenz: https://codex.wordpress.org/Class_Reference/wpdb

Bitte aktivieren Sie das Debugging während der Arbeit. Sie hätten viel davon entdeckt, wenn Sie dieser einfachen Regel gefolgt wären.

Sie haben einen Fehler in Ihrem Code, der $ eventname sollte $ item-> meta_value enthalten

Ok, ich habe es viel Dank ..

Jetzt habe ich versucht, die Ausgabe in der richtigen Weise wie folgt anzuzeigen. Spalte 1 – Name des Ereignisses (mit klickbarem Link, der auf eine Seite verweist, die das einzelne Ereignis auf einer Seite mit Details anzeigt) Spalte 2 – Datum des Ereignisses Spalte 3 – Stadt, Bundesland. (Ort)

Hier ist mein Code

 $query = "SELECT * FROM wp_frm_item_metas where field_id IN (8,13, 12, 11 )"; $result = @mysql_query($query) or die (mysql_error()); ?>"; while($row = mysql_fetch_array($result)){ if($row['field_id'] == 8){ $title = $row['meta_value']; } else if($row['field_id'] == 13){ https://wordpress.stackexchange.com/questions/31576/retrieving-a-value-from-a-wp-database/$link = $row['meta_value']; echo ""; } else if($row['field_id'] == 12){ $date=$row['meta_value']; echo ""; } else { $place=$row['meta_value']; echo ""; } $i++; } echo ""; } ?> 
Event Date Venue< ? $i=1; while($i <= 1) { echo "
$title $date$place

aber die Ausgabe ist wirklich verwirrend .. in der ersten Spalte ist der Veranstaltungsort .. der zweite ist korrekt das Datum .. und der dritte ist der Titel .. warum ist das Display so? Hier ist die Struktur der database ..

http://img.daswordpress.com/plugins/bemom.jpg