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-11-2008, 08:18
nichtsooft
 Registrierter Benutzer
Links : Onlinestatus : nichtsooft ist offline
Registriert seit: Apr 2006
Ort: Wien [AUT]
Beiträge: 385
nichtsooft ist zur Zeit noch ein unbeschriebenes Blatt
nichtsooft eine Nachricht über ICQ schicken
Standard BETWEEN will mal wieder nicht!?

Ahoii! Und zwar hab ich folgendes Problem:

Ich selecte aus Schuljahren, die in Semester geteilt sind (unix timestamps als INT) mehrere joins...

site_shedule sind eingetragene Aktivitäten (auch als timestamp)

site_pages sind Beiträge die mit Aktivitäten verlinkt werden können

site_pages_links ist ne Hilfstabelle die die Verlinkungen enthält

Ich hab mal ne Graphik angehängt, damit ihr nen Überblick bekommt...

Das ist mein Query:
PHP-Code:
      $shsql "SELECT site_pages.id, site_pages.headline, site_shedule.shed_dateA, site_shedule.shed_dateB, site_shedule.shed_dateDIV
        FROM site_pages, site_pages_links, site_shedule
        WHERE site_shedule.shed_dateA BETWEEN "
.$jear['start']." AND ".$jear['sstart']."
         AND site_pages_links.type=1
         AND site_pages_links.page_id = site_pages.id
         ORDER BY site_shedule.shed_dateA ASC"

Sorry wegen der PHP-Variablen! Rauskommen soll im Endefekt ein HTML-Select indem nach OPTGROUP Jahre nach Semestern geteilt sind und pro Semester die Einzelnen headlines mit Datum davor...
Bsp.: 11.11.2011: Ich bin die headline einer site_pages

Die OPTGROUPs waren ja kein Problem, aber der gepostete Query dauert 10sec. und liefert irrsinnige Ergebnisse! Bei Bedarf poste ich auch gern den PHP Code!
Angehängte Grafiken
Dateityp: jpg mysql01.jpg (71,4 KB, 90x aufgerufen)
__________________
WHILE (!$asleep) { $sheep++; }
Mit Zitat antworten
  #2 (permalink)  
Alt 26-11-2008, 09:19
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: BETWEEN will mal wieder nicht!?

Zitat:
Original geschrieben von nichtsooft


Sorry wegen der PHP-Variablen!
Sorry, du machst jetzt brav echo $shsql; und poste den Output hierein.
Mit Zitat antworten
  #3 (permalink)  
Alt 26-11-2008, 09:27
nichtsooft
 Registrierter Benutzer
Links : Onlinestatus : nichtsooft ist offline
Registriert seit: Apr 2006
Ort: Wien [AUT]
Beiträge: 385
nichtsooft ist zur Zeit noch ein unbeschriebenes Blatt
nichtsooft eine Nachricht über ICQ schicken
Standard

gerne asp!

Ich dachte bloß PHP wär hier viell. unangebracht! =)

Also hier mal mit "LIMIT 1" und print_r();

Array
(
[id] => 208
[headline] => Nestlé Lauf - Eisenstadt
[shed_dateA] => 1220220000
[shed_dateB] => 0
[shed_dateDIV] => div
)

Edit:

Der Datenfalsch ist falsch! Eigentlich sollte hier ein ganz anderer (id = 287) ausgegeben werden!
__________________
WHILE (!$asleep) { $sheep++; }
Mit Zitat antworten
  #4 (permalink)  
Alt 26-11-2008, 09:59
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Uns interessiert nicht das Resultat, sondern der Query, der auch an MySQL raus geht.
Mit Zitat antworten
  #5 (permalink)  
Alt 26-11-2008, 12:29
nichtsooft
 Registrierter Benutzer
Links : Onlinestatus : nichtsooft ist offline
Registriert seit: Apr 2006
Ort: Wien [AUT]
Beiträge: 385
nichtsooft ist zur Zeit noch ein unbeschriebenes Blatt
nichtsooft eine Nachricht über ICQ schicken
Standard

*lol* Manchmal lese ich was ich lesen will...

Also beim echo kommt folgedes raus:

SELECT site_pages.id, site_pages.headline, site_shedule.shed_dateA, site_shedule.shed_dateB, site_shedule.shed_dateDIV
FROM site_pages, site_pages_links, site_shedule
WHERE site_shedule.shed_dateA BETWEEN 1220220000 AND 1233961200
AND site_pages_links.type=1
AND site_pages_links.page_id = site_pages.id
ORDER BY site_shedule.shed_dateA ASC
__________________
WHILE (!$asleep) { $sheep++; }
Mit Zitat antworten
  #6 (permalink)  
Alt 26-11-2008, 13:09
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich würde zunächst mal mit einem LEFT/RIGHT/INNER JOIN optimieren, CROSS JOIN ist zu teuer . Ich würde so gestalten:

PHP-Code:
select ... from site_pages a inner join site_pages_links b
   on a
.id=b.pages_id inner join site_shedule c
      on b
.link=c.shed_id 
          where 
(c.shed_dateA BETWEEN 1220220000 AND 1233961200)
              and 
b.type=1
order by 
... 
Mit Zitat antworten
  #7 (permalink)  
Alt 28-11-2008, 04:07
nichtsooft
 Registrierter Benutzer
Links : Onlinestatus : nichtsooft ist offline
Registriert seit: Apr 2006
Ort: Wien [AUT]
Beiträge: 385
nichtsooft ist zur Zeit noch ein unbeschriebenes Blatt
nichtsooft eine Nachricht über ICQ schicken
Standard

BIG THX! Jetzt läuft's A richtig und B 30x schneller! =)
__________________
WHILE (!$asleep) { $sheep++; }

Geändert von nichtsooft (28-11-2008 um 04:36 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 03:38 Uhr.