Bestimmte zeilen einer db aufrufen

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

  • #31
    jo sry habs auch zu spät gemerkt
    also der code oben ist nicht der code von der abfrage.php sondern von der playerdatails.php.
    Sry habs aber wie so ihn gemacht

    habe mal dann $_GET['player'] ausgegeben und da kommt dann eben immer der name, den man angeklickt hat

    Kommentar


    • #32
      Was hindert Dich dann daran die Variable $abfrage auch mal auszugeben und diese dann mal direkt auf der Datenbank auszuführen und zu schauen was rauskommt?

      Kommentar


      • #33
        Nun da gibt mir dann phpMyAdmin das zurück:


        MySQL lieferte ein leeres Resultat zurück (d.h. null Zeilen). (die Abfrage dauerte 0.0004 sek)
        Aber wieso findet er nichts?

        Kommentar


        • #34
          Das kannst nur Du wissen wie es in Deiner Datenbank aussieht.

          Wirst eben die Werte vergleichen müssen, eben auch auf Leezeichen in der Datenbank achten usw....

          Kommentar


          • #35
            Was hindert Dich dann daran die Variable $abfrage auch mal auszugeben und diese dann mal
            hier posten...

            Kommentar


            • #36
              PHP-Code:
              /*Abfrage und Zusammenrechnen*/

              echo $_GET['player'];

              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 />');
                
              echo 
              $abfrage;


              $num_rows mysql_num_rows($ergebnis);

              echo 
              "$num_rows Rows\n"
              so sieht es aus^^

              Allerdings hab ich mal etwas versucht ich nun manueal einfach einen eintrag gemacht und bei dem funktioniert es.
              Also liegt es nicht an der ausgabe sondern an dem einfügen in die Tabelle oder

              Kommentar


              • #37
                So sieht die eingabe aus...:

                PHP-Code:
                /*Datei auswählen*/

                $datei fopen($logfilename,'r'); 


                /*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(' '),'_',$wert);
                        
                $values[$key] = str_replace(array('Playername','Kills','Deaths',':','_'),'',$values[$key]);
                        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());

                ?> 
                Also bei echo $values[$key] kommt das hier raus:

                ('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 ')
                aber jetzt weiß ich immer noch nicht wieso es nicht funktioniert

                Kommentar


                • #38
                  Original geschrieben von Manofwar
                  [B]
                  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 />'); 
                  Hat es einen bestimmten Zweck, den SQL String innerhalb der Bedingung zu definieren, die Abfrage jedoch außerhalb auszuführen? Nicht, dass es unter keinen Umständen einen geben könnte, sieht in deinem Codeauszug nur nicht danach aus.
                  Nieder mit der Camel Case-Konvention

                  Kommentar


                  • #39
                    gut das mal so verbesser ich hoffe das stimmt so.

                    PHP-Code:
                    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 />');

                    Desweiteren hab ich noch in der eingabe.php soetwas ihnein gesetzt da irgendwie immer noch leerzeilen da sind:

                    PHP-Code:
                    /*löschen von Playername etc.*/



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


                    /*datei in Datenback schreiben*/

                    function trim_value(&$value)
                    {
                        
                    $value trim($value);
                    }
                    var_dump($values);

                    array_walk($values'trim_value');
                    var_dump($values);


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

                    mysql_query ($query) or die("MySQL-Fehler:<br>$query<br>" mysql_error()); 
                    Stimmt das so wie ich es gemacht habe? denn die leerzeilen gehen bei der ausgabe immer noch nicht weg

                    Kommentar


                    • #40
                      mir viel gerade etwas auf als ich noch mal das script durch ging.

                      ('_____________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 ')
                      der code sieht so dazu aus:

                      PHP-Code:
                      /*löschen von Playername etc.*/

                      foreach($values as $key=>$wert)
                      {
                              
                      $values[$key] = str_replace(array(' '),'_',$wert);
                              
                      $values[$key] = str_replace(array('Playername','Kills','Deaths',':'),'',$values[$key]);
                              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());

                      ?> 
                      so aber wenn man nun schaut wird immer hinter dem playernamen oder dem kill eine leerzeile gemacht.
                      Aber wieso ist die noch da? Ich habe doch alle Leerzeichen in _ ersetzten lassen.
                      Was ist da flasch

                      Kommentar


                      • #41
                        Du kannst uns sicher erklären, warum du überhaupt endlos viele Leerzeichen in dem String hast und was es dir bringt, diese mit einem Unterstrich zu ersetzen. Du solltest doch nur zur Überprüfung des Strings die Unterstriche einbauen. Und den Unterschied zwischen Leerzeichen, Leerzeilen und Zeilenumbrüchen sollte man kennen!
                        Denkst du auch mal nach? Oder ist das zuviel verlangt? Gibt es irgendetwas an dem Script, was du selber gemacht hast und auch funktioniert? Leute wie dich sollte man aus Foren ausschließen.
                        Zuletzt geändert von uwe59; 22.12.2006, 11:38.

                        Kommentar


                        • #42
                          da kann ich nur erstmal mich bedanken
                          normalerweiße ist doch ein forum da um einem zu helfen und ich bin eben noch ein anfänger. Und ich habe die unterstriche ersetzt, damit das feststelle. Allerdings kapiere ich nicht was dann diese leerzeile da soll wenn es über haupt eine ist?

                          Wie kann ich heraus finden, was das ist?

                          Kommentar


                          • #43
                            Original geschrieben von Manofwar
                            normalerweiße ist doch ein forum da um einem zu helfen und ich bin eben noch ein anfänger.
                            Helfen ja, aber nur solange der OT auch mal selber was macht. Aber genau das tust du eben nicht, du bist nur darauf aus, dass dir jemand deinen Quellcode korrigiert oder schreibt.
                            Original geschrieben von Manofwar
                            Und ich habe die unterstriche ersetzt, damit das feststelle.
                            Toll, aber mehr auch nicht. Was sollten die Leerzeichen, da ist doch was falsch. Aber das ignorierst du erstmal, es wird schon jemand korrigieren, oder?

                            Und von welcher Leerzeile redest du, ich sehe keine.

                            Kommentar


                            • #44
                              ähm nun das die _ wieder wegkommen ist klar hab ich auch schon geschafft...
                              aber es sind dort in der ausgabe noch leerzeichen.
                              Ich mach mal als beispiel eins und mach das leerzeichen als ein !

                              ('_____________Manni!', _______________________'__________________7!', _______________________'_________________10 ')('_____________Manni!', _______________________'__________________15 ', _______________________'_________________2 ')('_____________HUGH!', _______________________'__________________0 ', _______________________'_________________16 ')

                              So jetzt kann man mal oben schauen in dem Zitat und da sehe ich immer ein leerzeile oder?
                              und weie bekomm ich dieseweg oder ist das überhaupt keine leerzeile?

                              Kommentar


                              • #45
                                http://de.php.net/manual/de/function.rtrim.php

                                http://de.php.net/manual/de/function.trim.php
                                vieleicht hilft es dir vieleicht auch nicht ^^v
                                Bitte Beachten.
                                Foren-Regeln
                                Danke

                                Kommentar

                                Lädt...
                                X