Как построчно импортировать данные из базы данных Wordpress в таблицу - PullRequest
1 голос
/ 29 февраля 2020

У меня проблема с отображением того, что я хочу. В моем случае у меня есть две таблицы, которые сравниваются друг с другом и должны отображать нужные продукты. Это работает до сих пор, но я получил несколько строк продуктов в моей таблице.

Вот так это выглядит сейчас на странице вывода HTML:

Product 1 - without link         
Product 1 - with link a href        
Product 1 - without link        
Product 1 - without link        
Product 2 - without link         
Product 2 - with link a href        
Product 2 - without link         
Product 2 - without link         
Product 3 - without link        
Product 3 - with link a href        
Product 3 - without link         
Product 3 - without link                  

Но я хочу вот так:

Product 1 - with link a href       
Product 2 - with link a href        
Product 3 - with link a href        
Product 4 - with link a href               

Вот мой текущий PHP код:

function get_products()
        {   
          $producttyp_s = 200;     /* Produkttyp Nummer von_  */
          $producttyp_b = 240;     /* Produkttyp Nummer bis_  */ 
          global $wpdb;            /* globale variable für wordpress  */    
          $id = get_the_ID ($id);  /* id von Produktgruppe auslesen */

          $products = $wpdb->get_results("SELECT Produkt_Kurzbeschreibung, Bild_klein, Datenblatt, Produkt_Typ 
FROM ".$wpdb->prefix."produkte WHERE Produkt_Typ < $producttyp_b AND Produkt_Typ > $producttyp_s"); 
          $gefundene_produkte = $wpdb->num_rows;
          $posts = $wpdb->get_results("SELECT post_title, post_status, guid, post_parent 
FROM ".$wpdb->prefix."posts WHERE post_title < $producttyp_b AND post_title > $producttyp_s AND post_parent = $id AND post_status = 'publish'");
          echo "<table class='get_products_header'><tr>
                <th class='get_products_typ_header'>Typ</th>
                <th class='get_products_img_header'>Bild</th>
                <th class='get_products_pdf_header'>PDF</th>
                <th class='get_products_title_header'>Kurzinfo</th>
                </tr></table>";                 
          foreach($products as $variableausgabe)
            foreach($posts as $postsausgabe)
          {
            {      
            echo "<table class='get_products'>";            
            echo "<tr>";
                if ($postsausgabe->post_status == 'publish' ){
                  if ( $variableausgabe->Produkt_Typ == $postsausgabe->post_title AND $id == $postsausgabe->post_parent) {
                        echo "<td class='get_products_typ'>
<a href='$postsausgabe->guid'>$variableausgabe->Produkt_Typ</a></td>";
                        echo "$postsausgabe->post_status";
                     } 
                    else if ($postsausgabe->post_status !== 'publish' ){
                     }
                }               
                if (!empty($variableausgabe->Bild_klein)) {
                    echo "<td class='get_products_img'><img src='/jpeg/$variableausgabe->Bild_klein'/></td>";
                 } 
                else if (empty($variableausgabe->Bild_klein) ){
                    echo "<td class='get_products_typ'>kein Foto</td>";
                 }                
             echo "<td class='get_products_pdf_header'>
<a href='$variableausgabe->Datenblatt' target='_blank' rel='noopener'><img class='get_products_pdf' src='/jpeg/pdf.png'/></a></td>"; 
             echo "<td>$variableausgabe->Produkt_Kurzbeschreibung</td>";            
             echo "</tr>";
             echo "</table>";
            }
          }
          echo "<br>Anzahl der Produkte: ".$gefundene_produkte;
        } 
        add_shortcode( 'productlist', 'get_products' );
...