php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 26-08-2003, 14:30
stumpy666
 Newbie
Links : Onlinestatus : stumpy666 ist offline
Registriert seit: Jun 2002
Beiträge: 15
stumpy666 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Zahlen Auslesen und Gruppieren

Hallo,

ich benötige eine Select-Anweisung zum Auslesen und Zusammenfassen von Postleitzahlen aus einer Datenbank.

Bsp:

ich habe folgende Postleitzahlen in meiner Datenbank:

05896
29966
31000
59666
65000
95632

Hier ich eine Formular mit einem Select-Feld, in dem ich die PLZ in Gruppen Darstellen möchte!

<Select Name=PLZ>
<option value=05896-29966>
<option value=31000-59666>
<option value=65000-95632></Select>


Klicke ich jetzt auf 31000-59666, sollen alle Daten die eine PLZ zwischen 31000-59666 haben gelistet werden.

Wie sieht das in der ersten? wie in der zweiten Select-Anweisung aus?

Geändert von stumpy666 (26-08-2003 um 14:37 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 26-08-2003, 14:48
kapitaeniglo
 PHP Senior
Links : Onlinestatus : kapitaeniglo ist offline
Registriert seit: Jul 2002
Beiträge: 1.474
kapitaeniglo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

aehm ist es schwer ....

also das waere meine loesung so wie ich die verstanden habe
PHP-Code:
<?

$val 
explode("-",$_POST["PLZ"]);

$sql "SELECT * FROM MEINETABELLE WHERE PLZ  >= $val[0] AND PLZ <= $val[1]";

// blabla der kram mit der whileschleife und so ...

?>
gruss
iglo
Mit Zitat antworten
  #3 (permalink)  
Alt 26-08-2003, 15:07
stumpy666
 Newbie
Links : Onlinestatus : stumpy666 ist offline
Registriert seit: Jun 2002
Beiträge: 15
stumpy666 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

kannst du mir evtl. kurz die Zeile mit dem Befehl: explode erläutern?
Mit Zitat antworten
  #4 (permalink)  
Alt 26-08-2003, 15:09
Wurzel
 Master
Links : Onlinestatus : Wurzel ist offline
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
Wurzel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wärs nicht einfacher, ins manual zu schauen?
http://de2.php.net/manual/de/function.explode.php
__________________
Kissolino.com
Mit Zitat antworten
  #5 (permalink)  
Alt 26-08-2003, 15:20
stumpy666
 Newbie
Links : Onlinestatus : stumpy666 ist offline
Registriert seit: Jun 2002
Beiträge: 15
stumpy666 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Gut... das wäre verstanden... Da könnte man dann glaub ich auch den Befehl BETWEEN $var[0] and $var[1] benutzen

Aber zu der ersten Problematik:

ich habe jeden Menge PLZ die ich Gruppiert in einerm Select-Feld auf mehrere <option> darstellen möchte (siehe oben). Benutzt man da Group by?
Mit Zitat antworten
  #6 (permalink)  
Alt 26-08-2003, 17:55
cst
 Registrierter Benutzer
Links : Onlinestatus : cst ist offline
Registriert seit: Aug 2003
Beiträge: 141
cst ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von stumpy666
ich habe jeden Menge PLZ die ich Gruppiert in einerm Select-Feld auf mehrere <option> darstellen möchte (siehe oben). Benutzt man da Group by?
Ähmmm....
wie GROUP BY????? Ich glaube Du solltest Deine Frage präzisieren. Egal.

Zunächst mal HTML...

<select name="PLZ" size="3">
<option>05896-29966</option>
<option>31000-59666</option>
<option>65000-95632</option>
</select>

Dann, wenn das Formular verarbeitet wird genau wie iglo es gesagt hat:

PHP-Code:
$val explode("-",$_POST["PLZ"]);
$query "SELECT * FROM MEINETABELLE WHERE PLZ  >= $val[0] AND PLZ <= $val[1]";
$result mysql_query($query); 
usw...

Wenn Du die Auswahlliste <select name="PL..... nur mit Werten füllen willst, die auch tatsächlich in der DB vorkommen, dann habe ich Dich falsch verstanden.

cu
Christoph
Mit Zitat antworten
  #7 (permalink)  
Alt 26-08-2003, 23:02
kapitaeniglo
 PHP Senior
Links : Onlinestatus : kapitaeniglo ist offline
Registriert seit: Jul 2002
Beiträge: 1.474
kapitaeniglo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

eben zur frage wegen dem BETWEEN ... jepp ist wohl eleganter ...
aber an den befehl hat ich in dem moment meines posts nicht gedacht ...

wuerd aber wohl auch das betweenb bevorzugen ...

gruss
iglo


nachtrag :

was meinst du mit dem group ???
willste das auswahlfled dynamish erstellen ???
das musste nochmal nen bissel erklaeren ...

Geändert von kapitaeniglo (26-08-2003 um 23:04 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 26-08-2003, 23:53
stumpy666
 Newbie
Links : Onlinestatus : stumpy666 ist offline
Registriert seit: Jun 2002
Beiträge: 15
stumpy666 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

genau... die Daten im Auswahlfeld sind dynamisch und werden bisher alle einzeln gelistet:

<SELECT NAME="state">
<OPTION VALUE="">Wählen Sie eine PLZ</OPTION>

<?php
include("my_database.php");

// Erstellt Verbindung zu Datenbank her
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db($db_name,$db);

// Befehl an die Datenbank
$query = "SELECT DISTINCT plz FROM tabelle ORDER BY Plz ASC";

// Datenbank wird ausgelesen
$result = mysql_query($query,$db);

// Daten werden wiedergegeben
$num = mysql_numrows($result);
for ($i = 0; $i < $num; $i++) {
$row = mysql_fetch_array($result);

echo "<OPTION VALUE='$row[PLZ]'>$row[PLZ]\n";
}
</SELECT>

hier wiederholt sich das Optionsfeld bis alle PLZ ausgelesen sind.

Ich hab hier also nur die Möglichkeit auf eine einzelne Postleitzahl zu klicken um mir dann auf der nächsten Seite die Adressen zu der Postleitzahl anzeigen zu lassen.

Diesen Auzug möchte ich daher zusammen fassen!

1. die Datenbank nach PLZ durchsuchen.
2. alle gefundenen Daten nach der Anfangszahl 0-3, 4-6 und 7-9 gruppieren:
Beispiel:
01825-36586
40058-68963
71586-98756

Jetzt würde ich hier die Auswahl auf einen bestimmten Postleitzahlenbereich zusammenfassen können. Ich lasse mir dann beispielsweise alle Adressen der PLZ zw. 01825-36586 auf der nächsten Seite anzeigen.

ich hoffe ich hab das hier so einigermaßen erklären können?
Mit Zitat antworten
  #9 (permalink)  
Alt 27-08-2003, 22:32
stumpy666
 Newbie
Links : Onlinestatus : stumpy666 ist offline
Registriert seit: Jun 2002
Beiträge: 15
stumpy666 ist zur Zeit noch ein unbeschriebenes Blatt
Question

hatt da denn niemand einen Tip?
Mit Zitat antworten
  #10 (permalink)  
Alt 27-08-2003, 23:20
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

dir geht's um welchen der drei punkte?
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #11 (permalink)  
Alt 28-08-2003, 10:05
stumpy666
 Newbie
Links : Onlinestatus : stumpy666 ist offline
Registriert seit: Jun 2002
Beiträge: 15
stumpy666 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wie ich den Auszug der Postleizahlen aus der Datenbank nach dem Auslesen gruppiere und in max. 3-4 Optionsfeldern darstelle
Mit Zitat antworten
  #12 (permalink)  
Alt 28-08-2003, 10:14
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

du schaust ob du postleitzahlen zwischen 0 und 3, 4 und 6, 7 und 9 hast und gibst dann nen eintrag in deiner selectbox aus

das SELECT dazu steht doch schon oben
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #13 (permalink)  
Alt 28-08-2003, 12:03
kapitaeniglo
 PHP Senior
Links : Onlinestatus : kapitaeniglo ist offline
Registriert seit: Jul 2002
Beiträge: 1.474
kapitaeniglo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

genau .. du suchst dir den kleinsten ziwschen 0 und sowei den groessten raus ... und nimmst die .. ebenso bei den anderen ...

aber warum erzeugste das dynamisch ???

kannst da nicht thoeretisch einfach
also felder 00001-39999
40000-69999
und 70000-99999

nehmen ???
oder wuerd das so nen unterschied machen ?
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft haben
Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft habenSEO oder SEA? Warum SEO die besserer Methode ist.

01.10.2021 | Berni

Kundengewinnung und Kundenbindung
Kundengewinnung und KundenbindungVertrieb läuft doch immer persönlich. Das funktioniert nicht mit dem Internet! Wirklich?

24.09.2021 | Berni


 

Aktuelle PHP Scripte

AdRotator Light ansehen AdRotator Light

AdRotator Light (kurz: "Arlight") ist ein kostenloser und spielend einfach zu bedienender AdServer in PHP.

18.10.2021 scripthostingnet | Kategorie: PHP/ Bannerverwaltung
WebCounter by Scripthosting.net ansehen WebCounter by Scripthosting.net

Der WebCounter von Scripthosting.net ist ein kostenloser Besucherzähler in PHP. Seine Daten speichert er in einer SQLite oder MySQL Datenbank ab.

17.10.2021 scripthostingnet | Kategorie: PHP/ Besucherzaehler
Simple CMS PHP ansehen Simple CMS PHP

Simple CMS PHP is a very simple content management system. You just create a page content into the admin area and then copy the code for this content and paste it into the page of your website, where you want the content to appear. You do not need of any

01.10.2021 nevenov | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:11 Uhr.