mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 25.04.2024 03:10 Benutzername: Passwort: Auto-Login

Thema: PHP Datenbankabfrage funktioniert nicht, aber kein Fehler vom 01.12.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> PHP Datenbankabfrage funktioniert nicht, aber kein Fehler
Seite: 1, 2  Weiter
Autor Nachricht
gerch2003
Threadersteller

Dabei seit: 07.07.2008
Ort: -
Alter: 63
Geschlecht: Männlich
Verfasst Mo 01.12.2008 10:59
Titel

PHP Datenbankabfrage funktioniert nicht, aber kein Fehler

Antworten mit Zitat Zum Seitenanfang

HeyHo, ich bau grad unsere Seite www.hauswelt.de etwas um. und wie ihr dort seht steht links in der Navi Bauweise: und dann müsste eigenltich eine Auflistung von 4 Punkten kommen und wenn ich draufklicke mir die dazugehörigen Häuser anzeigen, denen ich vorher im CMS einen Wert von 0-3 zugewiesen hab. Die tabelle in der Datenbank heist build_typ. Also genauso wie bei Haustypen, nur dass es dort ein wert von 0-6 und dann die 9 noch da zu kommt und die tabelle in der datenbank house_typ heißt.

Mein Code sieht so aus:
Code:
echo("<tr>
                        <td style=\"padding-top:7px;padding-bottom:8px;\"><img src=\"images/navig/line.gif\" width=\"150\" height=\"4\" border=\"0\"></td>
                     </tr>
                     <tr>
                        <td style=\"padding-left:26px;padding-bottom:2px;\">Bauweisen:</td>
                     </tr>");
                     //---------- Verbindung zur Haus-Tabelle herstellen ----------
                     $mysql_select      = "SELECT DISTINCT build_typ FROM hauswelt_houses WHERE publish='on' ORDER BY build_typ;";
                     $ressource_id_1   = mysql_query( $mysql_select );
                     // echo( "ID 1: ".$ressource_id_1."<br>".$mysql_select."<br>" );
                     //---------- Einträge anzeigen ----------
                     if ($ressource_id_1 && mysql_num_rows($ressource_id_1) > -1)  {
                        for ($i=0; $i < mysql_num_rows($ressource_id_1); $i++)  {
                           $output = mysql_fetch_array($ressource_id_1);
                           $temp[]   = $output['build_typ'];
                           //echo($temp[$i]."<br>");
                           }
                        //---------- MySQL-Speicher leeren ----------
                        mysql_free_result($ressource_id_1);
                        }
                        
                        //---------- Bauweisen anzeigen ----------
                     if (isset($temp) && is_array($temp))  {
                        for ($i=0; $i < count($build_typ); $i++)  {
                           if (($i < 5 || $i > 7) && in_array($i, $temp))  {
                              echo("<tr>
                                 <td style=\"\"><img src=\"images/icons/arrow.gif\" width=\"25\" height=\"11\" border=\"0\" align=\"absmiddle\"><a href=\"?main=build&typ=".($i+1)."\" target=\"_self\" class=\"navig\">".$build_typ[$i]."</a></td>
                              </tr>");
                              //---------- Passende Häuser zur ausgewählten Bauart ----------
                              if ($typ && $typ == ($i+1))  {
                                 //---------- Verbindung zur Haus-Tabelle herstellen ----------
                                 $mysql_select      = "SELECT entry_nr,name FROM hauswelt_houses WHERE (publish='on' AND build_typ='".($typ-1)."') ORDER BY name;";
                                 $ressource_id_1   = mysql_query( $mysql_select );
                                 // echo( "ID 1: ".$ressource_id_1."<br>".$mysql_select."<br>" );
                                 //---------- Einträge anzeigen ----------
                                 if ($ressource_id_1 && mysql_num_rows($ressource_id_1) < 5)  {
                                    for ($t=0; $t < mysql_num_rows($ressource_id_1); $t++)  {
                                       $output = mysql_fetch_array($ressource_id_1);
                                       //---------- Platzhalter in der Hausbezeichnung ersetzen ----------
                                       $text = $output['name'];
                                       include("include/text.php");
                                       $output['name'] = $text;
                                       echo("<tr>
                                          <td style=\"padding-left:20px;\"><img src=\"images/icons/arrow.gif\" width=\"25\" height=\"11\" border=\"0\" align=\"absmiddle\"><a href=\"?main=build&typ=".$typ."&item=".$output['entry_nr']."\" target=\"_self\" class=\"navig\">Haus ".$output['name']."</a></td>
                                       </tr>");
                                       }
                                    //---------- MySQL-Speicher leeren ----------
                                    mysql_free_result($ressource_id_1);
                                    }
                                 }
                              }
                           }
                        }



ich hoffe mal ihr habt alles verstanden Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Mo 01.12.2008 11:09
Titel

Antworten mit Zitat Zum Seitenanfang

ich wette count($build_typ) is 0 *zwinker*

glaube, richtiger wäre $temp

Code:

if (isset($temp) && is_array($temp))  {
                        for ($i=0; $i < count($temp); $i++)  {
                           if (($i < 5 || $i > 7) && in_array($i, $temp))  {
                              echo("<tr>
                                 <td style=\"\"><img src=\"images/icons/arrow.gif\" width=\"25\" height=\"11\" border=\"0\" align=\"absmiddle\"><a href=\"?main=build&typ=".($i+1)."\" target=\"_self\" class=\"navig\">".$temp[$i]."</a></td>
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
gerch2003
Threadersteller

Dabei seit: 07.07.2008
Ort: -
Alter: 63
Geschlecht: Männlich
Verfasst Mo 01.12.2008 11:41
Titel

Antworten mit Zitat Zum Seitenanfang

ich habs ez mal auf so geändert:
Code:
echo("<tr>
                        <td style=\"padding-top:7px;padding-bottom:8px;\"><img src=\"images/navig/line.gif\" width=\"150\" height=\"4\" border=\"0\"></td>
                     </tr>
                     <tr>
                        <td style=\"padding-left:26px;padding-bottom:2px;\">Bauweisen:</td>
                     </tr>");
                     //---------- Verbindung zur Haus-Tabelle herstellen ----------
                     $mysql_select      = "SELECT DISTINCT build_typ FROM hauswelt_houses WHERE publish='on' ORDER BY build_typ;";
                     $ressource_id_1   = mysql_query( $mysql_select );
                     // echo( "ID 1: ".$ressource_id_1."<br>".$mysql_select."<br>" );
                     //---------- Einträge anzeigen ----------
                     if ($ressource_id_1 && mysql_num_rows($ressource_id_1) > -1)  {
                        for ($i=0; $i < mysql_num_rows($ressource_id_1); $i++)  {
                           $output = mysql_fetch_array($ressource_id_1);
                           $temp[]   = $output['build_typ'];
                           //echo($temp[$i]."<br>");
                           }
                        //---------- MySQL-Speicher leeren ----------
                        mysql_free_result($ressource_id_1);
                        }
                        
                        //---------- Bauweisen anzeigen ----------
                     if (isset($temp) && is_array($temp))  {
                        for ($i=0; $i < count($temp); $i++)  {
                           if (($i < 4) && in_array($i, $temp))  {
                              echo("<tr>
                                 <td style=\"\"><img src=\"images/icons/arrow.gif\" width=\"25\" height=\"11\" border=\"0\" align=\"absmiddle\"><a href=\"?main=build&typ=".($i+1)."\" target=\"_self\" class=\"navig\">".$build_typ[$i]."</a></td>
                              </tr>");
                              //---------- Passende Häuser zur ausgewählten Bauart ----------
                              if ($typ && $typ == ($i+1))  {
                                 //---------- Verbindung zur Haus-Tabelle herstellen ----------
                                 $mysql_select      = "SELECT entry_nr,name FROM hauswelt_houses WHERE (publish='on' AND build_typ='".($typ-1)."') ORDER BY name;";
                                 $ressource_id_1   = mysql_query( $mysql_select );
                                 // echo( "ID 1: ".$ressource_id_1."<br>".$mysql_select."<br>" );
                                 //---------- Einträge anzeigen ----------
                                 if ($ressource_id_1 && mysql_num_rows($ressource_id_1) < 5)  {
                                    for ($t=0; $t < mysql_num_rows($ressource_id_1); $t++)  {
                                       $output = mysql_fetch_array($ressource_id_1);
                                       //---------- Platzhalter in der Hausbezeichnung ersetzen ----------
                                       $text = $output['name'];
                                       include("include/text.php");
                                       $output['name'] = $text;
                                       echo("<tr>
                                          <td style=\"padding-left:20px;\"><img src=\"images/icons/arrow.gif\" width=\"25\" height=\"11\" border=\"0\" align=\"absmiddle\"><a href=\"?main=build&typ=".$typ."&item=".$output['entry_nr']."\" target=\"_self\" class=\"navig\">Haus ".$output['name']."</a></td>
                                       </tr>");
                                       }
                                    //---------- MySQL-Speicher leeren ----------
                                    mysql_free_result($ressource_id_1);
                                    }
                                 }
                              }
                           }
                        }


und es zeigt mir, wie du siehst ( www.hauswelt.de ) schon einmal die pfeile an...aber immernoch nicht wirkliche unterpunkte


ich denke, dass es hiermit:
Code:

if (($i < 5 || $i >7) && in_array($i, $temp))


zu tun hat, da ich ja eigentlich die werte von 0-3 angezeigt brauche.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Mo 01.12.2008 11:47
Titel

Antworten mit Zitat Zum Seitenanfang

* grmbl * * grmbl * * grmbl * DA STEHT JA IMMER NOCH $build-typ <-- Schuld! Grins
Code:

width=\"25\" height=\"11\" border=\"0\" align=\"absmiddle\"><a href=\"?main=build&typ=".($i+1)."\" target=\"_self\" class=\"navig\">".$build_typ[$i]."</a></td>


mach da auch $temp[$i] raus, und du bist glücklich...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
gerch2003
Threadersteller

Dabei seit: 07.07.2008
Ort: -
Alter: 63
Geschlecht: Männlich
Verfasst Mo 01.12.2008 11:57
Titel

Antworten mit Zitat Zum Seitenanfang

Juhuuuuuu ich bin Glücklich!!!....

ah shit ne doch nich^^...
ez zeigts mir nur die werte an, aber nich die Namen
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Mo 01.12.2008 12:02
Titel

Antworten mit Zitat Zum Seitenanfang

dann steht in der db unter build_typ wohl nur die zahl. du musst dann erweitern. guck, in welcher spalte die bezeichnung steht, erweiter deinen mysql_query

Code:

"SELECT DISTINCT build_typ, bezeichnung FROM hauswelt_houses WHERE publish='on' ORDER BY build_typ;"


dann deine zusammensetzung:

Code:

$temp[]   = $output['build_typ'];
$temp_bez[] = $output['bezeichnung'];


dann die ausgabe:
Code:

<td style=\"\"><img src=\"images/icons/arrow.gif\" width=\"25\" height=\"11\" border=\"0\" align=\"absmiddle\"><a href=\"?main=build&typ=".($i+1)."\" target=\"_self\" class=\"navig\">".$temp_bez[$i]."</a></td>



EDIT: finde es darüber hinaus witzig, wie sich deine "haustypen"-navigation verändert, wenn man "bauweisen" anklickt *zwinker* ich denke, da musst du noch mal über deine variable "typ" nachdenken....


Zuletzt bearbeitet von pixelpapst303 am Mo 01.12.2008 12:06, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
gerch2003
Threadersteller

Dabei seit: 07.07.2008
Ort: -
Alter: 63
Geschlecht: Männlich
Verfasst Mo 01.12.2008 12:08
Titel

Antworten mit Zitat Zum Seitenanfang

ok...da werd ich dann wohl einiges in meiner datenbank nochmal überdenken müssen Grins...lol...

aber gut, schomal danke für die hilfe Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
gerch2003
Threadersteller

Dabei seit: 07.07.2008
Ort: -
Alter: 63
Geschlecht: Männlich
Verfasst Mo 01.12.2008 12:52
Titel

Antworten mit Zitat Zum Seitenanfang

ach ich hab die ganze geschichte, was ich vielleicht noch dazu sagen soltle, von haustypen kopiert in der hoffnung, es funktioniert, wenn ich einfach die verknüpfungen zur tabell änder *zwinker*...hier das original:
Code:

echo("<tr>
                        <td style=\"padding-top:7px;padding-bottom:8px;\"><img src=\"images/navig/line.gif\" width=\"150\" height=\"4\" border=\"0\"></td>
                     </tr>
                     <tr>
                        <td style=\"padding-left:26px;padding-bottom:2px;\">Haustypen:</td>
                     </tr>");
                     //---------- Verbindung zur Haus-Tabelle herstellen ----------
                     $mysql_select      = "SELECT DISTINCT house_typ FROM hauswelt_houses WHERE publish='on' ORDER BY house_typ;";
                     $ressource_id_1   = mysql_query( $mysql_select );
                     // echo( "ID 1: ".$ressource_id_1."<br>".$mysql_select."<br>" );
                     //---------- Einträge anzeigen ----------
                     if ($ressource_id_1 && mysql_num_rows($ressource_id_1) > 0)  {
                        for ($i=0; $i < mysql_num_rows($ressource_id_1); $i++)  {
                           $output = mysql_fetch_array($ressource_id_1);
                           $temp[]   = $output['house_typ'];
                           //echo($temp[$i]."<br>");
                           }
                        //---------- MySQL-Speicher leeren ----------
                        mysql_free_result($ressource_id_1);
                        }
                     //---------- Haustypen anzeigen ----------
                     if (isset($temp) && is_array($temp))  {
                        for ($i=0; $i < count($house_typ); $i++)  {
                           if (($i < 5 || $i > 7) && in_array($i, $temp))  {
                              echo("<tr>
                                 <td style=\"\"><img src=\"images/icons/arrow.gif\" width=\"25\" height=\"11\" border=\"0\" align=\"absmiddle\"><a href=\"?main=houses&typ=".($i+1)."\" target=\"_self\" class=\"navig\">".$house_typ[$i]."</a></td>
                              </tr>");
                              //---------- Passende Häuser zum ausgewählten Haustyp ----------
                              if ($typ && $typ == ($i+1))  {
                                 //---------- Verbindung zur Haus-Tabelle herstellen ----------
                                 $mysql_select      = "SELECT entry_nr,name FROM hauswelt_houses WHERE (publish='on' AND house_typ='".($typ-1)."') ORDER BY name;";
                                 $ressource_id_1   = mysql_query( $mysql_select );
                                 // echo( "ID 1: ".$ressource_id_1."<br>".$mysql_select."<br>" );
                                 //---------- Einträge anzeigen ----------
                                 if ($ressource_id_1 && mysql_num_rows($ressource_id_1) > 0)  {
                                    for ($t=0; $t < mysql_num_rows($ressource_id_1); $t++)  {
                                       $output = mysql_fetch_array($ressource_id_1);
                                       //---------- Platzhalter in der Hausbezeichnung ersetzen ----------
                                       $text = $output['name'];
                                       include("include/text.php");
                                       $output['name'] = $text;
                                       echo("<tr>
                                          <td style=\"padding-left:20px;\"><img src=\"images/icons/arrow.gif\" width=\"25\" height=\"11\" border=\"0\" align=\"absmiddle\"><a href=\"?main=houses&typ=".$typ."&item=".$output['entry_nr']."\" target=\"_self\" class=\"navig\">Haus ".$output['name']."</a></td>
                                       </tr>");
                                       }
                                    //---------- MySQL-Speicher leeren ----------
                                    mysql_free_result($ressource_id_1);
                                    }
                                 }
                              }
                           }
                        }


ich wollte dir das nur nochmal zeigen, weil es ja eigentlich auch so geht, ohne dass ich direkt den $temp auslese, sondern auch über die tabelle...verstehst du, was ich mein?...

gut, da wäre dann allerdings auch geklärt, warum das mit dem $typ so ist, wies is *zwinker*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen php - Datenbankabfrage...die Zweite
Datenbankabfrage ergibt nur ein Ergebnis
Datenbankabfrage - Werte vergleichen und zählen
Wie funktioniert Lightroom?
Shopsystem - Wie funktioniert es
Wie funktioniert SEO (Grundsätze)
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.