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 09-06-2009, 08:40
schnuffelbuffel
 Registrierter Benutzer
Links : Onlinestatus : schnuffelbuffel ist offline
Registriert seit: Jun 2009
Beiträge: 15
schnuffelbuffel befindet sich auf einem aufstrebenden Ast
Standard Wie auslesen!

Hallo zusammen,
Ich habe folgende Tabelle, aus der ich Daten herauspicken muss! Die Tabellenstruktur kann ich leider nicht ändern, da diese mir so vorgegeben wurde!

PHP-Code:
field_type                field_value                listingdb_id
Miete                        1200                           1
Zimmer                      2Z                              1
Badzimmer                  1B                              1
Heizung                     inbegriffen                    1
Haustiere                  erlaubt                         1
 
Miete                        2000                           2
Zimmer                      3Z                              2
Badzimmer                  2B                              2
Heizung                     inbegriffen                    2
Haustiere                  erlaubt                         2
 
usw
... 
Nun zu meiner Frage! Ich habe ein Suchformular, mit z.B. Anzahl Zimmer(1Z,2Z,3Z,4Z,5Z+) und Anzahl Badzimmer (1B,2B,3B,4B+). Wie kann ich nun die Daten auslesen, sagen wir mal Zimmer = 2Z, Badzimmer = 1B, so dass mir dann alle Werte von listingdb_id 1 ausgegeben werden?
Also mit anderen Worten, field_value soll auf 3Z und 2B durchsucht werden! 3Z und 2B existieren in listingdb_id 1! Danach sollen also aller Werte für listingdb_id = 1 ausgegeben werden!

Hoffe man versteht was ich meine.
Bin für jede Hilfe dankbar!
SB

Geändert von schnuffelbuffel (09-06-2009 um 08:43 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 09-06-2009, 08:58
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wie sieht dein Versuch aus? Das Forum hat leider kein Query-Machine, die auf Knopfdruck passende Abfrage abwirft.
Mit Zitat antworten
  #3 (permalink)  
Alt 09-06-2009, 09:09
schnuffelbuffel
 Registrierter Benutzer
Links : Onlinestatus : schnuffelbuffel ist offline
Registriert seit: Jun 2009
Beiträge: 15
schnuffelbuffel befindet sich auf einem aufstrebenden Ast
Standard

Hi,
folgendes hab ich mal versucht selbst zu basteln. Allerdings fragt dieser Code nur einen Wert ab. Ich weiss leider nicht, wie man innerhalb einer Spalte zwei Werte gleichzeitig abfragen kann!

PHP-Code:
<?php
$bedrooms 
$_POST['bedrooms'];
$listid ="SELECT * FROM default_en_listingsdbelements WHERE listingsdbelements_field_value = '$bedrooms'";
$listsid mysql_query($listid);
 if(
$l mysql_fetch_array($listsid)){
     do{
$lists $l['listingsdb_id'];
 
$sql "SELECT * FROM default_en_listingsdbelements WHERE listingsdb_id = '$lists';";
 
$projects mysql_query($sql);
 
 if(
$u mysql_fetch_array($projects)){
     do{
?>
 
      <?php echo $u['listingsdb_id']?>  <?php echo $u['listingsdbelements_field_value']?> <br />
 
     <?php }while($u mysql_fetch_array($projects));
 }else {
?> No listing on file
   <?php }
 
     }while (
$l mysql_fetch_array($listsid));
     }
 
 
 
 
?>

Geändert von schnuffelbuffel (09-06-2009 um 09:15 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 09-06-2009, 10:56
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von schnuffelbuffel Beitrag anzeigen
Allerdings fragt dieser Code nur einen Wert ab. Ich weiss leider nicht, wie man innerhalb einer Spalte zwei Werte gleichzeitig abfragen kann!
In dem man mehrere einzelne Bedingungen mit den logischen Operatoren OR/AND verknüpft beispielsweise.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 09-06-2009, 16:47
schnuffelbuffel
 Registrierter Benutzer
Links : Onlinestatus : schnuffelbuffel ist offline
Registriert seit: Jun 2009
Beiträge: 15
schnuffelbuffel befindet sich auf einem aufstrebenden Ast
Standard

Hi wahsaga,
das habe ich ja probiert, aber ich komme einfach auf keine logische Funktion, die mir das gewünschte Resultat liefert!.

Vielleicht könntest du mir ja ein kleiner Denkanstoss liefern
Mit Zitat antworten
  #6 (permalink)  
Alt 09-06-2009, 16:59
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von schnuffelbuffel Beitrag anzeigen
das habe ich ja probiert, aber ich komme einfach auf keine logische Funktion, die mir das gewünschte Resultat liefert!
Wie viel "Logik" braucht es denn, um zwei Bedingungen, die ein Datensatz beide erfüllen soll, damit er selektiert wird, mit einem AND zu verknüpfen ...?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #7 (permalink)  
Alt 09-06-2009, 17:01
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von schnuffelbuffel Beitrag anzeigen
Vielleicht könntest du mir ja ein kleiner Denkanstoss liefern
OK, hier ist Pseudo-Code für dich:

Selektiere gewünschte Daten von der Tabelle wo der Typ = xyz und den Wert = abc
Mit Zitat antworten
  #8 (permalink)  
Alt 09-06-2009, 17:40
schnuffelbuffel
 Registrierter Benutzer
Links : Onlinestatus : schnuffelbuffel ist offline
Registriert seit: Jun 2009
Beiträge: 15
schnuffelbuffel befindet sich auf einem aufstrebenden Ast
Standard

danke asp2php
das verstehe ich ja aber ich denke, ihr habt mein Problem missverstanden! Wenn du mal schaust in meiner Tabelle, die ich oben geposted habe. Ich suche z.B. nach 2Z und 1B (ne 2 Zimmer Wohnung mit einem 1em Banzimmer) in der Spalte field_value. Bei einer übereinstimmung innerhalb einer listingdb_id (beim beispiel oben listingdb_id = 1) soll es mir alle Werte der listingdb_id 1 ausgeben!

Ich kann ja nicht
PHP-Code:
$listid ="SELECT listingdb_id FROM default_en_listingsdbelements WHERE listingsdbelements_field_value ='2Z' AND listingsdbelements_field_value ='1B' )"
benutzen!! Vielleicht gibt es da eine ganz einfache Lösung aber mir ich komme einfach ned weiter!!
Mit Zitat antworten
  #9 (permalink)  
Alt 09-06-2009, 17:46
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Ach so ... na ja, deine "Tabellenbeschreibung" war etwas missverständlich.


Dann wähle alle die Datensätze aus, die in der Spalte den Wert 2Z ODER 1B haben, gruppiere nach der listingdb_id - und lasse die Datensätze mit COUNT zählen, und wähle mittels HAVING nur die aus, wo die Anzahl gleich 2 ist.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #10 (permalink)  
Alt 09-06-2009, 17:58
schnuffelbuffel
 Registrierter Benutzer
Links : Onlinestatus : schnuffelbuffel ist offline
Registriert seit: Jun 2009
Beiträge: 15
schnuffelbuffel befindet sich auf einem aufstrebenden Ast
Standard

das würde - denke ich - so nicht funktionieren. Die Tabelle enthält 100erte von Wohnungen.
Nehmen wir an listingdb_id 1, 19, 33, 56, 90, 156 sind alles 2 Zimmer / 1 Badzimmer Wohnungen. Würde ich deine Formel benutzen, würde es mir nur die Wohnung von listingdb_id 1 ausgeben und nicht alle anderen oder sehe ich das falsch?
Mit Zitat antworten
  #11 (permalink)  
Alt 09-06-2009, 18:07
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Ja, das siehst du falsch.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #12 (permalink)  
Alt 09-06-2009, 18:36
schnuffelbuffel
 Registrierter Benutzer
Links : Onlinestatus : schnuffelbuffel ist offline
Registriert seit: Jun 2009
Beiträge: 15
schnuffelbuffel befindet sich auf einem aufstrebenden Ast
Standard

ok! hab mal bisschen ausprobiert!
PHP-Code:
$listid ="SELECT * FROM default_en_listingsdbelements WHERE (listingsdbelements_field_value = '2BA' OR listingsdbelements_field_value = '3BR') GROUP BY listingsdb_id"
Mir ist nicht ganz klar, wie ich COUNT / HAVING in die Formel einfüge, so dass es funktioniert!
Mit Zitat antworten
  #13 (permalink)  
Alt 09-06-2009, 18:41
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von schnuffelbuffel Beitrag anzeigen
Mir ist nicht ganz klar, wie ich COUNT / HAVING in die Formel einfüge, so dass es funktioniert!
An der jeweils einzigen Stelle, wo sie in einem SELECT-Statement vorkommen dürfen - was du jetzt mal im Manual nachlesen gehst.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #14 (permalink)  
Alt 09-06-2009, 18:43
schnuffelbuffel
 Registrierter Benutzer
Links : Onlinestatus : schnuffelbuffel ist offline
Registriert seit: Jun 2009
Beiträge: 15
schnuffelbuffel befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
$listid ="SELECT listingsdb_id, COUNT(*) AS Total FROM default_en_listingsdbelements 
WHERE (listingsdbelements_field_value = '2BA' OR listingsdbelements_field_value = '3BR') 
GROUP BY listingsdb_id HAVING Total = 2"

so funtzts! danke für den Hinweis (:
EDIT:
Zeilenumbrüche sponsored by kropff

Geändert von Kropff (10-06-2009 um 13:20 Uhr)
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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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