PDA

Vollständige Version anzeigen : 2 PHP Variablen zusammenfassen


SixKiller
30.04.2001, 13:43
Ich habe eine komplexe Frage, glaube ich. Also ich habe einen Script mit dem man ein Haus buchen kann. Die Variablen $von und $bis geben ja einen Zeitraum an. Kann man diesen Zeitraum in einer Variablen $zeitraum speichern? Und wenn ja könnte man die Zeiträume die schon gepseichert sind mit der neuen Eingabe vergleichen, sodass eine Fehlermeldung beim buchen erscheint wenn sich zwei Zeiträume überschneiden?

Ich benutze keine MySQL DB sondern speicher alles in einer txt Datei für den Vergleich müsste man dann eine weitere txt erstellen weiter bin ich aber nicht könnt ihr mir da helfen?

Nimo
30.04.2001, 22:52
Also da hier niemand posten will. mach ich mal den anfang. meine idee wäre:

Die Daten sollten im Linux / PHP - Format gespeichert werden. (z.b. 983524234)

// Der Start des Termins
$von = .......;
// Das Ende des Termins
$bis = ........;

Jetzt kommt das etwas kompliiziertere.
Da du das mit Textdateien machen willst weiss ich ja nicht wie die genau aufgebaut sind. Kannst ja nen besipiel mal posten, ansonst würde mein gerüst so aussehen:
die schleife überprüft in jeder runde einen termin.
so wird immer der start und end zeitpunkt der bestehenden termine in die varibalen $start und $ende (natülich auch im o. genannten format)
ich hab so einfach gemacht wies ging und einfach überprüft ob:
etweder der termin komplett vor oder komplett noch dem bestehendem termin ist.

$terminfrei = 1;
while( so lange termine da sind )
{
if (($von < $start) && ($bis < $start)) { }
else { $terminfrei = 0; }
}
if (($von > $ende) && ($bis > $ende)) { }
else { $terminfrei = 0; }
}

Naja wenn in $terminfrei jetzt 0 drin steht ist der termin bellegt. bei 1 ist der frei.
Vielleicht kann man das npch kürzer machen.
Aber so als erste Idee.

Viel Spass =)

Nimo

mnomic
30.04.2001, 23:00
Die anderen ham keine Idee oder können Php nur stümperhaft (wie ich)...so jetzt isses raus *heult* =)

Nimo
01.05.2001, 08:26
hehe. so gut kann ich das auch nicht. mach das seit - emm - 2 oder 3 wochen erst.

mnomic
01.05.2001, 10:11
Ehrlich ?? Womit haste denn das gelernt ?? Oder selber beigebracht ???

Nimo
01.05.2001, 10:29
naja. jo. selbst beigebracht.
irgendwie kann ich so was einfach.
lies nen paar tuts und dann guck dir einfach nen paar script an und schau was die tun.
so hab ich das gelert.
wir können ja hier nen kleinen lehrgang machen :)
mach mal nen threat PHP-Lehrgang oder so auf wenn de bock drauf hast.
dann erklär ich die da gern das grundprinzip :) *lehrer dann bin* *goil*

mnomic
01.05.2001, 11:39
Mach doch hier.....hier postet doch eh keiner mehr was =)

Nimo
01.05.2001, 11:43
mmm weiß nicht.
was kannst de denn ?? html ?? js ??

mnomic
01.05.2001, 11:52
Yo....html mittelmässig und js kaum....aber ich hab grad ein paar tuts gefunden und die werd ich mir mal durchlesen und dich fragen wenn ich wat net raff...

Nimo
01.05.2001, 21:10
also, liebe schüler gibt fein acht - jetzt iwrd euch etwas bei gebracht

also php wird direkt in html dateien eingebaut.
damit der server weis das er den code darin umwandeln muss haben diese oft die endung .php oder .php3 sein.
muss aber nicht. bestes beispiel krawall: die benutzen die endung .khtml - endung make eigenbau !!!

und der eigendliche code wird bereits auf dem server umgewandelt. das heist der user bekommt nur noch html code zu gesicht.
der php code ist also auch im gegensatz zu javascirpt sicher vor script-dieben.

der code wird folgende maßen eingebaut.

<?
phpcode
?>

oder

<?php
phpcode
?>

es gibt noch andere aber das sind die beiden gebrauchlisten und einfachsten !!!

so das wars erstmal.
alles verstanden bis hier hin ??

Nimo

mnomic
02.05.2001, 12:56
Soweit hab ichs auch schon verstanden :D:D

Nimo
02.05.2001, 18:55
also für phpcode musst dann eben php ocde einsetzten =)

der einfachste befaehl ist dabei der echt

echo "hallo";

gibt das wort hallo aus. man beachte das an jeder zeile hinten ein -> ; <- stehen muss !!

also

<body>
<?
echo "hallo";
?>
</body>

würde dann also ein:

<body>
hallo
</body>

ausgebeben (an den browser)
beim user würde das dann antürlich durch den browser richtig angezeigt werden....... (ganz normal wie bei html)


Nimo

mnomic
02.05.2001, 22:40
Kann ich au schon =)=)=) *ggggg*

Nimo
03.05.2001, 15:07
ok. dann muss man eban noch was dazu erklären.


PHP:
<?
echo "Text1";
echo "Text2";
?>

HTML:
Text1Text2

BROWSER:
Text1Text2



PHP:
<?
echo "Text1\n";
echo "Text2";
?>

HTML:
Text1
Text2

BROWSER:
Text1 Text2



PHP:
<?
echo "Text1<br>";
echo "Text2";
?>

HTML:
Text1<br>Text2

BROWSER:
Text1
Text2


ich hoffe man versteht was ich sagen will.
ein \n macht einen zeilenumbruch in dem html code.
das ist aber nicht das selbe wie ein <br> was den browser veranlässt einen zeilenumbruch zu machen.
die meisten machen daher an jeder php zeile am ende ein \n

mnomic
03.05.2001, 20:37
Gut machsch des =) Nächste Lektion bitte....

Nimo
04.05.2001, 15:07
Um sinnvolle Anwendungen erstellen zu können, benötigen wir Variablen.

Merke: Alle Variablennamen beginnen mit $.



$text = "Ich bin ein String !";
echo $text;
echo $text,$text,$text;
$l = "langer";
$k = "kurzer";
echo "Ich bin ein $l$l$l$l$l$l Text!";
echo "Ich bin ein $k Text!";

$i = 10;
$j = 5;
echo $i,"+"$j,"=",$i+$j;


Der Typ der Variablen (ganze Zahl, Gleitpunktzahl, String) wird je nach Verwendung von PHP automatisch bestimmt. Der Benutzer braucht sich darum nur in Spezialfällen kümmern.

mnomic
04.05.2001, 15:12
Is ja die Härte =)....Weitaaaa....Ich strebe nach mehr Wissen...ausnahmsweise ma....=)

Nimo
04.05.2001, 15:24
da ich sooo schneelll nicht so viel schreiben kann poste ich dir einfach mal nen meinermeinung nach sehr guten text zum lernen:
---------------------

Einfache Rechenoperationen

Folgende Rechenoperationen stehen in PHP zur Verfügung:

"+": Addition, $i+$j,
"-": Subtraktion, $i-$j
"*": Multiplikation, $i*$j
"/": Division, $i/$j
"%": Reste-Bildung, $i%$j: z.B. 23%17 ergibt 6, da 23 geteilt durch 17 gleich 1 Rest 6 ist.

".": Verknüpft Strings:
$l = "langer";
$k = "kurzer";
echo $l.$k;

ergibt langerkurzer
Dazu kommen noch ein paar Abkürzungen, um dem Programmierer das Leben zu erleichtern:
$i++ erhöht $i um 1.
++$i erhöht $i ebenfalls um 1.
$i-- erniedrigt $i um 1.
--$i erniedrigt $i ebenfalls um 1.
Der Unterschied zwischen $i++ und ++$i ist:
$i=0;
echo $i++;

gibt 0 aus, anschließend wird $i auf den Wert 1 erhöht.
$i=0;
echo ++$i;

erhöht zuerst $i auf 1 und gibt den Wert 1 aus.

Nimo
04.05.2001, 15:30
auch aus ner anleitung kopiert:
---------------

Erste Schleifen

Gleich ein Beispiel:
$t = "Ich soll meine Uebungsaufgaben selbst erstellen!<BR>\n";
$i = 0;
while ($i<10) {
echo $t;
$i++;
}

Hier wird 10-mal der Text in der Variablen $t ausgegeben. Zu Beginn wird $i auf 0 gesetzt. $i wird in jedem Schleifendurchlauf um 1 erhöht, bis $i den Wert 10 erreicht. Dann ist die Bedingung ($i<10) nicht mehr wahr und die Schleife bricht ab.

mnomic
04.05.2001, 23:49
Hey...du machst das guuuuuuuut =)....Ich kann a bisserl Delphi und daher sind mir ein paar Sachen noch bekannt :D:D

Nimo
05.05.2001, 19:57
danke.

=)

hast bist jetzt alles verstanden ?? soll ich so weitermachen ??

Nimo

mnomic
05.05.2001, 21:03
Jaja...mach nur weita...ich weiss zwar noch nich so Recht was ich in der Praxis damit anstellen soll aber irgendwann brauch ich des sischa =)

Nimo
05.05.2001, 23:17
mach doch einfach mal nen paar versuche !!

Weitere Befehle zur Ablaufkontrolle

haben wir die erste Möglichkeit kennengelernt, eine Programm-Schleife zu erzeugen. Statt
$t = "Ich soll meine Uebungsaufgaben selbst erstellen!<BR>\n";
$i = 0;
while ($i<10) {
echo $t;
$i++;
}

kann man auch schreiben:
$t = "Ich soll meine Uebungsaufgaben selbst erstellen!<BR>\n";
$i = 0;
do {
echo $t;
$i++;
} while ($i<10);

Was ist der Unterschied?
Man bemerkt den Unterschied, wenn z.B. statt $i=0; zu Beginn $i=10; gesetzt wird. Im ersten Fall ist die Bedingung ($i<10) nicht wahr und die Befehle innerhalb der geschweiften Klammern werden nicht ausgeführt.
Im zweiten Fall werden zuerst die Befehle innerhalb der geschweiften Klammern ausgeführt, danach wird getestet, ob ($i<10). Dies ist nicht der Fall, also wird abgebrochen. D.h. aber, die Schleife wird mindestens einmal durchlaufen.

Eine weitere Möglichkeit, eine Schleife zu programmieren, ist der for-Befehl. Gleich ein Beispiel:

$t = "Ich soll meine Uebungsaufgaben selbst erstellen!<BR>\n";
for ($i=0;$i<10;$i++) {
echo $t;
}

Der for-Befehl besteht aus drei Ausdrücken.
for (ausdruck1;ausdruck2;ausdruck3) { ... }

Mit ausdruck1 wird die Schleife initialisiert, d.h. normalerweise wird die Variable, die die Schleifendurchläufe zählt, auf den Anfangswert gesetzt.
ausdruck2 gibt die Abbruchbedingung an.
In ausdruck3 wird die Variable, die die Schleifendurchläufe zählt, erhöht bzw. erniedrigt.
Der for-Befehl hat den Vorteil, daß alle zur Kontrolle der Schleife nötigen Befehle in einer Zeile stehen. Ein weiteres Beispiel, diesmal wird heruntergezählt.
$t = "Ich soll meine Uebungsaufgaben selbst erstellen!<BR>\n";
for ($i=10;$i>0;$i--) {
echo $t;
}

mnomic
06.05.2001, 12:46
Puh.....nu wirds kompliziert....ouh....aber ich komm noch mit =)

Nimo
06.05.2001, 17:43
Los zeig was.

sonst gibt nix mehr. !!!

Nimo

mnomic
06.05.2001, 19:43
ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhh..............mein kleines Herz...............ahhhhhhhhhhhhhhhhhh............ ....ok...aber du musst mir schon ne aufgabe geben =)=)=)

Nimo
06.05.2001, 20:12
ein formular wo man seinen namen eingeben kann und auf der nächsten seite dann damit begrüst wird =)

(kleine anmerkung: das ist sooooo einfach =) *lacht über aufgabe*)

mnomic
07.05.2001, 12:37
Darf ick das auch mit js machen =)=)=)=)=) ? Nee...Scherz...da mach ich mich doch gleich ma an die Arbeit :D:D

mnomic
08.05.2001, 15:22
<form method="post" action="shit.php">
<input type="text" name="name">
</form>



so und das hier is shit.php

<?
echo "Dein Name is" . $name .;
?>

kewl gelle =)=)=)=)=)=)=)

Nimo
08.05.2001, 16:14
war doch gar nicht sooo schwer. die paar zeilen. ist zwar nicht ganz perfekt =) aber ok.

aber da ich weiss das du das von jemadnem hast *echt peinlich* *so einfach ist* gibts UNGENÜGENT !!!

Nimo =)

mnomic
08.05.2001, 17:35
Öhm...wie kommste auf die Idee das ich des von jem. anderem hab ??

Nimo
08.05.2001, 22:06
wel du dich per icq perplappert hast.

ich hab doch recht !!

Nimo

mnomic
08.05.2001, 22:33
Nö hassu nich.......Wenn ich dat nich selber machen würde dann wprde es mir ja auch nix bringen........also dann schick mir ma die History..............

Nimo
09.05.2001, 16:59
mnomic 08.05.01 15:21 Hey......hab meine Hausaufgaben gmacht =)

Nimo 08.05.01 15:22 Hi, cool. wann ?? =)

mnomic 08.05.01 15:23 grad eben...........moooooment...........habs
noch nich gepostet aber hier is der scheiss *ggg*

<form method="post" action="ausgabe.php">
<input type="text" name="name">
</form>



so und das hier is ausgabe.php
<?
echo "Dein Name is" . $name .;
?>


mnomic 08.05.01 15:23 falls irgendwo tags fehlen............ich wars
nich =)

mnomic
09.05.2001, 18:31
Dat warn Witz.............aber wenn du meinst das ich beschissen hab Post halt die nächste Aufgabe und ich werd sie dir diesmal noch am selben Tag lösen =)

Nimo
10.05.2001, 16:45
jojo,

sorry.

ist ja auch egal. was machen wir nun ??

Nimo

mnomic
10.05.2001, 17:06
Also.....wenn ich ne Website in PHP coden will dann geht das doch folgendermaßen :

<?php if (${QUERY_STRING}=="links"): ?>
So und hier kommen die links rein...
<?php endif; ?>


und wenn ich auf die section links linken will dann geht der link doch so:


index.php?links

oda ??


So...und wenn ich das ganze jetzt in eine PHP datei reinschreib wird diese doch ein bisschen arg groß....oder wie hast du das gemacht ?

Nimo
11.05.2001, 14:29
also ich hab das mit dem befehl include gemacht.
mit diesem kannst du dateien einfach einbeinden.

so sagtst du einfach:

include("datei.htm");

und dann wird die datei dort eingebunden.

bei mir werden z.b alle links an die datei main.php mit dem anhang übergeben.

main.php?site=start

und dann include ich in der main.php einfach die anderen dateien:

<?
include("$site.htm");
?>

fertig.
dadurch hast du wie bei ganz normelen dateien eine (!!) design datei wo menü ect. drin ist
und in den "normelen dateien" steht nur der reine inhalt aus der mitte drin !!

Nimo

mnomic
11.05.2001, 14:37
Hey..........das is kewl.........THX

Nimo
11.05.2001, 16:32
no problem. - dasfür ist nen forum doch da - wissen muss geteilt werden !!

helf doch gern und versuchs auch gt zu erklären (was mir wohl nicht immer (oder besser oft) =) gelingt.

gib mein bestes.


Nimo