php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.09.2004, 15:21  
Gast
 
Beiträge: n/a
Standard Betrifft nochmal PLZ-Suche mit Mysql

Hallo Leute,

ich brauche bitte nochmal hilfe, denn ich bekomme nicht die Plz ausgelesen, die der eingegebenen PLZ am nächsten liegt .
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.09.2004, 15:23  
Gast
 
Beiträge: n/a
Standard

Also das ist mit Abstand die kürzeste und unpräziseste Anfrage die ich in diesem Forum entdeckt habe.
Könntest du deine Anfrage vielleicht etwas umschreiben und eine konkrete Frage stellen.

[edit]
Ich sehe gerade, dass du diese (oder eine ähnliche) Frage heute schon einmal gestellt hast.
Warum benutzt du nicht das selbe Thema um deine Frage zu klären?
[/edit]
  Mit Zitat antworten
Alt 17.09.2004, 15:39  
Gast
 
Beiträge: n/a
Standard

Hallo

ja war sehr kurz geb ich ja zu.
Also ein Beispiel:
Ich habe in der DB einen Eintrag mit PLZ 44145 wenn ich aber nun 44287 oder so ähnlich in das mein Formularfeld eingebe bekomme ich nicht die Adresse mit 44145 ausgegeben sondern zum Beispiel 52014.
Aber ich möchte gern den eintrag der der eingegebenen Zahl am nächsten kommt.
Und ich hab schon die ganze Zeit rumprobiert, weiß jetzt nicht mehr weiter.
Aber da müßte es doch ne Möglichkeit geben oder??
Helf mir bitte
  Mit Zitat antworten
Alt 17.09.2004, 15:42  
Gast
 
Beiträge: n/a
Standard

Täusche ich mich jetzt, oder ist es exakt das selbe Problem wie in deinem anderen Thema?!

So wie ich das da lese, hast du eine funktionierende Lösung bekommen. Hast dich doch selber noch dafür bedankt.

Aber gut.
Was genau soll geprüft werde. Soll immer nur die nächst kleinere PLZ ausgegeben werden oder die, die am nächsten drann ist. Egal ob nach oben oder nach unten?
  Mit Zitat antworten
Alt 17.09.2004, 15:48  
Gast
 
Beiträge: n/a
Standard

Es soll die Plz ausgegeben werden die der eingebenen am nächsten kommt,egal ob nach oben oder nach unten.

Und zu deiner Frage warum ich nicht den Beitrag von heute vormittag nutze, ich kenne mich in diesem Forum noch nicht so aus, also bitte nicht böse sein.
  Mit Zitat antworten
Alt 17.09.2004, 15:57  
Gast
 
Beiträge: n/a
Standard

Also da ist dann eine größere Abfrage nötig. Da ein Computer ja nur logische Schußfolgerungen ziehen kann und nicht wie ein Mensch einfach gucken und spontan Entscheidungen treffen kann.

Erstmal musst du die nächst kleinere und die nächst größere PLZ ermitteln.

Dazu hat dir ja MarcoErb ja schon etwas geschriebn.

Code:
SELECT `plz` FROM `table` WHERE `plz` <= 49134 ORDER BY `plz` DESC LIMIT 1
Mit dieser Zeile bekommst du die gesuchte oder die nächst kleinere PLZ ausgegeben.

Code:
SELECT `plz` FROM `table` WHERE `plz` >= 49134 ORDER BY `plz` DESC LIMIT 1
Damit bekommst du die gesuchte oder die nächst größere PLZ ausgegeben.

In PHP musst du dann prüfen, ob das Ergebnis der Suche entspricht udn wenn nicht überprüfen, welche PLZ der Suche am nächsten ist.

[edit]
Ob es eine mathematische Lösung gibt, die alles in einer Query abfragt weis ich nicht. Dafür bin ich zuwenig Mathematiker.
[/edit]
  Mit Zitat antworten
Alt 17.09.2004, 16:23  
Gast
 
Beiträge: n/a
Standard

Ja soweit war ich auch schon.

Ich habe bis jetzt Drei Abfragen:
PHP-Code:

$result 
mysql_query("SELECT * FROM `adressen` WHERE `PLZ`= $plz ORDER BY `PLZ`DESC");
         
$menge mysql_num_rows($result);
                 if(
$menge!=0)
                 {
                  while (
$row mysql_fetch_row ($result))
                  {
                  echo 
$row[0]."
"
;
                  echo 
$row[1]."
"
;
                  echo 
$row[2]."
"
;
                  echo 
$row[3]."
"
;
                  echo 
$row[4]."
"
;
                  echo 
$row[5]."
"
;
                  echo 
$row[6]."
"
;
                  echo 
$row[7]."
"
;
                  echo 
$row[8];
                  } 
Diese um Abzufragen ob die eingegebene PLZ so in DB steht oder nicht.


PHP-Code:

else if ($plz>$result)
                 {
                 echo 
"größer";
                 
$result1 mysql_query("SELECT * FROM `adressen` WHERE `PLZ` >= $plz ORDER BY `PLZ` ASC LIMIT 1");

                 while(
$row mysql_fetch_row ($result1))
                 {
                 echo 
$row[0]."
"
;
                 echo 
$row[1]."
"
;
                 echo 
$row[2]."
"
;
                 echo 
$row[3]."
"
;
                 echo 
$row[4]."
"
;
                 echo 
$row[5]."
"
;
                 echo 
$row[6]."
"
;
                 echo 
$row[7]."
"
;
                 echo 
$row[8];
                 }
                 } 
Diese um Abzufragen ob die eingegebene PLZ größer ist als das Abfrageergebnis.

PHP-Code:

else if($plz<$result)
                 {
                 echo 
"kleiner";
                 
$result2 mysql_query("SELECT * FROM `adressen` WHERE `PLZ` <= $plz ORDER BY `PLZ` DESC LIMIT 1");

         while(
$row mysql_fetch_row ($result2))
         {
         echo 
$row[0]."
"
;
         echo 
$row[1]."
"
;
         echo 
$row[2]."
"
;
         echo 
$row[3]."
"
;
         echo 
$row[4]."
"
;
         echo 
$row[5]."
"
;
         echo 
$row[6]."
"
;
         echo 
$row[7]."
"
;
         echo 
$row[8];
         }

                 } 
Und die letzte für den anderen Fall.
Nur komme ich nie zur letzten Abfrage.
Kann man die Bedingungen überhaupt so formulieren?
Kannst du mir immernoch folgen oder hältst du mich jetzt für blöd?
Ist dieser Code zu kompliziert geschrieben?
  Mit Zitat antworten
Alt 17.09.2004, 16:30  
Gast
 
Beiträge: n/a
Standard

Nein, für blöd halte ich dich nicht.

Aber so wie du das geschrieben hast, kann es nicht funktionieren.

Boa, wo fange ich da jetzt an?

$result ist nicht das was du denkst. In $result steht die Kennummer-Nummer der Abfrage drin, die php von MySQL zurück bekommt. Mit dieser Nummer kannst du immer wieder auf die Abfrage zugreifen, ohne dies Abfrage nocheinmal anzufordern.

Also mit
Code:
else if ($plz>$result)
liegst du voll daneben.

Bevor ich jetzt einen ganzen Roman schreibe, würde ich vorschlagen, dass du dir noch einmal das PHP-Manual oder ein Tutorial anschaust.
  Mit Zitat antworten
Alt 17.09.2004, 16:37  
Gast
 
Beiträge: n/a
Standard

Ok das habe ich mir schon fast gedacht das es nicht die beste Lösung ist,aber wie mache ich das sonst mit dieser blöden Abfrage??
Und Möglichst einfach?
  Mit Zitat antworten
Alt 17.09.2004, 16:50  
Gast
 
Beiträge: n/a
Standard

Also grundsätzlich solltest du anstreben dir das Wissen anzueigenen was du brauchst.
Das Forum soll nicht dazu dienen immer gleich den fertig Code vor die Nase gesetzt zu bekommen.

Du solltest also auf jeden Fall mal ins Manual oder in ein Tutorial rein schauen.

Ich habe jetzt nicht mehr allzuviel Zeit. Wenn ich mrgen noch daran denke, kann ich da was zusammen-coden. Versprechen tu ich aber nix. :wink:
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Suche (MATCH) mit MYSQL ruferp Datenbanken 1 10.09.2007 22:06
Mysql Suche! Boennchen Datenbanken 10 14.07.2006 15:48
suche mit mysql winki Datenbanken 4 24.04.2006 16:25
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
Suche Webspace mit PHP MySQL für PhpOpenChat webmaster_andre Beitragsarchiv 2 05.09.2005 20:19
Suche PHP & MySQL Programmierer Beitragsarchiv 4 11.08.2005 17:12
Suche MySQL Funktion zum Verbinden 2er Felder R4v3r Datenbanken 2 12.07.2005 23:49
Suche Progger PHP, PERL, MYSQL, C++usw.. und Designer,Flash Beitragsarchiv 1 28.06.2005 17:12
Suche Php(evt Mysql) Leute Beitragsarchiv 14 12.12.2004 15:15
Suche in Mysql Datenbank philipro PHP Tipps 2004-2 2 02.12.2004 17:44
Suche MySQL referenz Datenbanken 2 17.11.2004 14:04
Suche Programmierer mit php und MySqL kenntnissen! Beitragsarchiv 30 01.11.2004 13:16
suche php mysql programmierer Beitragsarchiv 28 27.10.2004 10:14
Suche PHP / MySQL Spezialisten für Spezialprojekt, $$ Beitragsarchiv 17 27.08.2004 12:55
Suche php, mysql künstler Beitragsarchiv 0 11.08.2004 22:08

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php suche in mysql, mysql plz suche, sql plz-suche mit 0, plz mysql suchen, mysql php plz suche von bis, nächste plz php, php plz suchfunktion, mysql php plz, php mysql programmierung \while($row = mysql_fetch_row\, plz suchfunktion php, welche sind die nächsten plz von einer plz, mysql php plz suche, plz suche syntax sql php, mysql nächste plz suchen, php plz nächstes ergebnis, phpcode plz abfrage

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:18 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.