Ankündigung

Einklappen
Keine Ankündigung bisher.

DB_abfragen und While Schleifen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • DB_abfragen und While Schleifen

    Hallo,
    auf die Gefahr hin das ich hier gleich gelüncht werde habe ich dennoch eine Frage.

    Ich habe mehrer datenbankabfragen sowie diese

    Code:
    $abfrage_1 = mysql_query("SELECT * FROM beispiel_1");
    Davon existieren 10 abfragen ich würde die gern zusammenfügen z.B.
    so

    Code:
    $abfrage_1 = mysql_query("SELECT * FROM beispiel_1, beispiel_2,beispiel3.............");
    egal was ich versuche es geht irgendwie nicht.

    zum zweiten habe ich auch noch 10 While schleifen die so aussehen.
    Code:
    while($row = mysql_fetch_array($abfrage_70))
    {echo"$row_[name]";}
    Ich würde diese auch gern in eine zusammenfassen z.B. so

    Code:
    while($row = mysql_fetch_array($abfrage_1) AND ($abfrage_2) AND ($abfrage_3))
    {echo"$row_[name]";}
    Es wäre nett wenn mir vielleicht kurz jemand auf die sprünge helfen würde
    Danke schonmal im vorraus.

    Gruss


  • #2
    PHP-Code:
    for($i 1;$i<=10;$i++){
    $abfrage mysql_query("SELECT * FROM beispiel_".$i);
    while(
    $row mysql_fetch_object($abfrage)){
    echo 
    $row->spalte_namen;
    }

    nicht schön aber selten

    oder
    PHP-Code:
    for($i 1;$i<=10;$i++){
    $tabellen[]= 'beispiel_'.$i;
    }
    $tabellen '\''.implode('\',\'',$tabellen).'\'';
    $sql mysql_query ("SELECT * FROM ".$tabellen);
    while(
    $row mysql_fetch_object($sql)){
    echo 
    $row->spaltename

    forraussetzung ist halt dass alle tabellen, gleiche spaltennamen haben
    apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

    Kommentar


    • #3
      Das geht so nicht. Was genau sind denn diese Tabellen beispiel_x ?? Es sieht für mich sehr stark danach aus als wenn dein Datenbankdesign falsch wäre. Normal sollte man nicht sooo viele Tabellen haben die man beliebig zusammenlegt!

      Wenn du sie wirklich kombinieren musst dann solltest du dich mal mit JOINS auseinander setzen, aber vlt. erklärst du besser mal was du wirklich machen möchtest.

      Kommentar


      • #4
        Hm,,, was willst du damit überhaupt erreichen?
        Für mich wirkt es so, als ob dein DB Design nicht gut durchdacht ist.

        Kommentar


        • #5
          Mein script sieht so aus

          Code:
          <?php
          session_start();
          ?>
          
          <?php
          include('../include/db_connect.php');
          include('../include/check_2.php');
          include('../include/header_2.php');
          
          echo"<form action= method=>";
          echo"<input type=hidden>";
          echo"<input type=hidden>";
          echo"<input type=hidden>";
          echo"</form>";
          
          $rechte = $_SESSION["rechte"];
          $username = $_SESSION["username"];
          $datum = date("d.m.Y");
          echo"<div id=datum>Heute ist der $datum</div>";
          echo"<script type=text/javascript
            src=../include/uhr.js></script>";
          echo"<body onload=clock_update('uhr')>";
          
          echo"<div id=uhr><span id=uhr></span></div>";
          echo"<div id=benutzer>Hallo $username</div>";
          echo"<a href=../include/logout.php id=button_logout></a>";
          echo"<a href=../kontakt_login.php class=button_kontakt></a>";
          
          echo"<a href=../news/news.php class=button_news></a>";
          echo"<a href=../musik/musik.php class=button_musik></a>";
          echo"<a href=../bilder/bilder.php class=button_bilder></a>";
          echo"<a href=../videos/videos.php class=button_videos></a>";
          echo"<a href=../downloads/downloads.php class=button_downloads></a>";
          
          echo"<div id=content_oben></div>";
          echo"<div id=content_mitte>";
          
          $suche = $_POST['suche'];
          $genre = $_POST['genre'];
          if(!$_POST['genre'] OR $genre == ""){$search_genre ='0';}else{$search_genre ='1';}
          if(!$_POST['suche'] OR $suche == ""){$search_suche ='0';}else{$search_suche ='1';}
          
          echo"search_genre -> "; echo"$search_genre"; echo"<BR>";
          
          echo"search_suche ->"; echo"$search_suche"; echo"<BR>";
          
          
          $i = 0;
          echo"<table width=500 border=1 cellpading=0 cellspacing=0 align=center id=tabelle_suche>";
          echo"<tr>";
          echo"<td align=center width=30 bgcolor=grey><b>Nr.</b></td>";
          echo"<td align=center width=600 bgcolor=grey><b>Name</b></td>";
          echo"<td align=center width=40 bgcolor=grey>&nbsp;</td>";
          
          echo"<td bgcolor=grey>&nbsp;</td>";
          echo"<tr>";
          
          if($search_genre == "1")
          {
          if($genre == alle)
          {
          $abfrage_60 = mysql_query("SELECT * FROM musik_60");
          $abfrage_70 = mysql_query("SELECT * FROM musik_70");
          $abfrage_80 = mysql_query("SELECT * FROM musik_80");
          $abfrage_90 = mysql_query("SELECT * FROM musik_90");
          $abfrage_2000 = mysql_query("SELECT * FROM musik_2000");
          $abfrage_2010 = mysql_query("SELECT * FROM musik_2010");
          $abfrage_black = mysql_query("SELECT * FROM musik_black");
          $abfrage_hiphop = mysql_query("SELECT * FROM musik_hiphop");
          $abfrage_rock = mysql_query("SELECT * FROM musik_pop");
          $abfrage_pop = mysql_query("SELECT * FROM musik_rock");
          $abfrage_schlager = mysql_query("SELECT * FROM musik_schlager");
          $abfrage_techno = mysql_query("SELECT * FROM musik_techno");
          
          while($row = mysql_fetch_array($abfrage_60))
          {
          echo"$row[name]<br>";
          }
          
          while($row = mysql_fetch_array($abfrage_70))
          {
          echo"$row[name]<br>";
          }
          
          while($row = mysql_fetch_array($abfrage_80))
          {
          echo"$row[name]<br>";
          }
          
          while($row = mysql_fetch_array($abfrage_90))
          {
          echo"$row[name]<br>";
          }
          
          while($row = mysql_fetch_array($abfrage_2000))
          {
          echo"$row[name]<br>";
          }
          
          while($row = mysql_fetch_array($abfrage_2010))
          {
          echo"$row[name]<br>";
          }
          
          while($row = mysql_fetch_array($abfrage_rock))
          {
          echo"$row[name]<br>";
          }
          
          while($row = mysql_fetch_array($abfrage_hiphop))
          {
          echo"$row[name]<br>";
          }
          
          while($row = mysql_fetch_array($abfrage_pop))
          {
          echo"$row[name]<br>";
          }
          
          while($row = mysql_fetch_array($abfrage_rock))
          {
          echo"$row[name]<br>";
          }
          
          while($row = mysql_fetch_array($abfrage_schlager))
          {
          echo"$row[name]<br>";
          }
          
          while($row = mysql_fetch_array($abfrage_techno))
          {
          echo"$row[name]<br>";
          }
          }
          else
          {
          $abfrage = mysql_query("SELECT * FROM $genre");
          
          while($row = mysql_fetch_array($abfrage))
          {
          echo"$row[name]<br>";
          }
          }
          }
          
          if($search_suche == "1")
          {
          $abfrage_60 = mysql_query("SELECT * FROM musik_60 WHERE name like '%".$suche."%' ORDER BY name");
          $abfrage_70 = mysql_query("SELECT * FROM musik_70 WHERE name like '%".$suche."%' ORDER BY name");
          $abfrage_80 = mysql_query("SELECT * FROM musik_80 WHERE name like '%".$suche."%' ORDER BY name");
          $abfrage_90 = mysql_query("SELECT * FROM musik_90 WHERE name like '%".$suche."%' ORDER BY name");
          $abfrage_2000 = mysql_query("SELECT * FROM musik_2000 WHERE name like '%".$suche."%' ORDER BY name");
          $abfrage_2010 = mysql_query("SELECT * FROM musik_2010 WHERE name like '%".$suche."%' ORDER BY name");
          $abfrage_black = mysql_query("SELECT * FROM musik_black WHERE name like '%".$suche."%' ORDER BY name");
          $abfrage_hiphop = mysql_query("SELECT * FROM musik_hiphop WHERE name like '%".$suche."%' ORDER BY name");
          $abfrage_rock = mysql_query("SELECT * FROM musik_pop WHERE name like '%".$suche."%' ORDER BY name");
          $abfrage_pop = mysql_query("SELECT * FROM musik_rock WHERE name like '%".$suche."%' ORDER BY name");
          $abfrage_schlager = mysql_query("SELECT * FROM musik_schlager WHERE name like '%".$suche."%' ORDER BY name");
          $abfrage_techno = mysql_query("SELECT * FROM musik_techno WHERE name like '%".$suche."%' ORDER BY name");
          
          
          
          
          while($row = mysql_fetch_array($abfrage_60))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_70))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_80))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_90))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_2000))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_2010))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_black))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_rock))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_hiphop))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_pop))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_rock))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_schlager))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_techno))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          echo"</tr>";
          echo"</table>";
          
          }
          
          
          if($suche == "*")
          {
          $abfrage_60 = mysql_query("SELECT * FROM musik_60");
          $abfrage_70 = mysql_query("SELECT * FROM musik_70");
          $abfrage_80 = mysql_query("SELECT * FROM musik_80");
          $abfrage_90 = mysql_query("SELECT * FROM musik_90");
          $abfrage_2000 = mysql_query("SELECT * FROM musik_2000");
          $abfrage_2010 = mysql_query("SELECT * FROM musik_2010");
          $abfrage_black = mysql_query("SELECT * FROM musik_black ");
          $abfrage_hiphop = mysql_query("SELECT * FROM musik_hiphop");
          $abfrage_rock = mysql_query("SELECT * FROM musik_pop");
          $abfrage_pop = mysql_query("SELECT * FROM musik_rock");
          $abfrage_schlager = mysql_query("SELECT * FROM musik_schlager");
          $abfrage_techno = mysql_query("SELECT * FROM musik_techno");
          
          
          $i = 0;
          
          
          echo"<td bgcolor=grey>&nbsp;</td>";
          echo"<tr>";
          
          while($row = mysql_fetch_array($abfrage_60))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_70))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_80))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_90))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_2000))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_2010))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_black))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_rock))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_hiphop))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_pop))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_rock))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_schlager))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          
          while($row = mysql_fetch_array($abfrage_techno))
          {
          $i++;
          echo"<td align=center width=30 bgcolor=red>$i</td>";
          echo"<td align=center width=100>$row[name]</td>";
          echo"<tr>";
          }
          echo"</tr>";
          echo"</table>";
          
          }
          
          
          echo"</div>";
          echo"<div id=content_unten></div>";
          
          
          include('../include/footer.php');
          ?>
          Ich möchte jetzt das script übersichtlicher machen indem ich die While schleifen und die Select abfragen zu jeweils einer zusammen fasse.

          Das ganze dient später meinem Musik archiv was ich in meine datenbank einlese.

          DBname: MUSIK
          tabelle: musik_60 Spalten: ID Name Pfad
          tabelle: musik_70 Spalten: ID Name Pfad
          tabelle: musik_80 Spalten: ID Name Pfad
          tabelle: musik_90 Spalten: ID Name Pfad
          tabelle: musik_2000 Spalten: ID Name Pfad


          ich hoffe man kann es erkennen.

          Gruss

          Kommentar


          • #6
            da kannst du doch gleich eine tabelle nehmen

            musik

            ID | name | pfad | jahr

            und danach eine abfrage wie

            $sql = "SELECT * FROM musik WHERE jahr = '60'";

            und schon kriegste alle namen aus den 60ern

            oder noch ein genre einfügen als spalte , wenn du es flexibler machen willst, dann erstelle 2 tabellen
            musik
            ID | name | pfad | jahr | gerne_id

            genre
            ID | name

            und mit SQL holst du dir die nötigen sachen
            $sql ="SELECT m.* FROM musik m,genre g WHERE m.genre_id = g.id WHERE g.name = 'Hip Hop' "

            sowas in der art. dein fehler war tatsächlich an dem datenbank design
            apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

            Kommentar


            • #7
              Hallo,

              Du könntest daraus eine Tabelle machen mit einer zusätzlichen Spalte, welche du vielleicht "year" nennen kannst. Darin speicherst du dann zu jedem Stück, oder was auch immer in deinen Tabellen gespeichert wird, das Jahr, wie z.B. 60, 70 oder 80 ...

              Und dann kannst du das z.B. so abfragen:

              PHP-Code:
              mysql_query('SELECT * FROM `musik` WHERE `year` = 60'); 
              Dies würde jetzt alle Stücke, die von den 60er sind auslesen...

              mfg Timo

              EDIT: -.^ da kam mir wohl jemand zuvor ...
              Me on GitHub
              Perfect vim configuration
              MAC Adress faker

              Kommentar


              • #8
                Dein DB Design ist eindeutig Falsch, du solltest eine Tabelle Musik und eine Tabelle Kategorie(o.Ä.) haben, so ist das eher Murks.

                Wenn du es wirklich so haben willst bzw, das DB Design nicht mehr ändern kannst/willst schau dir mal die UNION Anweisung vonMySQL an, das ist genau das, was du suchst.

                Kommentar


                • #9
                  Autsch.

                  Auch wenn ich code reviews Beruflich durchführe und schon einiges gesehen habe, hat es dein Code def. in meine Top 5 geschafft

                  1.
                  PHP-Code:
                  echo"<form action= method=>";
                  echo
                  "<input type=hidden>";
                  echo
                  "<input type=hidden>";
                  echo
                  "<input type=hidden>";
                  echo
                  "</form>"
                  was erhofst du dir davon?

                  2. Schon mal was von code formatierung/einrücken gehört

                  3. Pro Seite darf eine ID nur 1x vorkommen
                  PHP-Code:
                  echo"<div id=uhr><span id=uhr></span></div>"
                  Und wenn dann bitte <div id="uhr">

                  4.Was sind das für komische Links?
                  PHP-Code:
                  echo"<a href=../include/logout.php id=button_logout></a>";
                  echo
                  "<a href=../kontakt_login.php class=button_kontakt></a>";
                  echo
                  "<a href=../news/news.php class=button_news></a>";
                  echo
                  "<a href=../musik/musik.php class=button_musik></a>";
                  echo
                  "<a href=../bilder/bilder.php class=button_bilder></a>";
                  echo
                  "<a href=../videos/videos.php class=button_videos></a>";
                  echo
                  "<a href=../downloads/downloads.php class=button_downloads></a>"
                  Fehlt da nicht noch etwas?


                  Das sind so die Sachen, die ins Auge stechen. Den Rest tu ich mir nicht an!

                  Kommentar


                  • #10
                    Ja stimmt so könnte ich das auch machen hmm
                    dann liegt mein fehler wohl in der Denkweise *hust*

                    aber wäre es denn Theoretisch machbar so wie ich das vorhatte??

                    Kommentar


                    • #11
                      Zitat von draco88 Beitrag anzeigen
                      Wenn du es wirklich so haben willst bzw, das DB Design nicht mehr ändern kannst/willst schau dir mal die UNION Anweisung vonMySQL an, das ist genau das, was du suchst.
                      Lies das nochmals
                      Me on GitHub
                      Perfect vim configuration
                      MAC Adress faker

                      Kommentar


                      • #12
                        Code:
                        echo"<form action= method=>";
                        echo"<input type=hidden>";
                        echo"<input type=hidden>";
                        echo"<input type=hidden>";
                        echo"</form>";
                        Davon erhoffe ich mir nichts weiß schon das das nichts bringt es war nur ein test den ich noch nicht gelöscht habe.

                        Code:
                        echo"<div id=uhr><span id=uhr></span></div>";
                        Funktioniert das habe ich so aus dem Netz das <Span> zeigt dir nur die Uhr an.

                        Code:
                        echo"<a href=../include/logout.php id=button_logout></a>";
                        echo"<a href=../kontakt_login.php class=button_kontakt></a>";
                        echo"<a href=../news/news.php class=button_news></a>";
                        echo"<a href=../musik/musik.php class=button_musik></a>";
                        echo"<a href=../bilder/bilder.php class=button_bilder></a>";
                        echo"<a href=../videos/videos.php class=button_videos></a>";
                        echo"<a href=../downloads/downloads.php class=button_downloads></a>";
                        Die Links verweisen auf andere seiten was ist daran falsch ?????

                        Kommentar


                        • #13
                          Hallo,

                          Verwende " bei Attributen zur Trennung!
                          Und egal ob es geht oder nicht - Du solltest dein HTML bzw. xHTML valid schreiben!

                          mfg Timo
                          Me on GitHub
                          Perfect vim configuration
                          MAC Adress faker

                          Kommentar


                          • #14
                            Ok vielen dank

                            Ich werde dann mal ein anderen Style angewöhnen. Dachte immer das wäre in ordnung da die seiten ja so funktionieren.

                            Ich habe die " weggelassen weil ich in PHP immer ne fehlermeldung bekomme und mir dann gesagt wurde ich solle die " einfach weg lassen.

                            Was genau meinst du mit valid schreiben ?

                            Kommentar


                            • #15
                              du kannst dein problem so lösen

                              PHP-Code:
                              echo '<div id="meinID"></div>'
                              außen rum hochkomma

                              valide meint er mit W3C validator, google mal danach
                              apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

                              Kommentar

                              Lädt...
                              X