Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Datenbankabfrage mit Dropdown

    NicoDeluxe

    • Fördermitglied
    • Beiträge: 987
    • Geschlecht:
    Datenbankabfrage mit Dropdown
    am: 23. August 2012, 11:15:49
    Hallo Freunde der Nacht,

    hab mal ne Frage: Ich möchte mir selber eine Druckermodellabfrage erstellen (total aufwändig vom einpflegen)

    Hat jemand eine Idee wie man eine Datenbankabfrage mit Dropdownmenü erstellen kann?

    Schema:

    Hersteller > Druckertyp > Druckerbezeichnung > Ergebnis =   passende Tinte/Toner

    Gibt es hierfür vielleicht sogar schon "fertige" Module (Ajax?) Oder irgendsowas?

    Freu mich auf Antworten :)

    Linkback: https://www.modified-shop.org/forum/index.php?topic=21894.0
    Marktplatz - Eine große Auswahl an neuen und hilfreichen Modulen sowie modernen Templates für die modified eCommerce Shopsoftware

    NicoDeluxe

    • Fördermitglied
    • Beiträge: 987
    • Geschlecht:
    Re: Datenbankabfrage mit Dropdown
    Antwort #1 am: 25. August 2012, 17:33:36
    Keiner ne Idee? :):(

    NicoDeluxe

    • Fördermitglied
    • Beiträge: 987
    • Geschlecht:
    Re: Datenbankabfrage mit Dropdown
    Antwort #2 am: 02. Oktober 2012, 09:17:12
    Guten Morgen Leute,

    hab nun einige Tabellen etc in der DB angelegt. Nun muss ich das ganze irgendwie in die Homepage bringen.

    Gibt es eine Art Anleitung? Hab da schon mal eine filter.php Datei erstellt, aber wie "verknüpfe" ich die mit der index.html, sodass mit der Filter angezeigt wird?

    Code: PHP  [Auswählen]
    <?php


      require('includes/application_top.php');


    if(isset($_REQUEST['filterid'])&&($_REQUEST['filterid']!=''))
    {
            $filterid = $_REQUEST['filterid'];
           
            $filterqueery = tep_db_query("select * from ".TABLE_PRINTER_CATEGORY."  where parent_id = '0' AND printer_category_id = '".$filterid."'");
            if(mysql_num_rows($filterqueery)>0)
            {
                    $showfilter = true;
                   

            }
           
    }
      require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_FILTER_PRINTER);

      $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_INKTONERFINDER));
    ?>
    <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html <?php echo HTML_PARAMS; ?>>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
    <title><?php echo TITLE; ?></title>
    <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
    <link rel="stylesheet" type="text/css" href="stylesheet.css">
    <script type="text/javascript" src="js/ajaxd.js" ></script>
    </head>
    <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
    <!-- header //-->
    <?php require(DIR_WS_INCLUDES . 'header.php'); ?>
    <!-- header_eof //-->

    <!-- body //-->
    <table border="0" width="100%" cellspacing="3" cellpadding="3">
      <tr>
        <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">
    <!-- left_navigation //-->
    <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
    <!-- left_navigation_eof //-->
        </table></td>
    <!-- body_text //-->
        <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
          <tr>
            <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
              <tr>
                <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
                <td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_specials.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
              </tr>
            </table></td>
          </tr>
          <tr>
            <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
          </tr>
          <tr>
            <td class="main">
     
     
        <?php if($showfilter){?>

                                    <p>Find products by selecting the printer make and model</p>
    </tr>
          <tr>
            <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
          </tr>
          <tr>
            <td class="main">
                             <div>
                                <?php getprintercatoptions($filterid); ?>
                             </div>
            </td>
          </tr>
          <tr>
          <td class="main">
                                    <table width="100%" cellspacing="0" cellpadding="0" border="0" align="center">
                                            <tbody>
                                                    <tr>
                                                            <td class="bodyContent">
                                                    <?php
                                                            $printerid = 0;
                                                            if(isset($_REQUEST['mode'])&&($_REQUEST['mode']=='showlist'))
                                                            {
                                                                    $printerid= $_REQUEST['printer_cat_'.$filterid];
                                                            }
                                                            elseif(isset($_REQUEST['mode'])&&($_REQUEST['mode']=='searchlist'))
                                                            {
                                                                    $vehidrow = @mysql_fetch_array(mysql_query("SELECT printer_category_id FROM ".TABLE_PRINTER_CATEGORY." where category_name = '".$_REQUEST['keywords']."'"));
                                                                    if($vehidrow['printer_category_id']!='')
                                                                    {
                                                                            $printerid= $vehidrow['printer_category_id'];
                                                                    }
                                                            }
                                                    $define_list = array('PRODUCT_LIST_MODEL' => PRODUCT_LIST_MODEL,
                             'PRODUCT_LIST_NAME' => PRODUCT_LIST_NAME,
                             'PRODUCT_LIST_MANUFACTURER' => PRODUCT_LIST_MANUFACTURER,
                             'PRODUCT_LIST_PRICE' => PRODUCT_LIST_PRICE,
                             'PRODUCT_LIST_QUANTITY' => PRODUCT_LIST_QUANTITY,
                             'PRODUCT_LIST_WEIGHT' => PRODUCT_LIST_WEIGHT,
                             'PRODUCT_LIST_IMAGE' => PRODUCT_LIST_IMAGE,
                             'PRODUCT_LIST_BUY_NOW' => PRODUCT_LIST_BUY_NOW);

                                                    asort($define_list);
                                           
                                                    $column_list = array();
                                                    reset($define_list);
                                                    while (list($key, $value) = each($define_list)) {
                                                      if ($value > 0) $column_list[] = $key;
                                                    }
                                                     $select_column_list = '';

                                                    for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {
                                                      switch ($column_list[$i]) {
                                                            case 'PRODUCT_LIST_MODEL':
                                                              $select_column_list .= 'p.products_model, ';
                                                              break;
                                                            case 'PRODUCT_LIST_NAME':
                                                              $select_column_list .= 'pd.products_name, ';
                                                              break;
                                                            case 'PRODUCT_LIST_MANUFACTURER':
                                                              $select_column_list .= 'm.manufacturers_name, ';
                                                              break;
                                                            case 'PRODUCT_LIST_QUANTITY':
                                                              $select_column_list .= 'p.products_quantity, ';
                                                              break;
                                                            case 'PRODUCT_LIST_IMAGE':
                                                              $select_column_list .= 'p.products_image, ';
                                                              break;
                                                            case 'PRODUCT_LIST_WEIGHT':
                                                              $select_column_list .= 'p.products_weight, ';
                                                              break;
                                                      }
                                                    }
                                                    if($printerid>0)
                                                    {
                                                            $printercat_query = tep_db_query("SELECT * FROM ".TABLE_PRINTER_CATEGORY." WHERE printer_category_id = '".$printerid."'");
                                                            $printercat_row = tep_db_fetch_array($printercat_query);
                                                            $productids = $printercat_row['productids'];
                                                            if($productids!='')
                                                            {
                                                                    $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and FIND_IN_SET(p.products_id,'".$productids."')";
                                                            }
                                                           
                                                    ?>
                                                    <?php
                                                            if($productids!='')
                                                            {
                                                                    include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING);
                                                            }
                                                    }
                                                    ?>
                                                            </td>
                                                    </tr>
                                            </tbody>
                                    </table>
                                   
                    <?php }?>
           
    <?php
    function getprintercatoptions($printer_category_id="",$curprintercatid="")
    {

            $fieldid = $printer_category_id;
            if(isset($_REQUEST['printer_cat_'.$printer_category_id])&&($_REQUEST['printer_cat_'.$printer_category_id]!=''))
            {
                   
                     $printer_category_id = $_REQUEST['printer_cat_'.$printer_category_id];
                      $str = getprintercatpath($printer_category_id,"");
                     $chkbottomROW = mysql_fetch_array(mysql_query("SELECT count(printer_category_id) FROM " . TABLE_PRINTER_CATEGORY . "  where parent_id = '".$printer_category_id."'"));
                     if($str =="") {$str = "0,";}
                     if($chkbottomROW[0]>0)
                     {
                            $str .= $printer_category_id.",";
                     }
                   
                    $catarr = explode(",",substr($str,0,-1));
                    sort($catarr);
                    editprintercat($catarr,$fieldid,$printer_category_id,$curprintercatid);
            }
            else
            {

                    if($curprintercatid>0)
                    {
                             $str = getprintercatpath($curprintercatid,"");
                            if($str =="")
                            {$str = $curprintercatid.",";}
                            else
                            {
                                    $str .= $curprintercatid.",";
                            }
                           
                    }
                    else
                    {
                            $str = getprintercatpath($printer_category_id,"");
                            if($str =="") {$str = $printer_category_id.",";}
                    }
                   
                    $catarr = explode(",",substr($str,0,-1));
                    sort($catarr);
                    editprintercat($catarr,$fieldid,$printer_category_id,$curprintercatid);
            }
           
    }
    function editprintercat($catarr,$fieldid,$printer_category_id,$curprintercatid="")
    {      
            ?>
            <table align="left" width="100%" cellpadding="0" cellspacing="0" border="0">
            <?php
            $i=0;
            $cntvarr = count($catarr);
            foreach($catarr as $val)
            {
                    $veh_cat_array = array(array('id' => '', 'text' => 'Select One'));
                    $printers_query = tep_db_query("select * from " . TABLE_PRINTER_CATEGORY . "  where parent_id = '".$val."' order by category_name");
                    if(mysql_num_rows($printers_query)>0)
                    {
                            while ($printers = tep_db_fetch_array($printers_query))
                            {
                                    $veh_cat_array[] = array('id' => $printers['printer_category_id'],
                                                                                     'text' => $printers['category_name']);
                            }
                            ?>
                            <tr><td align="left" valign="top">
                            <?php  
                            if($cntvarr==$i+1)
                            {
                                     $selval = $printer_category_id;
                            }
                           
                            else
                            {
                                    $selval = $catarr[$i+1];
                            }      
                           
                            echo tep_draw_pull_down_menu('printer_cat_'.$val, $veh_cat_array, $selval, 'onchange="document.frmveh.printer_cat_'.$fieldid.'.value=this.value;document.frmveh.submit();"');
                            ?>
                            </td></tr>
                            <?php
                            $i++;
                    }
            }
            ?>
            </table>
           
            <?php
    }

    function getprintercatpath($printer_category_id, $str)
    {
           
            $str1 = $str;
           
            $printers_query = tep_db_query("select parent_id from " . TABLE_PRINTER_CATEGORY . "  where printer_category_id = '".$printer_category_id."'");
            $printers = tep_db_fetch_array($printers_query);
             $parent_id = $printers['parent_id'];
            if($parent_id==0)
            {
                    return  $str1;
            }
            else
            {
                    $str1 .= $parent_id.",";
                    $str1 = getprintercatpath($parent_id, $str1);
                    return $str1;
            }
           
    }

    ?>
    <form name="frmveh" action="" method="get">
    <input type="hidden" name="printer_cat_<?php echo $filterid;?>" value="<?php echo $_REQUEST['printer_cat_1'];?>">
    <input type="hidden" name="filterid" value="<?php echo $filterid;?>" />
    <input type="hidden" name="mode" value="showlist" />
    </form>

    </td>
          </tr>
          <tr>
            <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
          </tr>
          <tr>
            <td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
              <tr class="infoBoxContents">
                <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
                  <tr>
                    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
                    <td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>
                    <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
                  </tr>
                </table></td>
              </tr>
            </table></td>
          </tr>
        </table></td>
    <!-- body_text_eof //-->
        <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">
    <!-- right_navigation //-->
    <?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
    <!-- right_navigation_eof //-->
        </table></td>
      </tr>
    </table>
    <!-- body_eof //-->

    <!-- footer //-->
    <?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
    <!-- footer_eof //-->
    <br>
    </body>
    </html>
    <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
     

    web0null

    • Experte
    • Beiträge: 1.998
    Re: Datenbankabfrage mit Dropdown
    Antwort #3 am: 02. Oktober 2012, 13:57:14
    Wo hast du denn diese Datei her?

    NicoDeluxe

    • Fördermitglied
    • Beiträge: 987
    • Geschlecht:
    Re: Datenbankabfrage mit Dropdown
    Antwort #4 am: 02. Oktober 2012, 14:38:49
    Gute Frage, irgendwo ausm Internet, glaube aus einem anderen Shopforum

    web0null

    • Experte
    • Beiträge: 1.998
    Re: Datenbankabfrage mit Dropdown
    Antwort #5 am: 02. Oktober 2012, 15:07:16
    Ich würde dir raten das machen zu lassen, denn das ist nichts mehr für "Anfänger" (ist nicht böse gemeint).
    Aber alleine aus deiner Fragestellung weiß ich, dass du das mit deinem jetzigen Wissensstand nicht selber Programmieren kannst.

    Wie gesagt ist nicht böse gemeint, aber wenn du den Code verstehen würdest hättest du den gar nicht gepostet, und nur dann könntest du das selber Programmieren.

    Alleine bei den Funktionen mit den tep_ kürzel , hättest du schon merken müssen, dass das nicht für modified eCommerce Shopsoftware passen kann.

    Hier helfen auch keine Tipps, denn dazu brauchst du sehr sehr gute PHP Kenntnisse.

    Hast du die?

    NicoDeluxe

    • Fördermitglied
    • Beiträge: 987
    • Geschlecht:
    Re: Datenbankabfrage mit Dropdown
    Antwort #6 am: 02. Oktober 2012, 15:22:52
    Huhu,

    hab schon ein paar Angebote daliegen, aber wo man sparen kann, sollte man es versuchen :)

    Kann doch nicht so schwer sein so eine Anfrage zu machen :-/ Die Datenbank besteht schon, mit Inhalten etc.

    Zumal die Angebote die ich habe, stellen zwar die Schnittstellen zur Verfügung, aber müssen auch selber eingebaut werden.  :keks:

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: Datenbankabfrage mit Dropdown
    Antwort #7 am: 02. Oktober 2012, 15:29:50
    Die Datei ist für einen osCommerce gedacht.

    Gruß
    Ronny

    web0null

    • Experte
    • Beiträge: 1.998
    Re: Datenbankabfrage mit Dropdown
    Antwort #8 am: 02. Oktober 2012, 15:30:27
    Na ja schwer ist es nicht (wenn man PHP, SQL halbwegs beherrscht), wie gesagt verstehst du den Code den du gepostet hast?

    Wenn ja, dann kannst du es u. U. selber machen.
    Wenn nein, dann wirst du es nicht selber machen können, und dann müsste man dir alles vorkauen bzw. würde es schneller gehen wenn man es dir gleich komplett programmiert, und das geht sicher nicht für lau.

    4 Antworten
    1647 Aufrufe
    12. November 2018, 11:46:38 von noRiddle (revilonetz)
    2 Antworten
    2492 Aufrufe
    10. März 2012, 14:50:33 von KAT
    10 Antworten
    5738 Aufrufe
    11. November 2012, 19:29:16 von web28