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 Thema bewerten
  #1 (permalink)  
Alt 05-06-2007, 23:36
Picard_Jean-Luc
 Registrierter Benutzer
Links : Onlinestatus : Picard_Jean-Luc ist offline
Registriert seit: Jun 2007
Beiträge: 75
Picard_Jean-Luc ist zur Zeit noch ein unbeschriebenes Blatt
Picard_Jean-Luc eine Nachricht über ICQ schicken
Unhappy Denkanstoß bei Daten auslesen!

Hallo @all,

bin neu hier und benötige mal einen Denkanstoß. Ich habe hier folgendes Script was ich geschrieben habe was aus einer DB Termine ausliest. Diese sind dort mit einen Timestamp gespeichert.

Das funktioniert alles super genauso wie ich es will nur mit der Formatierung habe ich probleme.

Also erstmal das Script:

PHP-Code:
$z=1;
         
$user $_GET["user"];

    for(
$begin_start$begin_start<=$begin_ende$begin_start++)
         {
          for(
$count_zeit 0$count_zeit<=3$count_zeit++)
          {
          
$check_time =
strtotime($_GET["jahr"]."-".$_GET["monat"]."-".$_GET["tag"]." ".$begin_start.$zeit_array[$count_zeit]);

           
$anfrage "SELECT * FROM tp_termine WHERE user_id = '$user' 
AND start_termin <= '$check_time' 
AND ende_termin >= '$check_time'"
;
           
$anfrage_ergebnis mysql_query($anfrage);
            if(
mysql_num_rows($anfrage_ergebnis) == 0)
            {
            echo 
"<tr>";
            echo 
"<td>".$begin_start.$zeit_array[$count_zeit]."</td>";
            echo 
"<td>kein termin</td>";
            echo 
"<td>leer</td>";
            echo 
"</tr>";
            }
            else
            {
             while(
$anfrage_daten mysql_fetch_object($anfrage_ergebnis))
             {
              echo 
"<tr>";
              echo 
"<td>".$begin_start.$zeit_array[$count_zeit]."</td>";
              echo 
"<td rowspan=\"".$z."\">".$anfrage_daten->betreff."</td>";
              echo 
"<td rowspan=\"".$z."\">Option</td>";
              echo 
"</tr>";
             }

            }
// Ende Termin Check
           
if($begin_start == $begin_ende){break;};
          }
// Ende for count
         
}// Ende FOR begin und end 
In der Adresszeile steht hinter der Datei noch ein GET: user=8&tag=05&monat=06&jahr=2007

Das funktioniert ja auch alles super!

Jetzt bekomme ich folgende Ausgabe:


Zitat:
5:00 kein termin leer
5:15 kein termin leer
5:30 kein termin leer
5:45 kein termin leer
6:00 test2 Option
6:15 test2 Option
6:30 test2 Option
6:45 kein termin leer
7:00 kein termin leer
7:15 kein termin leer
7:30 kein termin leer
7:45 kein termin leer
8:00 test Option
8:15 test Option
8:30 test Option
8:45 kein termin leer
9:00 kein termin leer
9:15 kein termin leer
9:30 kein termin leer
Das stimmt auch alles genau dort ist der Termin auch nur es soll nicht 3 mal da stehen sondern die Spalte mittels "rowspan" zusammen gemacht werden wo ein Termin ist.

Jetzt habe ich schon ein paar Varianten probiert aber komme nicht drauf. Irgendwie muss ich für jeden erstmal die Anzahl zählen damit ich später die Zahl in rowspan eingeben kann.

Also im endeffekt spielt sich das ganze NUR hier ab:

PHP-Code:
if(mysql_num_rows($anfrage_ergebnis) == 0)
            {
            echo 
"<tr>";
            echo 
"<td>".$begin_start.$zeit_array[$count_zeit]."</td>";
            echo 
"<td>kein termin</td>";
            echo 
"<td>leer</td>";
            echo 
"</tr>";
            }
            else
            {
             while(
$anfrage_daten mysql_fetch_object($anfrage_ergebnis))
             {
              echo 
"<tr>";
              echo 
"<td>".$begin_start.$zeit_array[$count_zeit]."</td>";
              echo 
"<td rowspan=\"".$z."\">".$anfrage_daten->betreff."</td>";
              echo 
"<td rowspan=\"".$z."\">Option</td>";
              echo 
"</tr>";
             } 

Hat jemand noch eine Idee?

Danke schön!


MFG

Picard

Geändert von Picard_Jean-Luc (06-06-2007 um 16:18 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 05-06-2007, 23:53
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

lies doch die regeln und brich deinen code um.

du schickst sozusagen mehrere dutzend anfragen an die datenbank, um einen tag anzuzeigen? das ist nicht gut.. selektiere doch direkt alle einträge eines tages und gehe sie durch (z.b. in 15 min schritten). dabei speicherst du den aktuellen termin in einer variable zwischen. ist in den nächsten 15 min. nichts neues passiert, gibst du nichts aus. wurde dagegen ein neuer termin erreicht, legst du eine neue zeile an und schreibst da rein.
Mit Zitat antworten
  #3 (permalink)  
Alt 05-06-2007, 23:57
Picard_Jean-Luc
 Registrierter Benutzer
Links : Onlinestatus : Picard_Jean-Luc ist offline
Registriert seit: Jun 2007
Beiträge: 75
Picard_Jean-Luc ist zur Zeit noch ein unbeschriebenes Blatt
Picard_Jean-Luc eine Nachricht über ICQ schicken
Standard

Hi,

danke für deine Antwort.
Aber so richtig weiß ich nicht waß du meinst.
Ich mein es funktioniert doch mit den Termin auslesen nur das in der Tabelle wenn ein Termin von 9:00 Uhr bis 10:00 geht das der Betreff von dem Termin 4mal da steht.

Ich muss irgendwie das rowspan unterbringen aber mit der Zahl wie lange der Termin geht.

Wenn du noch eine Idee hättest könntest du es mir in form von Quelltext zeigen? Versteh ich besser :-)


Danke
Mit Zitat antworten
  #4 (permalink)  
Alt 06-06-2007, 01:31
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von penizillin
lies doch die regeln und brich deinen code um.
Mit Zitat antworten
  #5 (permalink)  
Alt 06-06-2007, 01:36
Picard_Jean-Luc
 Registrierter Benutzer
Links : Onlinestatus : Picard_Jean-Luc ist offline
Registriert seit: Jun 2007
Beiträge: 75
Picard_Jean-Luc ist zur Zeit noch ein unbeschriebenes Blatt
Picard_Jean-Luc eine Nachricht über ICQ schicken
Standard

Hm...ich probier die ganze Zeit.
Ich werde als erstes die DB abfragen und dann die FOR Schleifen beginnen aber irgendwie komme ich nicht weiter...
Mit Zitat antworten
  #6 (permalink)  
Alt 06-06-2007, 03:35
Picard_Jean-Luc
 Registrierter Benutzer
Links : Onlinestatus : Picard_Jean-Luc ist offline
Registriert seit: Jun 2007
Beiträge: 75
Picard_Jean-Luc ist zur Zeit noch ein unbeschriebenes Blatt
Picard_Jean-Luc eine Nachricht über ICQ schicken
Standard

So, ich habe eine kleine Lösung erarbeitet. Diese ist aber nicht schön aber funktioniert.
Habe aus den beiden Timestamps eine Formel entwickelt die mir genau den rowspan wert ausgibt. Aber da kommen schon wieder andere probleme auf. Wenn ein ein Termin über ein Tag hinaus geht wird er beim nächsten Tag nicht angezeigt. Da ist die Zeile einfach leer.

PHP-Code:
while($anfrage_daten mysql_fetch_object($anfrage_ergebnis))
             {
$rowspan = ($anfrage_daten->ende_termin-$anfrage_daten->start_termin)/60/15+1;

    if(
$anfrage_daten->start_termin == $check_time)
    {    
              echo 
"<tr>";
              echo 
"<td>".$begin_start.$zeit_array[$count_zeit]."</td>";
              echo 
"<td rowspan=\"".$rowspan."\">".$anfrage_daten->betreff."</td>";
              echo 
"<td rowspan=\"".$rowspan."\">".$rowspan."</td>";
              echo 
"</tr>";
    }
    else
    {
        echo 
"<tr>";
        echo 
"<td>".$begin_start.$zeit_array[$count_zeit]."</td>";
    echo 
"</tr>";
    }
             } 
Wie gesagt solange das am selben Tag ist funktioniert es aber wenn es über ein Tag hinaus geht erkennt er zwar das am nächsten MOrgen der Termin weiter geht schreibt ihn aber nicht hin.

Das ist also auch keine schöne art.

Könntest du mir nicht einmal zeigen wie du es meinst?


Danke....
Mit Zitat antworten
  #7 (permalink)  
Alt 06-06-2007, 16:00
Picard_Jean-Luc
 Registrierter Benutzer
Links : Onlinestatus : Picard_Jean-Luc ist offline
Registriert seit: Jun 2007
Beiträge: 75
Picard_Jean-Luc ist zur Zeit noch ein unbeschriebenes Blatt
Picard_Jean-Luc eine Nachricht über ICQ schicken
Unhappy

Schade das mit keiner weiterhelfen kann.
Habe versucht den Code umzubrechen oder so aber klappt nicht.
Komme nicht drauf was da penizillin meint.

Mit der Formel klappt zwar aber nur für den einen Tag sobald es auf einen anderen Tag über geht geht es nicht mehr....


MFG

Picard
Mit Zitat antworten
  #8 (permalink)  
Alt 06-06-2007, 16:13
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von Picard_Jean-Luc
Komme nicht drauf was da penizillin meint.
Wenn er sagt, Regeln lesen, meint er die Regeln - und wenn darin von bei "breitem" Quelltext entsprechende Umbrüche in den Text einfügen die Rede ist, dann heisst das, Achtung, große Überraschung, dass du bei langen Zeilen zwischendurch mal ab und zu per [enter] einen Zeilenumbruch einfügen sollst ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #9 (permalink)  
Alt 06-06-2007, 16:19
Picard_Jean-Luc
 Registrierter Benutzer
Links : Onlinestatus : Picard_Jean-Luc ist offline
Registriert seit: Jun 2007
Beiträge: 75
Picard_Jean-Luc ist zur Zeit noch ein unbeschriebenes Blatt
Picard_Jean-Luc eine Nachricht über ICQ schicken
Unhappy

So gemacht...sorry...aber deswegen bin ich trotzdem nicht mit meinen Problem weiter....
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 02:04 Uhr.