Bestimmte zeilen einer db aufrufen

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

  • #16
    echo "<tr><td>$row[playername]</a></td>";
    echo "<td>$row[kills]</td>";
    echo "<td>$row[deaths]</td></tr>";
    Ohne das ich mir den Rest angeschaut habe, sehe ich, das hier was falsch ist. Und Du darfst rausfinden was!

    Kommentar


    • #17
      echo "<tr><td>$row[playername]</a></td>";
      ein </a> zuviel
      Zuletzt geändert von Manofwar; 19.12.2006, 19:48.

      Kommentar


      • #18
        ok penizillin hab dein beitrag fast übersehen aber habs mal korriegiert und ausprobiert.
        Da kommt da folgendes:

        0 Rows

        aber wo liegt dann dabei der Fehler das es nichts in der db findet?

        Kommentar


        • #19
          gib dir mühe, auf den rest meines beitrags einzugehen.

          Kommentar


          • #20
            Du meinst das hier:

            hint #1: der if-block in der zweiten datei macht mehr sinn, wenn du ihm geschweifte klammern spendierst.
            hab ich gemacht:

            PHP-Code:
            /*Abfrage und Zusammenrechnen*/
            if (isset($_GET['player'])) 
            {
            $abfrage "SELECT playername, kills, deaths FROM ranking WHERE playername= '".$_GET['player']."' ORDER BY kills DESC";
            }
              
            $ergebnis mysql_query($abfrage)
              or die(
            mysql_error().'<hr />'.'$abfrage'.'<hr />');
              

            $num_rows mysql_num_rows($ergebnis);

            echo 
            "$num_rows Rows\n"
            Also was meinst du den genau ? hab das mit dem mysql_num_rows gemacht und die klammern spendiert^^

            Kommentar


            • #21
              1. _so_ funktioniert es ohnehin schon. und eben _das_ befand ich für falsch.

              2. was habe ich _noch_ erwähnt?

              3. warum ist '$abfrage' falsch?

              wenn du wieder nur jedes dritte wort liest, kannst du dir nächstes mal mit einem "tutorial" o.ä. behelfen.

              Kommentar


              • #22
                Kleiner Tip nur so xP

                versuch mal herraus zu finden warum er das hier macht ^^
                PHP-Code:
                playerdetails.php?player=%20%20%20%20%20%20%20%20%20%20%20%20%20Bananenboss 
                und warum das hier in der datei steht die von PHP erzeugt wird.
                PHP-Code:
                href='playerdetails.php?player=             Bananenboss  ' 
                ich geb dir ein tip kill die leerzeichen ansonsten wirste noch lange suchen und suchen und suchen ^^
                Bitte Beachten.
                Foren-Regeln
                Danke

                Kommentar


                • #23
                  nun ja also das script das das in die tabelle macht sieht so aus.

                  PHP-Code:
                  /*Absuche nach relevanten Daten*/

                  while (!feof($datei)) 
                  {   
                     
                  $zeile fgets($datei,1024); 
                     
                  $regex "/^Playername *: /iU";
                     
                  $regex1 "/^Kills *: /iU";
                     
                  $regex2 "/^Deaths *: /iU";
                     
                    if (
                  preg_match_all($regex,$zeile,$matches,PREG_SET_ORDER))
                    {
                      foreach(
                  $matches as $match)
                      {
                      
                  $input['playername'][] = $zeile;
                      }
                    } 
                    
                    if (
                  preg_match_all($regex1,$zeile,$matches,PREG_SET_ORDER))
                    {
                      foreach(
                  $matches as $match)
                      {
                       
                  $input['kills'][] = $zeile;
                      }
                    } 
                    
                    if (
                  preg_match_all($regex2,$zeile,$matches,PREG_SET_ORDER))
                    {
                      foreach(
                  $matches as $match)
                      {
                      
                  $input['deaths'][] = $zeile;
                      }
                    } 
                  }
                  fclose($datei);

                  $values = array();

                  for (
                  $i 0$i sizeof ($input['playername']); $i++)
                  {
                           
                  $values[] = "('" $input['playername'][$i] . "',
                                         '" 
                  $input['kills'][$i] . "',
                                         '" 
                  $input['deaths'][$i] . "')";



                  /*löschen von Playername etc.*/

                  foreach($values as $key=>$wert)
                  {
                          
                  $values[$key] = str_replace(array('Playername','Kills','Deaths',':'),'',$wert);
                          echo 
                  $values[$key];
                  }


                  /*datei in Datenback schreiben*/

                  $query "INSERT INTO ranking (playername, kills, deaths) values " implode(", "$values);

                  mysql_query ($query) or die("MySQL-Fehler:<br>$query<br>" mysql_error()); 
                  daher wüsste ich nicht woher die vielen leerzeichen kommen
                  und also ich brauch ja dann trim() aber wo soll ich das einbauen wenn ich nicht genau weiß wo die leerzeilen herkommen^^
                  Zuletzt geändert von Manofwar; 20.12.2006, 14:58.

                  Kommentar


                  • #24
                    Das solltest du doch schon aus einem anderen Forum kennen:

                    Richtig debuggen
                    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
                    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
                    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
                    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
                    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
                    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
                    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
                    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

                    Die Ausgaben per echo kann man sich ersparen, in dem man einen Debugger benutzt, was eigentlich selbstverständlich sein sollte.


                    Warum du dich nicht mal daran hälst, bleibt dein Geheimnis.

                    Kommentar


                    • #25
                      2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);

                      hab ich ist nur weiter oben im script^^

                      nur ich kappier es nicht, den ich lass ja oben values[§key] ausgeben und da kommt das hier:

                      (' Manni ', ' 7 ', ' 10 ')(' Manni ', ' 15 ', ' 2 ')(' HUGH ', ' 0 ', ' 16 ')(' TT52-Dely ', ' 7 ', ' 7 ')(' Bananenboss ', ' 3 ', ' 2 ')(' ', ' 0 ', ' 0 ')(' ', ' 0 ', ' 0 ')(' $1GREENPDANK*TAW* ', ' 0 ', ' 0 ')(' $0,$6;$0))$6),$0>$6M$0ann$6i$0<$6,($0(($6;$0, ', ' 0 ', ' 23 ')(' test ', ' 0 ', ' 0 ')(' molly ', ' 0 ', ' 0 ')(' $0Z$4!$0n$4G$0o$3Q ', ' 0 ', ' 1 ')
                      und da sind nirgends die leerzeichen also wo sollen die den dann noch herkommen

                      Kommentar


                      • #26
                        Wenn man sich mit HTML auskennen würde, dann wüsste man, dass mit
                        PHP-Code:
                        echo "Hallo                   Welt" 
                        Nur
                        Code:
                        Hallo Welt
                        auf dem Bildschirm rauskommt. Es würde also Sinn machen, die Leerzeichen z.B. durch einen Unterstrich zu ersetzen, bevor man den String ausgibt.

                        Und wenn ich nicht völlig blind bin, sehe ich da Leerzeichen, wo keine hingehören
                        Zuletzt geändert von uwe59; 20.12.2006, 17:49.

                        Kommentar


                        • #27
                          siehst du das wusste ich zB nicht habe aber das mal gemacht dann kommt sowas raus also hattest du recht:

                          ('_____________Manni ', _______________________'__________________7 ', _______________________'_________________10 ')('_____________Manni ', _______________________'__________________15 ', _______________________'_________________2 ')('_____________HUGH ', _______________________'__________________0 ', _______________________'_________________16 ')('_____________TT52-Dely ', _______________________'__________________7 ', _______________________'_________________7 ')('_____________Bananenboss ', _______________________'__________________3 ', _______________________'_________________2 ')('_____________ ', _______________________'__________________0 ', _______________________'_________________0 ')('_____________ ', _______________________'__________________0 ', _______________________'_________________0 ')('_____________$1GREENPDANK*TAW* ', _______________________'__________________0 ', _______________________'_________________0 ')('_____________$0,$6;$0))$6),$0>$6M$0ann$6i$0<$6,($0(($6;$0, ', _______________________'__________________0 ', _______________________'_________________23 ')('_____________test ', _______________________'__________________0 ', _______________________'_________________0 ')('_____________molly ', _______________________'__________________0 ', _______________________'_________________0 ')('_____________$0Z$4!$0n$4G$0o$3Q ', _______________________'__________________0 ', _______________________'_________________1 ')
                          Und hab diesen Fehler nun auch behoben thx nochmal dafür.

                          Allerdings werden immer noch 0 Rows angezeigt.
                          Siehe:

                          http://n0n-clan.net/abfrage.php

                          Kommentar


                          • #28
                            code?

                            Kommentar


                            • #29
                              PHP-Code:
                              /*Abfrage und Zusammenrechnen*/
                              if (isset($_GET['player'])) 
                              {
                              $abfrage "SELECT playername, kills, deaths FROM ranking WHERE playername= '".$_GET['player']."' ORDER BY kills DESC";
                              }
                                
                              $ergebnis mysql_query($abfrage)
                                or die(
                              mysql_error().'<hr />'.'$abfrage'.'<hr />');
                                

                              $num_rows mysql_num_rows($ergebnis);

                              echo 
                              "$num_rows Rows\n";


                              /*Ausgabe in Tabelle*/
                              echo "<body bgcolor=#666666>";
                              echo 
                              "<table border=1 width=150 col bgcolor=#555555 bordercolor=#00B5B6 bordercolorlight=#00B5B6 align=center>";

                              while(
                              $row mysql_fetch_assoc($ergebnis))
                              {
                              echo 
                              "<tr><td>$row[playername]</td>";
                              echo 
                              "<td>$row[kills]</td>";
                              echo 
                              "<td>$row[deaths]</td></tr>";
                              }

                              echo 
                              "</table>";
                              echo 
                              "</body>"
                              Das ist jetzt der Code von der Abfrage
                              Zuletzt geändert von Manofwar; 21.12.2006, 14:26.

                              Kommentar


                              • #30
                                EDIT:
                                Code wurde während meines Bereitstellens einer Antwort geändert


                                OffTopic:
                                @Manofwar
                                Wenn Du den Code in Deinen Beiträgen alle 2 min änderst wird Dir keiner helfen können. Bevor Du etwas postest sollte Dir schon klar sein was Du posten willst.
                                Zuletzt geändert von Godfrey; 21.12.2006, 14:35.

                                Kommentar

                                Lädt...
                                X