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 06-06-2007, 00: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 17:18 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 06-06-2007, 00: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 06-06-2007, 00: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, 02: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, 02: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, 04: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, 17: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, 17: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, 17: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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

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


 

Aktuelle PHP Scripte

WeltExplorer v1.0

WeltExplorer v1.0 ist ein Dateimanager zum Browsen und Operieren im Dateisystem. Bei installiertem cURL können Ordner und Dateien zu entfernten FTP-Servern hochgeladen bzw. von diesen heruntergeladen werden, etwa zum Erstellen von Backups oder Mirrorsites

06.02.2019 weltvolk | Kategorie: PHP/ File
PG Job Site Pro

> Job Site Pro - web-basiertes Programm, auf PHP/MySQL für Erstellung der funktionellen Job Board Site gebaut. Das hat erweitertes Management-System für Arbeitssuchenden und Arbeitgeber und kann für bestimmte Länder, Regionen oder einfach generelle Job Si

05.02.2019 submit@ | Kategorie: PHP/ Management
ModuleStudio ansehen ModuleStudio

Modellgetriebene Entwicklung von Erweiterungen für das Open Source Framework Zikula.

15.01.2019 Guite | Kategorie: PHP ENTWICKLUNGSUMGEBUNG
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:55 Uhr.