Koordinatensuche

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

  • Koordinatensuche

    Ich hab in meiner MySql Datenbank ein Table mit 3 Feldern "X" "Y" und "Z". In diesen Feldern sind Koordinaten eingetragen: z.B.: 23:10:21 (X:Y:Z). Nun will ich mittels einem Suchfeld in einem Formular 3 Eingabefelder nebeneinander haben wo jeweils eins für die X, Y und Z Koordinaten gedacht ist. Wenn der User z.b. 21:29:10 eintippt soll das Table in der Mysql Datenbank danach durchsucht werden und mitteilen ob diese Koordinaten vorhanden sind und wenn ja soll es ihm die Zeile wo die Koodinaten drinnen stehn ihm zeigen.

    Wie verwirkliche ich sowas? Ich hoffe ich haben mich verständlich ausgedrückt. Bin leider noch nicht wirklich erfahren mit php!
    Danke im Vorraus!

  • #2
    hmmm
    PHP-Code:
    mysql_query("SELECT * FROM tabelle WHERE x='".$x-wert."' AND x='".$y-wert."' AND z='".$z-wert."'"); 
    weiter weißt du bestimmt selber (kleiner Tipp: http://php.net/mysql_num_rows )

    was meinst du mit Zeile ? So wie ich das verstanden hab, hast du in jeder Zeile ja nur die 3 Koordinaten stehen. sollen die ausgegeben werden?
    hopka.net!

    Kommentar


    • #3
      ja da steht noch was sich bei den koordinaten etc befindet

      Kommentar


      • #4
        problem:

        search.php
        PHP-Code:
        <table align="center"
            <
        form action="arbiter.php" method=post
            <
        input type=hidden name=action value="check"
          <
        tr>
            <
        td width="20"><font color="C7C0C0" size=2 face="Verdana">Coordinates:</td>
            <
        td><input type=text name="x-wert" size="5">&nbsp;<input type=text name="y-wert" size="5"></td>&nbsp;<input type=text name="z-wert" size="5">
          </
        tr>
            <
        TD><input type=submit value="Search"></form></td
          </
        tr
            <
        tr>
          <
        td>&nbsp;</td>
          </
        tr>
          </
        table
        arbiter.php
        PHP-Code:
          <?php 

        // Systemeinstellungen 

            
        $id "username"
            
        $pw "password"
            
        $host "localhost"
            
        $database "database"
            
        $table "arbiter"

        // Einstellungen Ende 


        $conn_id mysql_connect($host,$id,$pw);
        mysql_select_db($database,$conn_id);
        $result mysql_query("SELECT * FROM $table WHERE x='".$x-wert."' AND y='".$y-wert."'"$conn_id);
        $num_rows mysql_num_rows($result);

        echo 
        "$num_rows Rows\n";

        ?>
        Fehler:
        PHP-Code:
        Warningmysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/www/doc/6236/domain.com/arbiter.php on line 17
        Rows 
        Wo liegt der Hund? Was hab ich im allgemeinem Falsch gemacht? Danke im Vorraus!
        Zuletzt geändert von Gottfried1; 08.06.2003, 02:37.

        Kommentar


        • #5
          Schau mal, ob die Koordinaten-Variablen überhaupt belegt sind
          PHP-Code:
          <?php
          // Systemeinstellungen

              
          $id "username";
              
          $pw "password";
              
          $host "localhost";
              
          $database "database";
              
          $table "arbiter";

          // Einstellungen Ende


          $conn_id mysql_connect($host,$id,$pw)
             or print 
          "&gt;&gt;&gt; MySQL-Error: ".mysql_errno()." -&gt; ".mysql_error()."<br>\n";
          mysql_select_db($database,$conn_id)
             or print 
          "&gt;&gt;&gt; MySQL-Error: ".mysql_errno()." -&gt; ".mysql_error()."<br>\n";

          $query "SELECT * FROM $table WHERE x='$x-wert' AND y='$y-wert'";

          print 
          "query:$query<br>\n";

          $result mysql_query($query$conn_id)
             or print 
          "&gt;&gt;&gt; MySQL-Error: ".mysql_errno()." -&gt; ".mysql_error()."<br>\n";


          $num_rows mysql_num_rows($result);

          echo 
          "$num_rows Rows<br>\n";
          ?>
          Dann poste bitte was bei dem print "query:..." rauskommt.

          Kommentar


          • #6
            *VERSCHIEB*

            Solche anfragen bitte nach SQL

            Kommentar


            • #7
              alles was rauskommt ist das:

              Parse error: parse error, unexpected '=' in /home/www/doc/6236/domain.com/arbiter/arbiter.php on line 17

              Kommentar


              • #8
                Ich habe den Fehler gemacht, dass ich Deine Variablen eingesetzt habe ohne nachzudenken.

                Benenne Deine Variablen $x-wert, $y-wert um auf $xwert, $ywert oder $x_wert bzw. $y_wert.

                Ein - ist ein für Variablen unerlaubtes Zeichen

                Kommentar


                • #9
                  ok nun steht da:

                  PHP-Code:
                  query:SELECT FROM arbiter WHERE x='1' AND y='3'
                  3 Rows 

                  Kommentar


                  • #10
                    Gratuliere! Das ist ja das was Du in der arbiter.php haben wolltest oder?

                    Kommentar


                    • #11
                      nicht ganz: ich will nun das er mir dort wo die x und y koordinaten gleichzeitig in einer zeile vorkommen die jeweilige z koordinaten dazuschreibt:

                      z.b.:

                      ich geb 1:3 ein
                      und es gibt die koordinaten 1:3:5 & 1:3:6 in der datenkbank

                      dann soll er schreiben
                      1:3:5
                      1:3:6

                      und dann noch halt zusatz felder die in der zeile mit den koordinaten stehn z.b. soll er das feld land ausgeben:

                      1:3:5 Österreich
                      1:3:6 Deutschland
                      etc

                      und wenn er keine zutreffende koordinaten findet sollte auch eine bestimmte fehlermeldung halt erscheinen.
                      danke erstmal
                      Zuletzt geändert von Gottfried1; 09.06.2003, 17:54.

                      Kommentar


                      • #12
                        PHP-Code:
                        <?
                        $conn_id = mysql_connect($host,$id,$pw)
                           or print "&gt;&gt;&gt; MySQL-Error: ".mysql_errno()." -&gt; ".mysql_error()."<br>\n";
                        mysql_select_db($database,$conn_id)
                           or print "&gt;&gt;&gt; MySQL-Error: ".mysql_errno()." -&gt; ".mysql_error()."<br>\n";

                        $query = "SELECT * FROM $table WHERE x='$xWert' AND y='$yWert'";

                        // print "query:$query<br>\n";
                        $num_rows = mysql_num_rows($result);
                        echo "$num_rows Rows<br>\n";

                        $result = mysql_query($query, $conn_id)
                           or print "&gt;&gt;&gt; MySQL-Error: ".mysql_errno()." -&gt; ".mysql_error()."<br>\n";

                        while($row = mysql_fetch_array($result)){
                           echo "x:$row[Name_der_SQL_x_koordinate] y:$row[Name_der_SQL_y_koordinate] z:$row[Name_der_SQL_z_koordinate]<br>\n";
                        }   
                        ?>

                        Kommentar


                        • #13
                          PHP-Code:
                          <?php
                          // Systemeinstellungen

                              
                          $id "*****";
                              
                          $pw "*****";
                              
                          $host "*****";
                              
                          $database "*****";
                              
                          $table "arbiter";

                          // Einstellungen Ende



                          $conn_id mysql_connect($host,$id,$pw)
                             or print 
                          "&gt;&gt;&gt; MySQL-Error: ".mysql_errno()." -&gt; ".mysql_error()."<br>\n";
                          mysql_select_db($database,$conn_id)
                             or print 
                          "&gt;&gt;&gt; MySQL-Error: ".mysql_errno()." -&gt; ".mysql_error()."<br>\n";

                          $query "SELECT * FROM $table WHERE x='$x_wert' AND y='$y_wert'";



                          $result mysql_query($query$conn_id)
                             or print 
                          "&gt;&gt;&gt; MySQL-Error: ".mysql_errno()." -&gt; ".mysql_error()."<br>\n";

                          while(
                          $row mysql_fetch_array($result)){
                             echo 
                          "$row[x]";
                             echo 
                          ":";
                             echo 
                          "$row[y]";
                             echo 
                          ":";
                             echo 
                          "$row[z]";
                             echo 
                          "&nbsp;";
                             echo 
                          "$row[land]<br>"
                          }   
                          ?>
                          super funktioniert so weit, danke! aber nun würd ich gern das noch so machen: das er die nicht vorhandenen z koordinaten auffüllt von 1-25:

                          z.b.: ich geb 1:3 ein und es gibt nur 1:3:5 1:3:6 in der datebank dann sollte es so auschaun:

                          1:3:1
                          1:3:2
                          1:3:4
                          1:3:5 österreich
                          1:3:6 deutschland
                          1:3:7
                          1:3:8
                          ... bis 25

                          Kommentar


                          • #14
                            Ich hoff es funzt auf Anhieb. Es gibt viele Lösungsmöglichkeiten, eine wäre ...
                            PHP-Code:
                            <?php
                            // Systemeinstellungen

                                
                            $id "*****";
                                
                            $pw "*****";
                                
                            $host "*****";
                                
                            $database "*****";
                                
                            $table "arbiter";
                            // Einstellungen Ende

                            // Zuerst einen Array vorbereiten
                            for ($i 1$i <= 25$i++) {
                                
                            $MeineKoordinaten [$i] = "$x_wert:$y_wert:$i";
                            }

                            $conn_id mysql_connect($host,$id,$pw)
                               or print 
                            "&gt;&gt;&gt; MySQL-Error: ".mysql_errno()." -&gt; ".mysql_error()."<br>\n";
                            mysql_select_db($database,$conn_id)
                               or print 
                            "&gt;&gt;&gt; MySQL-Error: ".mysql_errno()." -&gt; ".mysql_error()."<br>\n";

                            $query "SELECT * FROM $table WHERE x='$x_wert' AND y='$y_wert'";

                            $result mysql_query($query$conn_id)
                               or print 
                            "&gt;&gt;&gt; MySQL-Error: ".mysql_errno()." -&gt; ".mysql_error()."<br>\n";

                            // Dann die jeweiligen Z Koordinatensätze überschreiben und Land hinzufügen
                            while($row mysql_fetch_array($result)){
                               
                            $MeineKoordinaten [$row[z]] = "$x_wert:$y_wert:".$row[z]."&nbsp;".$row[land];
                            }   

                            // Schließlich Array ausgeben
                            for ($i 1$i <= 25$i++) {
                                print 
                            $MeineKoordinaten[$i]."<br>\n";
                            }
                            ?>

                            Kommentar


                            • #15
                              k danke funktioniert, aja noch etwas:

                              wenn benutzer in meinem formular 3 koordinaten (3 felder x y z) eingeben können sie leider auch die selben koordinaten z.b. 2 mal eintragen in die datenbank. wie verhindere ich das?

                              Kommentar

                              Lädt...
                              X