zeilenumbruch und echo problem

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

  • zeilenumbruch und echo problem

    Hallo ich habe da ein kleines problem aber da ich noch ein echter anfäger in sachen php bin, verzweifel ich dran hier mal das script

    PHP-Code:
    $ip get_ip();
    if(
    $ip == "1.1.1.1") {
    $connect = @mysql_connect($dbHost$dbUser$dbPass) or die("ERROR");
    $selectDB = @mysql_select_db($dbName) or die("ERROR");
    $what1=$_GET["what"];
    $what str_replace("|""%"$what1);
    $query=mysql_query("SELECT * FROM db WHERE what LIKE '$what' ORDER BY time DESC LIMIT 0,3") OR die(mysql_error());
    while(
    $get=mysql_fetch_array($query)){ 
    unset(
    $time$what$status$high$low$why);
    $time=$get[time];
    $what=$get[what];
    $status=$get[status];
    $high=$get[high];
    $low=$get[low];
    $why=$get[why];
    if(!
    $time) {
    echo 
    "-1"; break;
    } else {
           echo 
    "$what $time $status $high $low $why\n";
        }
      }

    also soweit geht es ja bekomme die ausgabe also das erste problem ist halt das wenn nichts gefunden wir mir nicht "-1" angezeigt wird und mein 2tes problem ist das ich ich mir ja 3 zeilen ausgeben lasse was gut geht aber das ich nach der letzten zeile noch eine leerzeile bekomme.
    Kann man das irgendwie ändern mit der leerzeile

    Danke

  • #2
    also habe mich jetzt nochmal etwas genauer hier im forum umgesehen und muss sagen respeckt echt sehr informative und hat mir auch geholfen einen fehler schonmal zu beseitigen und zwar mit der ausgabe von "-1"

    PHP-Code:
      $query=mysql_query("SELECT * FROM db WHERE what LIKE '$what' ORDER BY time DESC LIMIT 0,3") OR die(mysql_error());  
      
    $get_count=mysql_num_rows($query);
          if(
    $get_count == 0){
          echo 
    "-1";
       }else{
      while(
    $get=mysql_fetch_array($query)){ 
       unset(
    $time$what$status$high$low$why);
       
    $time=$get[time];
       
    $what=$get[what];
       
    $status=$get[status];
       
    $high=$get[high];
       
    $low=$get[low];
       
    $why=$get[why];
       echo 
    "$what $time $status $high $low $why\n";
       }
     }


    aber das problem mit dem letzten zeilenumbruch besteht weiterhin wäre dankbar wenn mir da einer helfen könnte oder mir sagen kann wie ich es am besten lösen kann

    Kommentar


    • #3
      1. warum tust du das?
      PHP-Code:
      unset($time$what$status$high$low$why);
         
      $time=$get[time];
         
      $what=$get[what];
         
      $status=$get[status];
         
      $high=$get[high];
         
      $low=$get[low];
         
      $why=$get[why]; 
      du kannst $get[why] (besser $get['why']) auch direkt verwenden und sparst die variablenkopiererei

      2. beschäftige dich mit stringverkettung und arrays:
      PHP-Code:
      while($get=mysql_fetch_array($query)){ 
         
      $out[] = $get['what'];
         }
         echo 
      implode("\n"$out); 
      die verkettung findest du selber
      Kissolino.com

      Kommentar


      • #4
        PHP-Code:
        $query=mysql_query("SELECT * FROM db WHERE what LIKE '$what' ORDER BY time DESC LIMIT 0,3") OR die(mysql_error());  
          
        $get_count=mysql_num_rows($query);
              if(
        $get_count == 0){
              echo 
        "-1";
           }else{
        while(
        $get=mysql_fetch_array($query)){ 
           
        $out[] = $get['what'];
           }
           echo 
        implode("\n"$out);
           }
         } 

        hi ich habe es nun so aber mit dieser sache stringverkettung das verstehe ich leider irgendwie nicht und weiß nicht wie ich damit umgehensoll oder wo es überhaupt hin soll hatte zwar hinbekommen das er mir die daten alle ausgibt aber nicht wie es sollte denn es wurde mir nicht

        "diesunddas 1134331714 on 2 1 darum" wieder gegen sondern

        "diesunddas
        1134331714
        on
        2
        1
        darum"

        alles untereinander was ja nicht richtig ist hoffe es könnte mir jemand behilflich sein dabei

        Kommentar


        • #5
          Der erste Parameter für Implode ist das Trennzeichen, wenn du das Script an der Console ausführst steht alles untereinander ( \n ) wenn du das nicht willst tausche es einfach gegen --> " " <--
          gruss Chris

          [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

          Kommentar


          • #6
            hi erstmal danke für eure hilfe also habe es nun so


            PHP-Code:
            $ip get_ip();
            if(
            $ip == "1.1.1.1") {
            $connect = @mysql_connect($dbHost$dbUser$dbPass) or die("ERROR");
            $selectDB = @mysql_select_db($dbName) or die("ERROR");
            $what1=$_GET["what"];
            $what str_replace("|""%"$what1);
            $query=mysql_query("SELECT * FROM db WHERE what LIKE '$what' ORDER BY time DESC LIMIT 0,3") OR die(mysql_error());
            while(
            $get=mysql_fetch_array($query)){ 
            $out[] = $get['what'];
            $out[] = $get['time'];
            $out[] = $get['status'];
            $out[] = $get['high'];
            $out[] = $get['low'];
            $out[] = $get['why'];
               }
               echo 
            implode("\n"$out);
               }
              } 
            was mir die daten ja untereinander screibt und wenn ich es mit

            echo implode(" ", $out); schreibe kommen die daten zwar nebeneinander aber halt alle aber ich würde es gerne haben das ich wnn ich dann im quell test gucke es so steht

            diesunddas1 1134331714 on 2 1 darum
            diesunddas2 1134331714 on 2 1 darum
            diesunddas3 1134331714 on 2 1 darum

            also das was zusammen gehört in einer zeile und dann eine neue zeile und zum schluss keinen zeilen umbruch mehr der leer ist
            hoffe ich drücke mich richtig aus.

            danke

            Kommentar


            • #7
              PHP-Code:
              while($get=mysql_fetch_array($query))

                
              $out = array();
                
              $out[] = $get['what'];
                
              $out[] = $get['time'];
                
              $out[] = $get['status'];
                
              $out[] = $get['high'];
                
              $out[] = $get['low'];
                
              $out[] = $get['why'];
                echo 
              implode(" "$out) . "\n"

              Sowas?
              gruss Chris

              [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

              Kommentar


              • #8
                Original geschrieben von hhcm
                Sowas?
                bissi lang, oder?
                PHP-Code:
                while($get=mysql_fetch_array($query))

                  
                $out[] =  implode(" "$get);
                }
                echo 
                implode("\n"$out); 
                ^^ reicht doch, wenn er explizit die spalten ausliest, die er anzeigen will
                ansonsten ansonsten würd ich es eher so machen:
                PHP-Code:
                while($get=mysql_fetch_array($query))

                     
                $out[] = $get['what'].' '.$get['time'].' '.$get['status'].' '.etc,pp;
                }
                echo 
                implode("\n"$out); 
                Kissolino.com

                Kommentar


                • #9
                  Besser lang als für ihn unverständlich...
                  gruss Chris

                  [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                  Kommentar


                  • #10
                    super danke euch hat nun wunderbar geklappt

                    Kommentar

                    Lädt...
                    X