php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.08.2011, 18:04  
Neuer Benutzer
 
Registriert seit: 31.08.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
krabbat befindet sich auf einem aufstrebenden Ast
Standard Denkfehler bei SQL-Abfrage für Menü/Untermenü

Hallo Leute,
ich habe einen Denkfehler in der Programmierung einer SQL-Datenbankabfrage.
Die abzufragende Tabelle ee_category_ger besteht aus drei Felder. ee_category_id, ee_category_name, ee_category_sub.
ee_category_sub legt fest, ob der Eintrag ein Hauptmenüpunkt ist (0), oder zu einer Unterkategorie gehört (1,2,3, usw.)

Das Menü wird mittels Javascript erstellt.

Folgendes Problem:
In den Untermenüs, erscheinen die Verlinkungen bei den jeweils ersten beiden Einträgen mit dem gleichen Link und bei den FolgeLinks jeweils um einen nach hinten versetzt.
Hier der komplette Code der Seite:


PHP-Code:
<?php require_once('Connections/DD.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}
mysql_select_db($database_DD$DD);
$query_rsMenue "SELECT * FROM ee_category_ger WHERE ee_category_sub = '0'";
$rsMenue mysql_query($query_rsMenue$DD) or die(mysql_error());
$row_rsMenue mysql_fetch_assoc($rsMenue);
$totalRows_rsMenue mysql_num_rows($rsMenue);

$colname_c "-1";
if (isset(
$row_rsMenue['ee_category_id'])) {
  
$colname_rsSubmenue = (get_magic_quotes_gpc()) ? $row_rsMenue['ee_category_id'] : addslashes($row_rsMenue['ee_category_id']);
}
mysql_select_db($database_DD$DD);
$query_rsSubmenue sprintf("SELECT * FROM ee_category_ger WHERE ee_category_sub = '%s'"GetSQLValueString($colname_rsSubmenue"int"));
$rsSubmenue mysql_query($query_rsSubmenue$DD) or die(mysql_error());
$row_rsSubmenue mysql_fetch_assoc($rsSubmenue);
$totalRows_rsSubmenue mysql_num_rows($rsSubmenue); 
?>
<?php
    
// RepeatSelectionCounter_1 Initialization
    
$RepeatSelectionCounter_1 0;
    
$RepeatSelectionCounterBasedLooping_1 false;
    
$RepeatSelectionCounter_1_Iterations "-1";
?>
<?php
    
// RepeatSelectionCounter_2 Initialization
    
$RepeatSelectionCounter_2 0;
    
$RepeatSelectionCounterBasedLooping_2 false;
    
$RepeatSelectionCounter_2_Iterations "-1";
?>
<!DOCTYPE HTML>
<html>
<head>
<link rel="shortcut icon" href="http://www.wlip.de/3Dpictures/images/favicon.ico"  type="image/gif" />
<meta charset="utf-8">
<title>3Dpictures</title>
<link href="css/thrColLiqHdr.css" rel="stylesheet" type="text/css"><!--[if lte IE 7]>
<style>
.content { margin-right: -1px; } /* Dieser negative Rand mit 1 Pixel hat in jeder Spalte in diesem Layout die gleiche korrigierende Auswirkung. */
ul.nav a { zoom: 1; }  /* Mit der zoom-Eigenschaft erhält IE den Auslöser hasLayout, der erforderlich ist, um den zusätzlichen Leerraum zwischen den Hyperlinks zu korrigieren. */
</style>
<![endif]-->
<link rel="stylesheet" type="text/css" href="Scripts/BarMenu.css">
<script type="text/javascript" src="Scripts/BarMenu.js"></script>

<style type=”text/css”>
.menu1{
background-image:url(images/menudiv1bg.gif);
margin-left:25px;
padding-left:20px;
padding-top:2px;
padding-bottom: 2px;
display:block;
text-decoration: none;
color: #000000;
height: 20px;
}
</style>

<style type=”text/css”>
.submenu{
background-image: url(images/submenu.gif);
display: block;
height: 19px;
margin-left: 38px;
padding-top: 2px;
padding-left: 7px;
color: #333333;
}

.hide{
display: none;
}
.show{
display: block;
}
</style>


<style type="text/css">
body,td,th {
    font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
}

body {
    background-color: #FFFFCC;
}
</style>

</head>

<body>

<div class="container">
  <div class="header">
    <p><a href="index.php"><img src="http://www.php.de/images/IIIDText.jpg" alt="Hier Logo einfügen" name="Insert_logo" width="250" height="127" id="Insert_logo" style="background: #8090AB; display:block; width: 250px;" />
  </div> <!-- end .header -->
  <div class="sidebar1"> 
     <table cellspacing="0" cellpadding="0" id="bar-menu1" class="bar-menu">
     <?php
    
// RepeatSelectionCounter_2 Begin Loop
    
$RepeatSelectionCounter_2_IterationsRemaining $RepeatSelectionCounter_2_Iterations;
    while(
$RepeatSelectionCounter_2_IterationsRemaining--){
    if(
$RepeatSelectionCounterBasedLooping_2 || $row_rsMenue){
    
?>
    <tr>
        <td>
    <div class="box1"><?php echo $row_rsMenue['ee_category_name']; ?><img src="http://www.php.de/images/arrow1.gif" width="11" height="11" alt=""></div>
            <div class="section">
                <div class="box2"><img src="http://www.php.de/images/arrow2.gif" width="14" height="9" alt=""><a href="photo.php?category=<?php echo $row_rsSubmenue['ee_category_name']; ?>">
                <?php
                
// RepeatSelectionCounter_1 Begin Loop
                
$RepeatSelectionCounter_1_IterationsRemaining $RepeatSelectionCounter_1_Iterations;
                while(
$RepeatSelectionCounter_1_IterationsRemaining--){
                if(
$RepeatSelectionCounterBasedLooping_1 || $row_rsSubmenue){
                
?>
                  <?php echo $row_rsSubmenue['ee_category_name']; ?></a></div>
                <div class="box2"><img src="http://www.php.de/images/arrow2.gif" width="14" height="9" alt=""><a href="photo.php?category=<?php echo $row_rsSubmenue['ee_category_name']; ?>">
                  <?php
                

                
// RepeatSelectionCounter_1 Begin Alternate Content
                
else{
                
?>
                <?php // RepeatSelectionCounter_1 End Alternate Content
                
if(!$RepeatSelectionCounterBasedLooping_1 && $RepeatSelectionCounter_1_IterationsRemaining != 0){
                if(!
$row_rsSubmenue && $RepeatSelectionCounter_1_Iterations == -1){$RepeatSelectionCounter_1_IterationsRemaining 0;}
                
$row_rsSubmenue mysql_fetch_assoc($rsSubmenue);
                }
                
$RepeatSelectionCounter_1++;
                } 
// RepeatSelectionCounter_1 End Loop
                
?>
                  </a></div>
              </div>
            </td>
        </tr>
        <tr>
            <td>
  <?php
    
// RepeatSelectionCounter_2 Begin Alternate Content
    
else{
?>
  <?php // RepeatSelectionCounter_2 End Alternate Content
        
if(!$RepeatSelectionCounterBasedLooping_2 && $RepeatSelectionCounter_2_IterationsRemaining != 0){
            if(!
$row_rsMenue && $RepeatSelectionCounter_2_Iterations == -1){$RepeatSelectionCounter_2_IterationsRemaining 0;}
            
$row_rsMenue mysql_fetch_assoc($rsMenue);
        }
        
$RepeatSelectionCounter_2++;
    } 
// RepeatSelectionCounter_2 End Loop
?>
        </td>
    </tr>
    </table>

    <script type="text/javascript">
    var barMenu1 = new BarMenu('bar-menu1');
    barMenu1.init();
    </script>

   </div> <!-- end .sidebar2 -->
  <div class="content">
        
  </div><!-- end .content -->

</div><!-- end .container -->
</body>
</html>


Vielleicht findet ja jemand von euch den Fehler.
Vielen Dank schon mal...

Geändert von krabbat (06.09.2011 um 20:54 Uhr). Grund: Fehler im PHP-Script der aber nicht das Problem gelöst hat.
krabbat ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.09.2011, 20:59  
Neuer Benutzer
 
Registriert seit: 31.08.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
krabbat befindet sich auf einem aufstrebenden Ast
Standard

Danke für die zahlreichen Antworten.
O.g. Problem wurde nach stundenlangem rumprobieren ohne die Hilfe dieses Forums gelöst.

krabbat
krabbat ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
SQL Abfrage pro Id in eine Zeile zusammenführen martin.b07 Datenbanken 3 25.08.2011 22:30
Ist SQL Abfrage leer? zarabina Datenbanken 2 25.08.2011 11:27
SQL Abfrage optimieren tromton Datenbanken 11 01.08.2011 20:42
[Erledigt] SQL Abfrage escapen wooha PHP Einsteiger 3 18.04.2011 10:13
[Erledigt] Verdraxte Abfrage von 2 SQL Tabellen EmmKey PHP Einsteiger 7 15.03.2011 12:21
[Erledigt] SQL zweistufige Abfrage Elefterios Datenbanken 12 13.03.2011 15:23
SQL Abfrage INNER JOIN etc. chr1s-eg Datenbanken 4 01.03.2011 13:37
Array aus SQL Abfrage zusammenbauen um es rekursiv abzuarbeiten litterauspirna PHP Einsteiger 7 01.02.2011 18:44
Werte mehrerer Checkboxen für SQL Abfrage übernehmen? krais PHP Einsteiger 4 14.01.2011 21:24
Umlaute (ä) in der SQL Abfrage noop Datenbanken 5 09.01.2011 23:06
[Erledigt] Mehr als eine SQL Abfrage hintereinander. Seebär PHP Einsteiger 5 29.12.2010 15:44
erweitere sql abfrage Helix PHP Einsteiger 5 27.12.2010 04:11
False Abfrage und SQL hängt sich auf marc77 Datenbanken 4 22.11.2010 14:57
[Erledigt] sql abfrage mit Tabelle in der $ Zeichn vorkommt dior Datenbanken 5 09.11.2010 13:05
if Abfrage - Denkfehler medico PHP Tipps 2004 4 05.08.2004 08:53

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php menü sql, dieser negative rand mit 1 pixel hat in jeder spalte in diesem, \var barmenu1 = new barmenu(\'bar-menu1\');\, sql abfragen aus medico, submenue aus sql datenbank, sql- abfagren, sql menü mit untermenü, php menü sql abfrage, phph menü sql abfagre

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:59 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum