php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #31 (permalink)  
Alt 12-04-2010, 18:05
jemont
 Registrierter Benutzer
Links : Onlinestatus : jemont ist offline
Registriert seit: Apr 2010
Beiträge: 28
jemont befindet sich auf einem aufstrebenden Ast
Standard

sorry,

beide felder werden über einen datepicker gefüllt, und sind in der datenbank als typ date gesetzt beide felder sind so formatiert. jjjj-mm-tt

mein query
PHP-Code:
$result mysql_query("SELECT 
id,sd,ed,d_event,d_city,d_land,d_desc,d_org,d_link,
MONTH(sd) AS start,DAY(sd) AS stag, YEAR(sd) AS sjahr, 
MONTH(ed) AS ende, DAY(ed) AS etag,YEAR(ed) AS ejahr 
FROM event WHERE public='1'  ORDER BY sd"
); 

ed ist größer als sd der datepicker verhindert eine kleiner eingabe des enddatums.
aber auch mit print_r ist sd kleiner ed
aber $start ist nur der monat als 2 oder vier während ed das ganze datum aslo 2010-04-12
PHP-Code:
while($event=mysql_fetch_array($result)){
        
$sd $event["sd"];
        while (
$sd <= $event["ed"]) {
            
$ev[$sdt++][]=$event;
        }
    } 
habe also in der while statt $start $sd probiert
Mit Zitat antworten
  #32 (permalink)  
Alt 12-04-2010, 18:26
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Es gibt einen Ändern-Button. Dein Beitrag und das sich ergebende Horizontal-Scrolling wird von einem Doppelpost auch nicht besser.

Ich hab den regelwidrigen Beitrag jetzt gelöscht.

Zum Thema: sd nützt dir in diesem Falle überhaupt nichts, wenn du nach Monat gruppieren willst. Was du brauchst, hatte ich schon vor einigen Posts erraten (nur, dass ich dort die Spalte start verwendet hatte, weil ich nicht wusste, dass die bei dir sd heißt).
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (12-04-2010 um 18:30 Uhr)
Mit Zitat antworten
  #33 (permalink)  
Alt 12-04-2010, 19:30
jemont
 Registrierter Benutzer
Links : Onlinestatus : jemont ist offline
Registriert seit: Apr 2010
Beiträge: 28
jemont befindet sich auf einem aufstrebenden Ast
Standard

ok,
ich habe es hiermit probiert:
PHP-Code:
while($event=mysql_fetch_array($result)){
        
$ev[$event["sd"]][]=$event;
           if (
$event["sd"] != $event["ed"]) {
            
$ev[$event["ed"]][]=$event;
        }
    } 
    
    
  foreach(
$ev AS  $key=> $value){
    echo
"<tr><td class='eventmonth' colspan='3'>
Veranstaltungen im $monate[$key]</td></tr>"
;

    foreach(
$value AS  $val){
    echo
"        
    <tr class='evltop-daad'><td>$val[stag].$val[start].$val[sjahr] -
 $val[etag].$val[ende].$val[ejahr]</td><td>$val[d_city]</td>
<td class='evland'>$val[d_land]</td></tr>
    <tr><td class='evname' colspan='3'>$val[d_event]</td></tr>
    <tr><td class='evintro-daad' colspan='3' valign='top'>$val[d_desc]</td></tr>
    <tr><td class='evland' colspan='3' valign='top' height='40px'>
<a class='evweiter' href='daad-
veranstaltung.php?e=$val[id]'>weiterlesen</a></td></tr>
    "
;                
    
}
}

jetzt ist aber $key ein datum. zB 2010-01-23
habe also folgendes probiert:
PHP-Code:
$datum=explode('-',$key);
    
$monat=$datum["1"]; 
das funktioniert aber nicht. die monate werden nicht mehr in den titeln ausgegeb und dadurch habe ich über jede veranstaltung einen title
Mit Zitat antworten
  #34 (permalink)  
Alt 12-04-2010, 19:53
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Jetzt muss ich dir zum dritten Mal sagen, dass dir das als Datum nichts nützt und du in der Abfrage die EXTRACT-Funktion benutzen sollst.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #35 (permalink)  
Alt 13-04-2010, 00:57
jemont
 Registrierter Benutzer
Links : Onlinestatus : jemont ist offline
Registriert seit: Apr 2010
Beiträge: 28
jemont befindet sich auf einem aufstrebenden Ast
Standard

Hallo,
mit extract bekomme ich das gleiche ergebins wie ohne extract.
PHP-Code:
$result mysql_query("SELECT EXTRACT(YEAR_MONTH FROM `sd`),
id,sd,ed,d_event,d_city,d_land,d_desc,d_org,d_link,MONTH(sd) AS start,
DAY(sd) AS stag, YEAR(sd) AS sjahr, MONTH(ed) AS ende, 
DAY(ed) AS etag,YEAR(ed) AS ejahr FROM event WHERE public='1'  
ORDER BY sd"

ich habe extract sd benutzt denn start ist ja nur der monat von sd
mit start bekomme ich einen not suplied argument error

PHP-Code:
while($event=mysql_fetch_array($result)){
        
$start $event["start"];
        while (
$start <= $event["ende"]) {
            
$ev[$start++][]=$event;
        }
    } 
Mit Zitat antworten
  #36 (permalink)  
Alt 13-04-2010, 01:20
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Natürlich tust du das, weil du es nicht als start alias't. Das AS Schlüsselwort kennst du ja, du benutzt es doch bei den anderen Datumsfunktionen auch.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #37 (permalink)  
Alt 13-04-2010, 02:18
jemont
 Registrierter Benutzer
Links : Onlinestatus : jemont ist offline
Registriert seit: Apr 2010
Beiträge: 28
jemont befindet sich auf einem aufstrebenden Ast
Standard

hallo,
ich bekomme den gleichen fehler.
ich weiss nicht wo ich das alias hinschreiben soll. ich habe es vor der klammer probiert, am anfang der klammer, nach year_month, am ende der klammer und hinter der klammer.
ich habe auch bei google nichts mit extract und alias zusammen gefunden.
kannst du mir die syntax geben?


ich habe auch MONTH(sd) AS start umbenannt in AS smonat, damit ich start nicht wieder überschreibe.
Mit Zitat antworten
  #38 (permalink)  
Alt 13-04-2010, 02:20
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Code:
SELECT EXTRACT(YEAR_MONTH FROM `sd`) as `start`, ...
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #39 (permalink)  
Alt 13-04-2010, 02:21
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

EXTRACT() ist eine Funktion genau wie MONTH(). Da du dir schon "MONTH(sd) AS start" erarbeitet hast, sollte nun klar sein, wo das AS bei EXTRACT() hingehört.
Mit Zitat antworten
  #40 (permalink)  
Alt 13-04-2010, 17:46
jemont
 Registrierter Benutzer
Links : Onlinestatus : jemont ist offline
Registriert seit: Apr 2010
Beiträge: 28
jemont befindet sich auf einem aufstrebenden Ast
Standard

ja, das habe ich auch so probiert, aber ich bekomme den gleichen fehler.
ich sehe nicht was passeirt:
PHP-Code:
$result mysql_query("SELECT EXTRACT (YEAR_MONTH FROM sd)
AS start,EXTRACT (YEAR_MONTH FROM ed)AS ende, 
id,d_event,d_city,d_land,d_desc,d_org,d_link,MONTH(sd) AS smonat, 
DAY(sd) AS stag, YEAR(sd) AS sjahr, MONTH(ed) AS emonat, 
DAY(ed) AS etag,YEAR(ed) AS ejahr FROM event WHERE public='1'  
ORDER BY sd"
);
        
while(
$event=mysql_fetch_array($result)){
        
$start $event["start"];
        while (
$start <= $event["ende"]) {
            
$ev[$start++][]=$event;
        }
    } 
Mit Zitat antworten
  #41 (permalink)  
Alt 13-04-2010, 18:10
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Prüf mal bitte, ob du irgendwo null-Werte als Datum drin hast. Wenn ja, wird es daran liegen.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #42 (permalink)  
Alt 13-04-2010, 18:16
jemont
 Registrierter Benutzer
Links : Onlinestatus : jemont ist offline
Registriert seit: Apr 2010
Beiträge: 28
jemont befindet sich auf einem aufstrebenden Ast
Standard

Nein. Alle Felder in der Tabelle haben Daten
Mit Zitat antworten
  #43 (permalink)  
Alt 13-04-2010, 18:21
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Dann ist es aber trotzdem mal an der Zeit, das gute alte print_r-Debugging anzuwenden. Bei unendlich laufenden Schleifen kombiniere ich das immer mit einer zusätzlichen Abbruchbedingung:

PHP-Code:
$debugLoopCount 20;
while (
$debugLoopCount-- && /* Original-Bedingung */) {
    
// mach was
    
print_r(/* irgendwas */);

__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #44 (permalink)  
Alt 13-04-2010, 18:58
jemont
 Registrierter Benutzer
Links : Onlinestatus : jemont ist offline
Registriert seit: Apr 2010
Beiträge: 28
jemont befindet sich auf einem aufstrebenden Ast
Standard

bin mir nicht sicher ob ich das richtig angewendet habe.

PHP-Code:
$debugLoopCount 20;
while (
$debugLoopCount-- &&
 
$result mysql_query("SELECT EXTRACT (YEAR_MONTH FROM sd)AS 
start, EXTRACT (YEAR_MONTH FROM ed)AS ende,d_event FROM 
event WHERE public='1'  ORDER BY sd"
))
  
         {    
while(
$event=mysql_fetch_array($result)){
        
$start $event["start"];
        while (
$start <= $event["ende"]) {
            
$ev[$start++][]=$event;
    
    
// mach was
    
print_r($start);
}      
  }

jetzt bekomme ich keine fehlermeldung mehr, aber ein kein print_r resultat
Mit Zitat antworten
  #45 (permalink)  
Alt 13-04-2010, 19:04
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Nein, das mit dem Schleifenabbruch muss in das innere while.

PHP-Code:
    while($event=mysql_fetch_array($result)){
        
$start $event["start"];
        
$debugLoopCount 20;
        
print_r($event);
        while (
$debugLoopCount-- && $start <= $event["ende"]) {
            
$ev[$start++][] = $event;
        }
    } 
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
for, php, schleifen, while


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Verschachtelte while-Schleifen, Alternative ? starr112 BRAINSTORMING PHP/SQL/HTML/JS/CSS 3 30-05-2007 18:38
verschachtelte schleifen parsen TimeRaider PHP Developer Forum 8 27-02-2006 10:44
Verschachtelte flenztec PHP Developer Forum 9 26-09-2005 15:53
Verschachtelte Schleifen mit unbekannter Tiefe plastikbaum PHP Developer Forum 8 16-08-2005 09:08
verschachtelte schleifen streicher PHP Developer Forum 9 06-05-2004 18:58

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 13:26 Uhr.