query verarbeiten

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

  • query verarbeiten

    hole mehrere datensätze aus der db und stelle sie durch ne while schleife dar.
    pro datensatz erzeuge ich eine html tabellenzeile mit zwei zellen.
    jetzt ist es so, das bei den datensätzen immer einer gleich ist, z.b. $anbauland. ich möchte die vari $anbauland nur in der ersten tabellenzeile
    in einer zelle drin stehen haben und in allen weiteren zeilen, welche durch die while-schleife erzeugt werden, durch ein   oder von mir aus ein leer.gif ersetzen.
    gebt mir nur ein ansatz!
    THX for HELP
    [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

  • #2
    dann prüfste einfach, ob das die gleiche ist, wie vorher.

    Kommentar


    • #3
      verstehe dich nicht!
      muss ich da vielleicht mit ner for-schleife ran? doch ist mir dann nicht klar wie ich nach dem ersten datensatz alle anderen durch $schiessmichtot ersetze. oder ist das der falsche weg?
      [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

      Kommentar


      • #4
        ne weitere variable, die du vor der while-schleife auf nen wert setzt, der garaniert nicht vorkommt

        innerhalb der while-schleife kannst du ja mit dem aktuellen wert vergleichen und dmeentsprechend reagieren (in der variablen speichenrund ausgeben bei unterschieden z.b.)
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          okay, scheinbar ist wie so oft mein hirn matsch und ich raffs nicht!
          momentan habe ich zwei fkt's zum darstellen der datensätze, die erste holt mir nur den ersten ds und stellt ihn dar, diese:
          PHP-Code:
          function first_wine($laender,$anbau_id){
              
          $laender $_GET ['laender'];
              
          $anbau_id$_GET ['anbau_id'];
              
          $result MYSQL_QUERY"SELECT id, laender, anbau, erzeuger from weine where laender='".$laender."' and anbau_id='".$anbau_id."' limit 0,1");
                            if (!
          $result) echo mysql_error();
                            
          $zeile=mysql_fetch_array($result);
                            
          $anbau      htmlentities(stripslashes($zeile["anbau"]));
                            
                            
          $erzeuger   htmlentities(wordwrap(stripslashes$zeile["erzeuger"] ), 28));
                            
          $erzeuger   $erzeuger."\n";
                            
          $erzeuger   str_replace("\n""<br>&nbsp;&nbsp;"$erzeuger);
                             
                             
                             
                            
                            echo 
          '<tr valign="top">'
                            echo 
          '<td width="110" height="16" valign="top" class="normbold">'
                            echo 
          $anbau;
                            echo 
          '</td>'
                            echo 
          '<td width="184" height="16" valign="top" class="norm">';
                            echo 
          "&middot; ".$erzeuger
                            echo 
          ' </td></tr>';
                            
          //return $result;
                          

          die zweite holt dann alle weiteren ohne $anbau, diese:
          PHP-Code:
          function last_wine($laender,$anbau_id,$lim,$max){
              
          $laender  $_GET ['laender'];
              
          $anbau_id $_GET ['anbau_id'];
              
          $lim $_GET ['lim'];
              
          $max $_GET ['max'];
                  
              
          $resultID mysql_query("SELECT COUNT(id) FROM weine where laender='".$laender."' and anbau_id='".$anbau_id."'");
              
          $total mysql_result($resultID,0);
              
              if(
          $lim=="") {$lim =1;}
              if(
          $max=="") {$max =4;}
              
          $limadd=$lim $max;
              
          $limsub=$lim $max;
              
          //$new="$lim+5";
              //$old="$lim-5";
              
                  
              
          $result MYSQL_QUERY"SELECT anbau,id, laender, erzeuger from weine where laender='".$laender."' and anbau_id='".$anbau_id."' limit $lim,$max");
                    if (!
          $result) echo mysql_error();
                    while (
          $zeile=mysql_fetch_array($result)) {
                            
                            
          $erzeuger   htmlentities(wordwrap(stripslashes$zeile["erzeuger"] ), 28));
                            
          $erzeuger   $erzeuger."\n";
                            
          $erzeuger   str_replace("\n""<br>&nbsp;&nbsp;"$erzeuger);
                            
          $land       $zeile["laender"];


                            echo 
          '<tr valign="top">'
                            echo 
          '<td width="110" height="16" valign="top" class="normbold">'
                            echo 
          '<img src="images/spacer.gif" width="1" height="1" border="0" />';
                            echo 
          '</td>'
                            echo 
          '<td width="184" height="16" valign="top" class="norm">';
                            echo 
          "&middot; ".$erzeuger
                            echo 
          ' </td></tr>';
                                       }
                            switch (
          $laender):
                                case 
          d:
                                    
          $auswahl "deutschland";
                                break;
                                case 
          f:
                                    
          $auswahl "frankreich";
                                break;
                                case 
          i:
                                    
          $auswahl "italien";
                                break;
                                case 
          s:
                                    
          $auswahl "spanien";
                                break;
                                default:
                                    
          $auswahl ="modify";
                                endswitch;           
                            echo 
          '<tr valign="top">';
                            echo 
          '<td width="110" height="16" valign="top" class="norm"><br /><br />';
                            
          //echo $total."<br />";
                            //echo $limadd;
                                
                      
                      
                      
          if ($limadd $total){ //($lim + $max)
                          
          echo "<a href=\"start_main.php?page=two_".$auswahl."&subpage=left_wein&laender=".$laender."&anbau_id=".$anbau_id."&lim=".($lim $max)."&$max=".$max."\">";
                          echo 
          "Weine ".($lim+$max)."-".($limadd+$max)."";
                          echo 
          "</a><br /><div class=\"opt\">(n&auml;chsten)</div>";}
                          else{
                              echo 
          '<img src="images/spacer.gif" width="1" height="1" border="0" /><br />';
                                    }
                          
                      
                      
                            echo 
          '</td>';
                            echo 
          '<td width="184" height="16" valign="top" class="norm"><br /><br />';
                            if (
          $lim >= $max){
                      echo 
          "<a href=\"start_main.php?page=two_".$auswahl."&subpage=left_wein&laender=".$laender."&anbau_id=".$anbau_id."&lim=".$limsub."\">";
                      echo 
          "Weine ".($limsub+$max)."-".($lim+$max)."";
                      echo 
          "</a><br /><div class=\"opt\">(zur&uuml;ck)</div>";
                  }else{
                              echo 
          '<img src="images/spacer.gif" width="1" height="1" border="0" /><br />';
                                    }
                            echo 
          '</td></tr>';
                                               
                             
          //return $result;
                          

          bisher ging das auch prima. jetzt sind jedoch die erzeuger mehr geworden und ich musste die blätter-funktion einbauen. dadurch entsteht nun das prob, dass auch beim weiter blättern der erste datensatz stehen bleibt und nur die nächsten weine der zweiten fkt. geholt werden.
          das ist aber uncool, deswegen möchte ich fkt. last_weine() so umbauen, wie schon beschrieben.
          [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

          Kommentar


          • #6
            gegenfrage: warum behandelst du den ersten datensatz besonders?
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              damit ich $anbau darstellen kann. in der zweiten fkt. steht dann statt $anbau <img...../>, deswegen. das ist ja das wovon ich rede, ich will nur eine fkt., in der ersten zeile mit $anbau und in allen weiteren $anbau durch <img..../> ersetzen.
              [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

              Kommentar


              • #8
                da machst du einfach ne abfrage rein.

                entweder if$i = 1

                oder if($aktuellesthema!=altesthema)

                Kommentar


                • #9
                  bahnhof!!!
                  okay, schluss für heute. ich schau mir das morgen früh, wenn ich ausgeschlafen habe, nochmal in ruhe an und überlege mir selbst etwas.
                  gehe jetzt nach hause.
                  BYE and THX
                  [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

                  Kommentar


                  • #10
                    sorry leute, ich checks grad nicht.
                    möchte die zwei fkt's zusammen fassen, quasi bei last_weine anbau auch aus der db ziehen, jedoch in der schleife anbau nur einmal in der ersten, erzeugten zeile anzeigen und danach statt $anbau nur leer.gifs. habe jetzt
                    alles mögliche probiert, mir ist es jedoch nicht gelungen, vielleicht denke ich auch in die falsche richtung?
                    [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

                    Kommentar


                    • #11
                      die beschreibung war doch eigentlich ausführlich genug ... leute, wie wollt ihr programmieren, wenn ihr nicht mal eine verbale beschreibung in einer art pseudo-code umsetzen könnt?

                      nochmal:

                      in jedem schleifendurchlauf kuckst du nach, ob der aktuelle wert gleich dem aus dem vorherigen durchlauf ist - wenn ja, gib nichts aus (bzw. leer.gif), wenn nein, gib den wert aus.
                      dabei musst du dir den aktuellen wert natürlich für den nächsten durchlauf merken.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        PHP-Code:
                        <?php
                        $habbichschon 
                        = Array();
                        # schleife ...
                            
                        if ( !isset($habbichschon[$anbau]) ) {
                                print 
                        $anbau;
                                
                        $habbichschon[$anbau] = true;
                            } else {
                                 print 
                        "Hier soll getz nix stehn";
                            }
                        # schleife ende
                        ?>
                        so? oder habbich dich mistverstanden?

                        7-/anz

                        Kommentar


                        • #13
                          Wunderbar Nachbar

                          genau so, wobei ich das array weg lassen würde und durch eine normale variable erstzen. schließlich kann man ja in dem select schon ORDER BY oder GROUP BY machen, dann erledigt sich das.

                          Kommentar


                          • #14
                            die beschreibung war doch eigentlich ausführlich genug ... leute, wie wollt ihr programmieren, wenn ihr nicht mal eine verbale beschreibung in einer art pseudo-code umsetzen könnt?
                            das kann ich schon, dessen sei dir sicher, doch manchmal sieht man den wald vor lauter bäume nicht! wie dem auch sei, so gehts top.
                            PHP-Code:
                            function last_wine($laender,$anbau_id,$lim,$max){
                                
                            $laender  $_GET ['laender'];
                                
                            $anbau_id $_GET ['anbau_id'];
                                
                            $lim $_GET ['lim'];
                                
                            $max $_GET ['max'];
                                    
                                
                            $resultID mysql_query("SELECT COUNT(id) FROM weine where laender='".$laender."' and anbau_id='".$anbau_id."'");
                                
                            $total mysql_result($resultID,0);
                                
                                if(
                            $lim=="") {$lim =0;}
                                if(
                            $max=="") {$max =5;}
                                
                            $limadd=$lim $max;
                                
                            $limsub=$lim $max;

                                
                                    
                                
                            $result MYSQL_QUERY"SELECT anbau, id, laender, erzeuger from weine where laender='".$laender."' and anbau_id='".$anbau_id."' limit $lim,$max");
                                      if (!
                            $result) echo mysql_error();
                                      
                            $n=1;
                                      while (
                            $zeile=mysql_fetch_array($result)) {
                                              
                                              
                            $anbau      htmlentities(stripslashes($zeile["anbau"]));
                                              
                            $erzeuger   htmlentities(wordwrap(stripslashes$zeile["erzeuger"] ), 28));
                                              
                            $erzeuger   $erzeuger."\n";
                                              
                            $erzeuger   str_replace("\n""<br>&nbsp;&nbsp;"$erzeuger);
                                              
                            $land       $zeile["laender"];

                                              echo 
                            '<tr valign="top">'
                                              echo 
                            '<td width="110" height="16" valign="top" class="normbold">';
                                              
                                              if (
                            $n<=1){
                                                  echo 
                            $anbau;
                                                  
                            $n++;
                                                  
                            //$anbau="1";
                                              
                            }else{
                                                  echo 
                            '<img src="images/spacer.gif" width="1" height="1" border="0" />'
                                                  }
                                              echo 
                            '</td>'
                                              echo 
                            '<td width="184" height="16" valign="top" class="norm">';
                                              echo 
                            "&middot; ".$erzeuger
                                              echo 
                            ' </td></tr>';
                                                         }
                                              echo 
                            '<tr valign="top">';
                                              echo 
                            '<td width="110" height="16" valign="top" class="norm"><br /><br />';
                                              
                                              switch (
                            $laender):
                                                  case 
                            d:
                                                      
                            $auswahl "deutschland";
                                                  break;
                                                  case 
                            f:
                                                      
                            $auswahl "frankreich";
                                                  break;
                                                  case 
                            i:
                                                      
                            $auswahl "italien";
                                                  break;
                                                  case 
                            s:
                                                      
                            $auswahl "spanien";
                                                  break;
                                                  default:
                                                      
                            $auswahl ="modify";
                                                  endswitch;
                                                  
                                        
                                        
                                        if (
                            $limadd $total){ //($lim + $max)
                                            
                            echo "<a href=\"start_main.php?page=two_".$auswahl."&subpage=left_wein&laender=".$laender."&anbau_id=".$anbau_id."&lim=".($lim $max)."&$max=".$max."\">";
                                            echo 
                            "Weine ".($lim+$max)."-".($limadd+$max)."";
                                            echo 
                            "</a><br /><div class=\"opt\">(n&auml;chsten)</div>";}
                                            else{
                                                echo 
                            '<img src="images/spacer.gif" width="1" height="1" border="0" /><br />';
                                                      }
                                            
                                        
                                        
                                              echo 
                            '</td>';
                                              echo 
                            '<td width="184" height="16" valign="top" class="norm"><br /><br />';
                                              if (
                            $lim >= $max){
                                        echo 
                            "<a href=\"start_main.php?page=two_".$auswahl."&subpage=left_wein&laender=".$laender."&anbau_id=".$anbau_id."&lim=".$limsub."\">";
                                        echo 
                            "Weine ".($limsub+$max)."-".($lim+$max)."";
                                        echo 
                            "</a><br /><div class=\"opt\">(zur&uuml;ck)</div>";
                                    }else{
                                                echo 
                            '<img src="images/spacer.gif" width="1" height="1" border="0" /><br />';
                                                      }
                                              echo 
                            '</td></tr>';
                                                                 
                                               
                            //return $result;
                                            

                            [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

                            Kommentar

                            Lädt...
                            X