Hey,
Ok. Vielen Dank für den Tipp. Wenn ich solche Daten aus der DB hole werde ich dies beachten.
Ich habe die Daten nur als Simulation in einem array erstellt.
Hey,
Ok. Vielen Dank für den Tipp. Wenn ich solche Daten aus der DB hole werde ich dies beachten.
Ich habe die Daten nur als Simulation in einem array erstellt.
Hey,
wusste ich noch garnicht. Kein Wunder das es dann nicht so funktioniert wie ich es mir erhofft habe.
Danke für die Info.
Hey,
ich kenne mich mit js nicht so gut aus aber mit php.
Aber schau mal hier:
function Auto (autoerzeuger, autofarbe, maximalGeschwindig)
{
// Eigenschaften
this.farbe = autofarbe;
this.hersteller = autoerzeuger;
this.stillstand = 0;
this.speedNow = 0;
this.maxSpeed = maximalGeschwindig;
// Methode die in der naechtsten Funtkion erlaeutert wird
this.beschleunigen_um = beschleunigen_um;
this.bremsen_um = bremsen_um
}
Alles anzeigen
du gibst der function Auto 3 Parameter mit. Und die variablen die in einer function erstellt werden sind nur in dieser Function auch anwendbar. Wenn du die selben Werte auch in einer anderen Function brauchst musst du diese wieder als Parameter hinzufügen oder eine globale Variable erstellen, was ich definitiv nicht raten würde zu verwenden. Denn diese sind sehr böse und können unerklärliche Fehler auslösen.
Und woher bekommt nun this.beschleunigen_um und this.bremsen_um ihre Werte her?
Oder ist das in Javascript anders ? Ich denke nicht aber wenn es das ist, entschuldige ich mich für den Post.
Ich kenn misch schon gut aus mit PHP und Datenbank denke ich auch.
Ok. Guter Tipp.
Nur mir fehlen die Ideen. Ich könnte mir ja ne DB-Klasse erstellen mit allen Funktionen. Dann brauche ich nur noch dieses Script einzubinden und die Function zu verwenden. Gute Idee.
Wie würde denn deiner Ansicht nach so eine Datenbank Klasse aussehen. Soll sie nicht nur die einfachen sql-befehle könnnen sondern auch komplexere ?
Hey,
ich habe versucht den Terminkalender von php-kurs.com nachzubauen. Jetzt habe ich ein Problem.
Wenn ich array_multisort andwende werden die Termine nach den Datums nicht richtig geordnet. Verstehe es nicht.
Ausgabe der Tabelle siehe Bild.
mit var_dump auf $termin kommt dies raus :
array(6) { [0]=> string(10) "10.09.2017" [1]=> string(10) "16.10.2017" [2]=> string(10) "18.10.2017" [3]=> string(10) "22.12.2017" [4]=> string(10) "25.09.2022" [5]=> string(10) "25.10.2018" }
Warum ist das Datum 25.09.2022 nicht am Ende ? Verstehe ich nicht.
Mein Code:
/*
Die einzelnen Schritte:
Erstellen eines mehrdimensionalen Arrays mit Termin, Ort, Bandname
Kontrolle, ob bereits ein Sortierwunsch vorliegt; wenn nicht, sortieren nach Termin
Anzeige als Tabelle
Tabellenkopf mit Links zur Auswahl der Sortierung
bei der Ausgabe der Zeilen wird jede zweite Zeile als Lesehilfe eingefärbt
Datum in deutscher Schreibweise ausgeben
Bandname ausgeben
Ort ausgeben
*/
function TerminKalender(array $planungsDaten, $darstellung){
$terminkalender = $planungsDaten;
foreach ($terminkalender as $nummer => $inhalt) {
$band[$nummer] = $inhalt["bandname"];
$ort[$nummer] = $inhalt["ort"];
$termin[$nummer] = $inhalt["termin"];
}
array_multisort($termin, SORT_ASC, $terminkalender);
//var_dump($termin);
switch($darstellung){
case "tabelle" :
echo "<table border='1'>
<thead>
<tr>
<th> Band </th>
<th> Ort </th>
<th> Termin </th>
</tr>
</thead>
<tbody>";
foreach ($terminkalender as $inhalt) {
echo "<tr>
<td>" . $inhalt['bandname'] ." </td>";
echo "<td>" . $inhalt['ort'] ."</td> ";
echo "<td>" . $inhalt['termin'] ." </td> </tr>";
}
echo "</tbody>";
break;
case "array":
echo "<pre>";
echo print_r($terminkalender);
echo "</pre>";
break;
}
}
$terminkalender = array(
array(
"termin" => "16.10.2017",
"ort" => "Heidelberg",
"bandname" => "Rock you"
),
array(
"termin" => "18.10.2017",
"ort" => "Hannover",
"bandname" => "Stef Music"
),
array(
"termin" => "25.10.2018",
"ort" => "Mannheim",
"bandname" => "join join"
),
array(
"termin" => "25.09.2022",
"ort" => "Mannheim4545",
"bandname" => "join join 33334444"
),
array(
"termin" => "10.09.2017",
"ort" => "Mannheim2222",
"bandname" => "join join 2222"
),
array(
"termin" => "22.12.2017",
"ort" => "Heidelberg22",
"bandname" => "Rock you alll"
)
);
TerminKalender($terminkalender, "tabelle");
Alles anzeigen
Hey,
Ich schaue schon seit paar Tagen nach PHP-Übungen/Aufgaben die doch komplexer sind.
Habe bisher schon sehr viele Aufgaben gelöst. Nur ein Bruchteil war etwas herausfordernd.
Habt ihr denn Ideen was man als komplexere Übungen machen kann?
Kennt ihr Seiten die z.b eher doch Übungen für Fortgeschrittene hat?
Hey,
dies was du vor hast ist schwachsinnig. Mit $_POST, $_GET kannst du z.b. aus formularen auf eingaben zugreifen.
Beispiel:
$_POST
<form method="post">
<input type="text" name="test1">
<input type="submit" name="submitted">
</form>
Du kannst dann mittels $_POST['test1'], Zugriff auf die Eingabe haben und mit der machen was du willst. Aber eine globale Variable zu überschreiben mit einer Variable macht null Sinn.
So wäre das selbe:
Bitte nicht herunterladen! Das ist eine nicht aufmachbare datei!
Das ist die Lösung:
<?php
if(isset($_POST['spielbeschreibung'])){
$beschreibung = $_POST['spielbeschreibung'];
$file = "txt/ticker.txt";
$file_daten = file_get_contents($file);
if(empty($file_daten)){
file_put_contents($file, $beschreibung, FILE_APPEND|LOCK_EX);
} else{
file_put_contents($file, "-" . $beschreibung, FILE_APPEND|LOCK_EX);
}
}
Alles anzeigen
Erklärung: In $file_daten steckt der ganze Inhalt der txt datei drin. Wenn diese datei leer ist soll zur beschreibung kein - hinzugefügt werden. Aus diesem Grund überprüfe ich, ob file_daten leer ist und wenn ja setze ich kein - und wenn nicht setze ich ein - . Das wars.
Hey,
Du bekommst den Wert des buttons mit folgendem Code:
document.getElementById("10").value();
Aber was ich machen würde ist ein http request mit xmlhttprequest. Ist relativ einfach.
Und am besten fügst du den eventlistener im js mit : addEventListener("Event", functionname); hinzu. Anstatt den inline zu erstellen.
Vielen Dann für die Hilfe.
Das Problem ist gelöst. Poste morgen die Lösung.
Hey,
wie meinst du das? Ich habe die txt-datei schon erstellt und füge dort die Daten hinzu. Das geht ja alles. Ich möchte jeden string der eingegeben wird splitten. Darum mache ich ja das \r\n hin oder z.b. - . Aber beides hat bisher nicht so funktioniert wie ich es mir vorstelle.
Habe es mal mit dem fopen, fread, fclose, fputs versucht. Ist das selbe Problem.
Wie ich es eigentlich vorhatte war, dass ich die einzelnen Eingaben in ein Array speicher. Dann bekommt jede eingabe einen eigenen key. Dann wollte ich überprüfen ob key 0 schon exsistiert oder nicht und wenn dieser schon exsistieren würde, habe ich "-" vor der value des keys getan. Aber das hat auch nicht funktioniert. Da wurden entweder die - , 2-fach oder 1 fach auf jeder seite ausgegeben. Ich muss es erreichen, dass das Zeichen - nur ab dem key 1 an den zuvor vergebenden key hinzufügt sodass es so aussieht in der txt datei:
test-test-test
Dann sind auch keine weiteren freien felder mehr. Nur die 3.
Das \r\n habe ich benutzt, damit die eingaben immer 1ne Zeile bekommen. Und da es eh drin ist, dachte ich mir ich splitte es mit dem.
Das Problem ist bei dem array, dass kein neuer schlüssel angelegt wird sondern der eine überschrieben wird. Habe schon mit der for schleife es versucht, bei jedem eingang der daten den key zu erhöhen. Auch kein erfolg.
ich muss es hinbekommen, dass der key hochgezählt wird und jeder neue eintrag einem neuen key zugewiesen wird. Dann würde es auch kein Problem darstellen. Aber das geht nicht.
Hey,
ich speichere die Formulardaten in eine Txt-datei. Dann gebe ich jedem Post ein Zeilenumbruch. Nun öffne ich diese Datei auf einer anderen Seite und tuh dann die Abschnitte mit dem delimeter "\r\n" auseinander splitten, in einzelne Teile. Nur werden von Anfang an, obwohl nichts in der Txt-Datei ist schon 2 felder ausgegeben. Verstehe es nicht.
Habe es schon mit nem Array versucht, den 1 sten Wert überprüft ob es den gibt, und wenn nicht soll es so gemacht werden, sonst so. Aber da bekam ich die gleichen Probleme.
Meine PHP Datei:
<?php
if(isset($_POST['beschreibungSenden'])){
$spielbeschreibung = $_POST['spielbeschreibung'];
$spielbeschreibung = filter_var($spielbeschreibung, FILTER_SANITIZE_STRING);
$spielbeschreibung .= "\r\n";
file_get_contents("./liveticker.txt");
file_put_contents("./liveticker.txt", $spielbeschreibung, FILE_APPEND|LOCK_EX);
}
?>
Alles anzeigen
<?php
$beschreibung = file_get_contents("liveticker.txt");
$beschreibung = explode("\r\n", $beschreibung);
foreach ($beschreibung as $key => $value) {
echo "<article>";
echo "<p><span>78.</span>" . $value ."</p>";
echo "</article>";
}
?>
Alles anzeigen
So ist der Inhalt der Txt datei:
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
So sieht es dann aus:
Hey,
vielen Dank für eure Hilfe. Beide Vorschläge funktionieren so wie ich es mir vorgestellt habe. Sehr gut
Auch finde ich es intressant wie du, MrMurphy, es gemacht hast. Muss ich mir mal genauer anschauen.
Stef
Hey,
ich bin grad dabei ein Liveticker zu erstellen. Die 2 Teams habe ich rechts und links und in der Mitte der Spielstand. So im ganzen funktioniert die Darstellung, bis auf eines die Zentrierung. Ich kann es nicht nachvollziehen warum genau das nicht funktioniert.
Ebenso frag ich mich, wie man die Bilder unter dem Teamnamen darstellt. Habt ihr Vorschläge?
Mein Code:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Liveticker, Spiel: Team1 - Team2</title>
<link rel="stylesheet" href="css/liveticker.css">
</head>
<body>
<main>
<section class="liveticker">
<!-- Teams -->
<div id="teamdarstellung">
<div id="team1">
<h4>Sandhausen</h4>
<img src="logo/svs.jpg" alt="svslogo">
</div>
<div id="spielstand">
<p>
<span id="team1">0</span> : <span id="team2">0</span>
</p>
</div>
<div id="team2">
<h4>Dresden</h4>
<img src="logo/dresden.jpg" alt="dresdenlogo">
</div>
</div>
<!-- Live Ticker -->
<div id="ticker">
<div>
<p>testtesttesefw43rwevg5revfqtegfv</p>
</div>
</div>
</section>
<section class="informationen">
<!-- Informationen (anstoßzeitpunkt, zuschauer, schiri, stadion) -->
<div>
</div>
<!-- Aufstellung -->
<div>
</div>
<!-- Spieldaten -->
<div>
</div>
</section>
</main>
</body>
</html>
Alles anzeigen
*{
margin: 0px;
padding: 0px;
}
main{
margin-top: 2%;
margin-left: 2%;
}
section.liveticker{
width: 50%;
}
section.liveticker div#teamdarstellung{
display: flex;
justify-content: center;
align-items: center;
border: 1px solid red;
}
#teamdarstellung div#team1{
width: 40%;
}
#teamdarstellung div#spielstand{
width: 20%;
}
#teamdarstellung div#team2{
width: 40%;
}
#teamdarstellung h4{
margin-right: 10px;
}
#teamdarstellung img{
width: 13%;
height: 50px;
}
.liveticker div#ticker{
border: 1px solid green;
height: 100px;
padding: 2%;
}
#ticker div{
border: 1px solid black;
height: 100px;
}
Alles anzeigen
Hey,
an dem echo kann es nicht liegen. Echo ist eine normale PHP-Funktion. Diese kann man aber auch ohne () aufrufen.
Ebenso habe ich mal das Schnipsel getestet. Es funktioniert.
Hast du auf deiner Testumgebung/Webserver PHP installiert ? Gab es villt. irgendwelche Fehler bei der Installation ?
Und wenn man den PHP code einfach so im html code ausgibt, wird der php code so angezeigt.
Überprüfe mal mit phpinfo(); ob php aktiv ist.
Du brauchst nicht für das selbe Problem 2 Threads zu erstellen. Das andere Thread ist ja das selbe thema wie dieses hier.
Hey,
wie ich auf dem Bild sehe hast du die css datei ausgewählt. Du musst aber die index.html auswählen damit es geht.
Ups. Vergessen zu ändern.
Das funktioniert immer noch nicht so wie ich es haben möchte.
So sieht es aus:
Ich habe ein Textfeld wo man Nachrichten eingeben kann. In einem div wird dann dieses ganze ausgegeben. Das div ist mit overflow versehen. Nun möchte ich, bei klick auf den sendmessage button, dass automatisch nach ganz unten, zur neusten Nachricht, gescrollt wird.
Mit dem aktuellen code wo ich hier gepostet habe scrollt das div nur bis zu vorletzten nachricht oder bleibt wenn man schon bei der letzten Nachricht vorm Absenden ist dort auch nach dem Absenden stehen (also dann bei der vorletzten Nachricht). Aber mit window.setInterval() funtkioniert es. Aber dies benutze ich nicht, weil ja nach der vorgegebenen Zeit es alles aktualisiert wird. D.h. wenn man mal hochscrollt, dass dann nach 3 sekunden man wieder nach ganz unten gescrollt wird. Ist ziemlich nervend.
HTML-Seminar.de - mit Videos zum schnellen Lernen, wie man eine Website selbst erstellt.