Produkt Details in Category anzeigen

Kent94

Mitglied
Hallo,

leider habe ich folgendes Problem ich nutze die Software TekBASE. Diese beinhaltet eine Shop Category Datei wo alle angelegten Produkte im Admin Bereich angezeigt werden. Leider bekomme ich es nicht hin das die Produkt Details abgerufen werden.


Mein Code sieht wie folgt aus

PHP:
<?php
if ($box_prodcounter > 0) {
}



echo '        
            <div  class="pi-col-md-4 pi-col-xs-6">
                <table class="pi-pricing">
                    <thead>
                    <tr>
                        <td class="pi-pricing-head-blue pi-text-center">
                            <span class="pi-pricing-title">'.$box_prodtitle.'</span>

                            <div class="pi-pricing-price">
                                <span class="pi-pricing-currency">&euro;</span>
                                <span class="pi-pricing-amount">'.$box_prodprice.'</span>
                                <span class="pi-pricing-period">/mtl.</span>
                            </div>
                            <p class="pi-italic">
                                '.$box_prodshort.'<br>
                            </p>
                        </td>
                    </tr>
                    </thead>
                    <tbody>'; ?>

<?php
    // SQL-Query
if ($box_prodcounter > 0) {
}
    $strSQL = "SELECT * FROM teklab_shop_varicat  WHERE id = 4";

    // Query ausführen (die Datensatzgruppe $rs enthält das Ergebnis)
    $rs = mysql_query($strSQL);
   
    // Schleifendurchlauf durch $rs
    // Jede Zeile wird zu einem Array ($row), mit mysql_fetch_array
    while($row = mysql_fetch_array($rs)) {

       // Schreibe den Wert der Spalte Vorname (der jetzt im Array $row ist)
    echo '<tr><td><strong>'.$row[title].'</strong> <br />';

      }
?>
<?php
    // SQL-Query
if ($box_prodcounter > 0) {
}
    $strSQL = "SELECT * FROM teklab_shop_variation  WHERE id = 10";

    // Query ausführen (die Datensatzgruppe $rs enthält das Ergebnis)
    $rs = mysql_query($strSQL);
   
    // Schleifendurchlauf durch $rs
    // Jede Zeile wird zu einem Array ($row), mit mysql_fetch_array
    while($row = mysql_fetch_array($rs)) {

       // Schreibe den Wert der Spalte Vorname (der jetzt im Array $row ist)
    echo ''.$row[title].'</td></tr>';

      }
?>
<?php
    // SQL-Query
if ($box_prodcounter > 0) {
}
    $strSQL = "SELECT * FROM teklab_shop_varicat  WHERE id = 5";

    // Query ausführen (die Datensatzgruppe $rs enthält das Ergebnis)
    $rs = mysql_query($strSQL);
   
    // Schleifendurchlauf durch $rs
    // Jede Zeile wird zu einem Array ($row), mit mysql_fetch_array
    while($row = mysql_fetch_array($rs)) {

       // Schreibe den Wert der Spalte Vorname (der jetzt im Array $row ist)
    echo '<tr><td><strong>'.$row[title].'</strong> <br />';

      }
?>
<?php
    // SQL-Query
if ($box_prodcounter > 0) {
}
    $strSQL = "SELECT * FROM teklab_shop_variation  WHERE id = 11";

    // Query ausführen (die Datensatzgruppe $rs enthält das Ergebnis)
    $rs = mysql_query($strSQL);
   
    // Schleifendurchlauf durch $rs
    // Jede Zeile wird zu einem Array ($row), mit mysql_fetch_array
    while($row = mysql_fetch_array($rs)) {

       // Schreibe den Wert der Spalte Vorname (der jetzt im Array $row ist)
    echo ''.$row[title].'</td></tr>';

      }
?>
<?php
    // SQL-Query
if ($box_prodcounter > 0) {
}
    $strSQL = "SELECT * FROM teklab_shop_varicat  WHERE id = 6";

    // Query ausführen (die Datensatzgruppe $rs enthält das Ergebnis)
    $rs = mysql_query($strSQL);
   
    // Schleifendurchlauf durch $rs
    // Jede Zeile wird zu einem Array ($row), mit mysql_fetch_array
    while($row = mysql_fetch_array($rs)) {

       // Schreibe den Wert der Spalte Vorname (der jetzt im Array $row ist)
    echo '<tr><td><strong>'.$row[title].'</strong> <br />';

      }
?>
<?php
    // SQL-Query
if ($box_prodcounter > 0) {
}
    $strSQL = "SELECT * FROM teklab_shop_variation  WHERE id = 14";

    // Query ausführen (die Datensatzgruppe $rs enthält das Ergebnis)
    $rs = mysql_query($strSQL);
   
    // Schleifendurchlauf durch $rs
    // Jede Zeile wird zu einem Array ($row), mit mysql_fetch_array
    while($row = mysql_fetch_array($rs)) {

       // Schreibe den Wert der Spalte Vorname (der jetzt im Array $row ist)
    echo ''.$row[title].'</td></tr>';

      }
?>
<?php
    // SQL-Query
if ($box_prodcounter > 0) {
}
    $strSQL = "SELECT * FROM teklab_shop_varicat  WHERE id = 7";

    // Query ausführen (die Datensatzgruppe $rs enthält das Ergebnis)
    $rs = mysql_query($strSQL);
   
    // Schleifendurchlauf durch $rs
    // Jede Zeile wird zu einem Array ($row), mit mysql_fetch_array
    while($row = mysql_fetch_array($rs)) {

       // Schreibe den Wert der Spalte Vorname (der jetzt im Array $row ist)
    echo '<tr><td><strong>'.$row[title].'</strong> <br />';

      }
?>
<?php
    // SQL-Query
if ($box_prodcounter > 0) {
}
    $strSQL = "SELECT * FROM teklab_shop_variation  WHERE id = 13";

    // Query ausführen (die Datensatzgruppe $rs enthält das Ergebnis)
    $rs = mysql_query($strSQL);
   
    // Schleifendurchlauf durch $rs
    // Jede Zeile wird zu einem Array ($row), mit mysql_fetch_array
    while($row = mysql_fetch_array($rs)) {

       // Schreibe den Wert der Spalte Vorname (der jetzt im Array $row ist)
    echo ''.$row[title].'</td></tr>';

      }
?>
<?php
    // SQL-Query
if ($box_prodcounter > 0) {
}
    $strSQL = "SELECT * FROM teklab_shop_varicat  WHERE id = 8";

    // Query ausführen (die Datensatzgruppe $rs enthält das Ergebnis)
    $rs = mysql_query($strSQL);
   
    // Schleifendurchlauf durch $rs
    // Jede Zeile wird zu einem Array ($row), mit mysql_fetch_array
    while($row = mysql_fetch_array($rs)) {

       // Schreibe den Wert der Spalte Vorname (der jetzt im Array $row ist)
    echo '<tr><td><strong>'.$row[title].'</strong> <br />';

      }
?>
<?php
    // SQL-Query
if ($box_prodcounter > 0) {
}
    $strSQL = "SELECT * FROM teklab_shop_variation  WHERE id = 14";

    // Query ausführen (die Datensatzgruppe $rs enthält das Ergebnis)
    $rs = mysql_query($strSQL);
   
    // Schleifendurchlauf durch $rs
    // Jede Zeile wird zu einem Array ($row), mit mysql_fetch_array
    while($row = mysql_fetch_array($rs)) {

       // Schreibe den Wert der Spalte Vorname (der jetzt im Array $row ist)
    echo ''.$row[title].'</td></tr>';

      }
?>
</td>

<?php echo'</td>

                    </tr>
                    <tr>
                        <td class="pi-pricing-description">
                            <p class="pi-smaller-text">
                                '.$box_proddescription.'
                            </p>
                        </td>
                    </tr>
                    </tbody>
                    <tfoot>
                    <tr>
                        <td>
                            <p>
<a class="btn pi-btn-blue pi-btn-wide" style="position: relative;  z-index: 99;" href="'.$storedetails.''.$box_prodid.'" class="button_form">Details anzeigen</a>
                            </p>
                        </td>
                    </tr>
                    </tfoot>
                </table></div>';
?>

Eine Antwort vom Service Team habe ich bereits erhalten komme leider aber hiermit nicht zurecht.

Zitat vom Service Team:
Also die Abfrage muss immer mit der Produkt ID geschehen nicht mit der Kategorie ID denn wenn die Kategorie ID 2 ist und damit die Variationen abgefragt werden, dann ist es so als fragt man immer Produkt XY mit der ID 2 ab.

In das store_category.tpl die ProduktID verwenden glaube box_prodid damit dann die Variationen abfragen sortiert nach z.b. der catid.

Vorher noch eine While Abfrage der shop_varicat welche den Namen in z.b. $my_varicat[ID_DER_VARICAT_AUS_DER_DB_ID] = $AUS_DER_DB_DEN_NAMEN;
Das ganze in eine IF Abfrage packen damit diese DB While Abfrage nur einmal ausgeführt wird und nicht bei jedem Produkt. IF $mycounter = 0 then am ende der category.tpl dann ein $my_counter = 1;

Dann my_varicat dazu verwenden bei der While die Kategorie anzuzeigen. Natürlich auch hier nur einmal den Kategorie Namen anstatt für jede Variation jetzt die Kategorie anzuzeigen..

Oder aber zu den Schritten einfach eine INNER LEFT DB Abfrage der Variationen und der Kategorien.
--------------

Ich hoffe mir kann hier jemand helfen.

MfG
 
Hallo,

vielen Dank für die Antwort die mysql_fetch ist eig auch nur eine Notlösung diese habe ich einfach nur rein getan um zu zeigen was ich meine die Variationen sprich z.B in den Admin Bereich gebe ich ein Arbeitsspeicher 10 GB dann soll das auch so abgerufen werden wie es im Produkt angelegt wurde.. Das bekomme ich aber leider nicht hin weshalb ich die mysql abfrage erst einmal genutzt habe was aber nicht die lösung ist da jedes produkt ja andere werte hat.
 
OK. Das sind jetzt mal 231 Zeilen Code von dir.
Irgendwo dar drin geht etwas nicht. Du weisst immerhin, was der Code machen soll, wie die Tabellen heissen etc.
Wir nicht.

Bitte reduziere die Frage / Code auf das wesentliche und gib mehr Infos über die Struktur.
In welcher Tabelle ist diese ID, von der der Support spricht?
Wie hängen die Tabellen zusammen?
Was willst du genau ausgeben?
 
Hallo,

also ich habe bereits mehr oder weniger eine lösung gefunden es gibt einmal die Datei Shop Category wo die Produkte die man anlegt alle aufgelistet werden klickt mann dann auf details kommt man auf das bestimmte Produkt mit folgenden Code geht es in der Produkt Datei aber in der Shop Category funktioniert diese code einfach nicht.

PHP:
<?php
if ($box_prodcounter > 0) {
}



echo '        
            <div  class="pi-col-md-4 pi-col-xs-6">
                <table class="pi-pricing">
                    <thead>
                    <tr>
                        <td class="pi-pricing-head-blue pi-text-center">
                            <span class="pi-pricing-title">'.$box_prodtitle.'</span>

                            <div class="pi-pricing-price">
                                <span class="pi-pricing-currency">&euro;</span>
                                <span class="pi-pricing-amount">'.$box_prodprice.'</span>
                                <span class="pi-pricing-period">/mtl.</span>
                            </div>
                            <p class="pi-italic">
                                '.$box_prodshort.'<br>
                            </p>
                        </td>
                    </tr>
                    </thead>
                    <tbody>'; ?>

<?php
for ($i=0; $i<count($box_prodvarcategory); $i++) {
    if ($box_prodvaronetime[$i] == 'no') {
                if ($box_prodid == 'id') {
                      if ($box_prodvarcatid[$i] == 1 OR $box_prodvarcatid[$i] == 1) {
                               echo '<tr><td><strong>test </strong>';
                      }
                }
        echo '<tr><td>'.$box_prodvarcategory[$i].'</td><td><select name="varid[]" id="'.$box_prodvarcatid[$i].'" class="selectfield" onChange="createprice()">';
        for ($j=0; $j<count($box_prodvarid); $j++) {
            if ($box_prodvarcheck[$j] == $box_prodvarcatid[$i]) {
                echo '<option value="'.$box_prodvarid[$j].'">'.$box_prodvariation[$j].' ('.$box_prodvarmonper[$j].''.$box_prodvarstatus[$j].')</option>';
            }
        }
        echo '</select>
              </td></tr>';
    }
}
?>
</td>

<?php echo'</td>

                    </tr>
                    <tr>
                        <td class="pi-pricing-description">
                            <p class="pi-smaller-text">
                                '.$box_proddescription.'
                            </p>
                        </td>
                    </tr>
                    </tbody>
                    <tfoot>
                    <tr>
                        <td>
                            <p>
<a class="btn pi-btn-blue pi-btn-wide" style="position: relative;  z-index: 99;" href="'.$storedetails.''.$box_prodid.'" class="button_form">Details anzeigen</a>
                            </p>
                        </td>
                    </tr>
                    </tfoot>
                </table></div>';
?>
 
Sorry, ich kann dir nicht helfen. Für dich ist alles klar, was du schreibst. Für mich und andere Leser gar nicht.
"Wenn ich bei meinem Auto da auf den Knopf drücke, dann passiert nicht das was es soll."
Und? Kannst du damit was anfangen? Nein, kannst du nicht. Es fehlen viele Infos um dir zu helfen.
Genau so ist es bei deiner Frage.

Darum nochmals:
Bitte reduziere die Frage / Code auf das wesentliche und gib mehr Infos über die Struktur.
In welcher Tabelle ist diese ID, von der der Support spricht?
Wie hängen die Tabellen zusammen?
Was willst du genau ausgeben?
Zusätzlich:
Wie zeigt sich der Fehler? Fehlverhalten? Fehleremeldung? Totalabsturz? Ein Lachen ertönt?

Bitte hilf uns dir zu helfen!

Anbei ist mir beim überfliegen des Codes das folgende aufgefallen. Hat zwar nix mit deinem Problem zu tun.
PHP:
?>
</td>

<?php echo'</td>
Ein td schliessen und der ist in einem weiteren td? Das kann nicht sein. Fehlerhaftes HTML
 
Noch eine Frage
PHP:
for ($i=0; $i<count($box_prodvarcategory); $i++) {
    if ($box_prodvaronetime[$i] == 'no') {
Haben die 2 Arrays $box_prodvarcategory und $box_prodvaronetime dieselben Dimensionen?
Do iterierst über den Einen und liest mit dem Index aus dem Anderen Werte aus.

Dasselbe gilt für diverse andere Arrays, die du nachher noch rauchst.
Woher kommen diese Arrays?
 
Noch ein Hinweis zum Softwaredesign:
Die Abfrage der Datenbank sollte keine Wildcards enthalten. Dein
PHP:
SELECT * FROM
ist schlechter Stil. Wenn sich am Design der Tabelle etwas ändert, musst Du unter Umständen Deinen gesamten Code anpassen. Frag lieber gezielt die einzelnen Spalten ab, das sollte auch besser für die Performance sein, zumal Du sowieso nur "title" abfragst:
PHP:
 SELECT title FROM teklab_shop_variation  WHERE ...
 

Neue Beiträge

Zurück