lehrjahre sind keine herrenjahre oder so ![]()
läuft bei uns in der firma nicht anders .. meistens .. gibt doch auch noch den mit der geballten in faust in der hosentasche lassen und so .. die kommen ja nicht von ungefähr
lehrjahre sind keine herrenjahre oder so ![]()
läuft bei uns in der firma nicht anders .. meistens .. gibt doch auch noch den mit der geballten in faust in der hosentasche lassen und so .. die kommen ja nicht von ungefähr
ich würde mir als arbeitgeber erstma überlegen ob ich mir sicher sein kann das du deinen traumberuf nun bei mir gefunden hast ... ich mein son azubi ist n teure sache und wenn du nach nem jahr abhaust hab ich nur draufgezahlt .. wenns irgendwie geht solltest du meiner meinung nach die ausbildung zuende machen .. finde vorallem wenn du später sagst "hab ich gemacht .. war nicht so toll .. aber ich kann jz das und das und team fähig bin ich auch und blub" kommts super rüber(also mit weninger blas und blubs :P)
bevor ich mich jz durch deine millioooooonen
zeilen code wühle => trial n error
funktioniert nur die download seite nicht?
wenn nein => if abfragen nachgucken, dateiname nachgucken usw usw
wenn ja => schreib mal in die download datei einfach nur "hallo" und guck ob das ausgegeben wird.. wenn ja dann weißte schonmal das der fehler in der download.php ist
http://www.if-schleife.de/
und das heißt auch in auto it nicht so ![]()
in der php.ini bei extension=mssql falls vorhanden das ; oder wars eine #? naja das zeichen halt rausnehmen damit das ganze kein kommentar mehr ist.
die php.ini findest du auf dem rechner auf dem du php installiert hast .. am besten suchste einfach mal nach php.ini .. da sollte es auf deinem rechner nicht sooo viele von geben ![]()
werbung für deine seite mit einer belanglosen frage vermischt? ... ![]()
das ganze sieht nicht nach einem system aus das es man fertig kaufen kann.. der code sieht einfach nur nach hobby programmierer aus.
Wie du das programmierst sollte doch eigentlich klar sein.. du hast irgendwo deine artikel gelistet und ließt diese zB mit php aus, formatierst sie und fertig. Klickt der benutzer auf kaufen erstellst du für den Kunden einen eintrag zB in einer tabelle oder in einer session die man warenkorb nennen könnte. Nach dem der kunde das ganze nun bestellt löscht du den warenkorb eintrag und machst eine rechnung oder sonst was damit und setzt die anzahl der artikel entsprechend runter.
um SO EINEN wirklich billigen shop hinzubekommen braucht es meiner meinung nach nicht mehr als ein wenig php und html
falls das ganze nicht wirklich billige werbung ist wünsch ich dir viel spaß mit diesem tutorial http://www.phpwebcommerce.com/
ich habs selber nur mit 2 paaren getestet
also alles ohne gewähr .. aber die beiden passten
hab iwas gesucht um ein wenig oop in php zu üben.. ich weiß auch nicht ob das mit der 2ten klasse für die knoten eine resourcen arme methode ist aber für meine zwecke wars so das beste ![]()
danke für das lob an die optik ![]()
Huhu stagetwo,
nach mind. 3 Schateln kippen hab ich hier meine erste funktionierende Version des A*-Algorithmus in php. Vielleicht kanns ja mal iwer gebrauchen.
Kritik, verbesserungs Vorschläge und änliches sind gern gesehen.
astar.class.php
<?php
//==========================================================================================================================
//======= A*-Algorithmus by Dez === for more informations take a look at http://de.wikipedia.org/wiki/A*-Algorithmus =======
//==========================================================================================================================
error_reporting(E_ALL);
//Klasse point einfügen
require_once('point.class.php');
class astar
{
private $start_point; //Startknoten
private $goal_point; //Zielknoten
private $current_point; //Knoten der momentan bearbeitet wird
private $current_point_index; //ID in des momentanen Knotens in der Openlist
private $closed_list = array(); //Liste der Knoten zu denen bis jetzt ALLE Wege bekannt sind
private $open_list = array(); //Liste der Knoten zu denen EIN Weg bekannt ist
private $zx; //X-Position des Zielknotens
private $zy; //Y-Position des Zielknotens
public function __construct($sx, $sy, $zx, $zy)
{
//Start Koordinaten sx,sy + Ziel Koordinaten zx,zy
$this->zx = $zx;
$this->zy = $zy;
//Start- und Zielknoten erstellen inkl. Heuristik (hier Luftlinie)
$this->goal_point = new point($zx, $zy, 1, null, $zx, $zy);
$this->start_point = new point($sx, $sy, 0, null, $zx, $zy);
//Rahmen der Karte(10*10 Feld) in die closedlist einfügen
for($i = 0; $i <= 11; $i++)
{
array_push($this->closed_list, new point($i, 0, 99, null, $zx, $zy));
array_push($this->closed_list, new point($i, 11, 99, null, $zx, $zy));
array_push($this->closed_list, new point(0, $i, 99, null, $zx, $zy));
array_push($this->closed_list, new point(11, $i, 99, null, $zx, $zy));
}
}
private function main()
{
//Startknoten in die openlist einfügen
array_push($this->open_list, $this->start_point);
do
{
//Speichert den Knoten mit dem geringsten f-Wert in der current_point
$this->get_the_point_with_the_smallest_f();
//Prüfen ob der momentane Knoten gleich dem Zielknoten ist
if($this->current_point->get_x() == $this->goal_point->get_x() && $this->current_point->get_x() == $this->goal_point->get_x())
{
//Dem Zielknoten den momentanen Knoten als Vorgänger zuweisen
$this->goal_point->set_antecessor($this->current_point);
//Methode beenden
return true;
}
else
{
//Nachbarn des momentanen Knotens ermitteln
//hier wird direkt geprüft ob die Nachfolgeknoten bereits in der openlist bzw. in der closedlist sind
//und werden dementsprechend verarbeitet
$this->get_neighbours($this->current_point->get_x(), $this->current_point->get_y(), $this->current_point);
//der momentane Knoten wird der closedlist hinzugefügt und von der openlist gestrichen
array_push($this->closed_list, $this->current_point);
unset($this->open_list[$this->current_point_index]);
}
}while(!empty($this->open_list)); //Solange wie es Knoten in der openlist gibt
//Die openlist ist leer und das Ziel wurde nicht erreicht
return false;
}
private function get_the_point_with_the_smallest_f()
{
$this->current_point_index = 0;
$count = 0;
//openlist neu sortieren da unset() "Löcher" in der openlist hinterlässt die die foreach-Schleife zwar ignoriert
//aber der Index "current_point_index" nicht mehr passt, da die "Löcher" immer noch im Array sind.
sort($this->open_list);
//Der momentane Knoten ist der erstbeste aus der openlist
$this->current_point = $this->open_list[0];
//Die openlist durchlaufen und schauen ob es einen Knoten gibt der einen kleineren f-Wert hat als der momentane
foreach($this->open_list as $point)
{
if($point->get_f() < $this->current_point->get_f())
{
//Ist der f-Wert kleiner ist der Knoten der neue momentane Knoten, "current_point_index" enthält die Stelle
//des Knotens in der openlist
$this->current_point = $point;
$this->current_point_index = $count;
}
$count++;
}
}
private function is_in_closed_list($list_of_potential_points)
{
$count = 0;
//Für jeden möglichen Nachbarn schauen ob dieser in der closed- oder openlist enthalten ist und entsprechend behandeln
foreach($list_of_potential_points as $potential_point)
{
foreach($this->closed_list as $closed_list_point)
{
//Ist der Nachbarknoten auf der closedlist wird er als möglicher Nachbar gestrichen
if($closed_list_point->get_x() == $potential_point->get_x() && $closed_list_point->get_y() == $potential_point->get_y())
{
unset($list_of_potential_points[$count]);
break;
}
}
foreach($this->open_list as $open_list_point)
{
if($open_list_point->get_x() == $potential_point->get_x() && $open_list_point->get_y() == $potential_point->get_y())
{
//Ist der Nachbarknoten bereits auf der openlist und...
if($open_list_point->get_f() < $potential_point->get_f())
{
//.. der f-Wert größer als der in der openlist, ist der weg zu diesem Knoten länger als der alte.
//Der Knoten wird als möglicher Nachbar gestrichen
unset($list_of_potential_points[$count]);
break;
}
else
{
//.. der f-Wert kleiner als der in der openlist, ist der weg zu diesem Knoten kürzer als der alte.
//Der Knoten in der openlist bekommt nun einen neuen Vorgängerknoten mit dem entsprechendem f-Wert
//und wird als möglicher Nachbar gestrichen
$open_list_point->set_f($potential_point->get_g() + $open_list_point->get_c() + $open_list_point->get_h());
$open_list_point->set_antecessor($potential_point->get_antecessor());
unset($list_of_potential_points[$count]);
break;
}
}
}
$count++;
}
//Alle übrigen Nachbarknoten werden in die openlist geschrieben
foreach($list_of_potential_points as $potential_point)
{
array_push($this->open_list, $potential_point);
}
}
private function get_neighbours($x, $y, $antecessor)
{
$list_of_potential_points = array(); //Liste aller Nachbarn, die aber noch auf ihre Existenz in der
//closedlist überprüft werden müssen
//Über dem aktuellen Knoten
array_push($list_of_potential_points, new point($x, $y - 1, 1, $antecessor, null, $this->zx, $this->zy));
//Links neben dem aktuellen Knoten
array_push($list_of_potential_points, new point($x - 1, $y, 1, $antecessor, null, $this->zx, $this->zy));
//Rechts neben dem aktuellen Knoten
array_push($list_of_potential_points, new point($x + 1, $y, 1, $antecessor, null, $this->zx, $this->zy));
//Unter dem aktuellen Knoten
array_push($list_of_potential_points, new point($x, $y + 1, 1, $antecessor, null, $this->zx, $this->zy));
//Die Nachbarn zur Üperprüfung weitergeben.
$this->is_in_closed_list($list_of_potential_points);
}
public function show_the_way()
{
if($this->main())
{
$way = array();
do
{
array_push($way,$this->current_point);
$this->current_point = $this->current_point->get_antecessor();
}while(!is_null($this->current_point->get_antecessor()));
array_push($way,$this->current_point);
$way = array_reverse($way);
foreach($way as $point)
{
echo $point->get_x().":".$point->get_y()."<br>";
}
}
else
{
return "Sorry. I can`t get over there :(";
}
}
}
$way = new Astar(1,1,5,5);
$way->show_the_way();
?>
Alles anzeigen
point.class.php
<?php
error_reporting(E_ALL);
class point
{
private $x; //X-Position des Knotens
private $y; //Y-Position des Knotens
private $c; //Kosten dieses Feld zu Betreten
private $h; //Geschätze Kosten zum Ziel
private $f; //f-Wert dieses Knotens
private $g; //Kosten bis zum Startknoten
private $antecessor; //Vorgänger Knoten
private $zx; //X-Position des Zielknotens
private $zy; //Y-Position des Zielknotens
public function __construct($x, $y, $c, $antecessor = null, $zx, $zy)
{
//Koordinaten und Kosten dieses Punktes
$this->x = $x;
$this->y = $y;
$this->c = $c;
$this->zx = $zx;
$this->zy = $zy;
//Falls ein Vorgängerknoten übergeben wurde, diesen als selbigen eintragen
if(!is_null($antecessor))
{
$this->antecessor = $antecessor;
}
//den geschätzen Weg zum Ziel berechnen (hier Luftlinie)
$this->set_h();
//den g-Wert berechnen (Kosten von diesem Punkt bis zum Startpunkt über die Vorgängerpunkte)
$this->set_g();
//den f-Wert berechnen (falls vorhanden Kosten des Vorgängerknotens bis zum Startpunkt + Kosten dieses Knotens
//+ geschätze Kosten zum Ziel)
$this->set_f();
}
public function get_x()
{
return $this->x;
}
public function set_x($x)
{
$this->x = $x;
}
public function get_y()
{
return $this->y;
}
public function set_y($y)
{
$this->y = $y;
}
public function get_c()
{
return $this->c;
}
public function set_c($c)
{
$this->c = $c;
}
public function get_h()
{
return $this->h;
}
public function set_h()
{
$this->h = sqrt(pow(abs($this->x - $this->zx), 2) + pow(abs($this->y - $this->zy), 2));
}
public function get_f()
{
return $this->f;
}
public function set_f($f = null)
{
if(!is_null($f))
{
$this->f = $f;
}
else
{
$this->f = $this->get_g() + $this->get_c() + $this->get_h();
}
}
public function get_g()
{
return $this->c;
}
public function set_g()
{
if(is_null($this->get_antecessor()))
{
$this->g = 0;
}
else
{
$this->g += $this->antecessor->get_g();
}
}
public function get_antecessor()
{
return $this->antecessor;
}
public function set_antecessor($antecessor)
{
$this->antecessor = $antecessor;
}
}
?>
Alles anzeigen
nach "pr00xy" googlen falls ihr nicht nach proxy oder pr0xy googlen könnt wie wir früher, und sich über zahlreiche listen im inet freuen .. aber ansonsten eine nette geschichte
ich weiß nicht obs eine frist gibt aber ich kann dir sagen das das "normal" ist .. wir verkaufen auch pc hardware und wenn der lieferant kein ersatzgerät schickt dann kann der kunde sich schonmal von seiner hardware verabschieden .. rekord sind 9 wochen für eine grafikkarte und man konnte uns bis zum schluss nicht sagen ob es eine gutschrift wird damit der kunde sich schon vorher eine neue kaufen kann .. am wars dann natürlich eine .. kunde sauer und wir als verkäufer könn nix dagegen machen außer auf eigene tasche n ersatzgerät ausleihen um ihn gändig zustimmen.
ich denke das problem ist einfach schonmal das es eine woche zum lieferanten braucht mit bearbeitung usw 1 woche zum hersteller da wird dann schonmal gut 1-2 wochen geguckt was die denn für nen fehler hat und dann die ganze geschichte zurück .. ist schon ätzend
komisch das es bei anderen geräten problemlos in unter einer woche funktioniert.
nimm die logo
.. lassen sich einfach total geile sachen mit machen .. bauste noch n tür kontakt ein wenn jmd reinkommt gehn bestimmte lichter an .. oder zum wecken gehn nach und nach mehr lichter an bisset hell ist oder so ..
ein buch kann ich dir nicht empfehlen da ich selber nie welche für php gehabt habe .. ABER
http://tut.php-quake.net/de/ tutorial + üben + üben + ausprobieren + ausprobieren + https://www.stagetwo.eu/www.gidf.de + http://php.net/manual/de/index.php
funktioniert eig genauso gut ..
Mit reinem HTML wirst du viel Spaß haben. Das, was du vor hast, wird in der Regel bequem mit PHP umgesetzt, und zwar hat man dann als dargestellte Seite immer die index.php und lädt an den entsprechenden Stellen den benötigten Content. Damit das PHP-Skript auch weiß, welchen Content es laden soll, übergibt man Variablen. Haste bestimmt schon oft gesehen in der Adressleiste, sieht meist so aus:
Das Problem an PHP ist, dass man dafür einen Webserver braucht und ich glaube nicht, dass wenn das ein Schulprojekt ist, ihr in der Schule auf den Rechnern einen habt, war jedenfalls bei uns so.
Mit reinem HTML könnte man sowas aber auch umsetzen, erfordert allerdings etwas Geschick. Ich habe sowas mal mit JavaScript gemacht, empfehle ich aber keinem xD
naja mit jquery ist das eine relativ einfache sache .. aber mit dem "noob skill" wird das wohl trotzdem zu schwer sein bzw zu viel zeit kosten sich das anzugucken.. denke am aller einfachsten ist es wenn du den code fürs layout kopierst und einfach in jeder datei den content änderst .. ist nicht das eleganteste aber das einfachste
man kann das luck dress kaufen obwohl man nicht die kohle hat -> man ist im minus -> resettet -> luck dress ist immer noch vorhanden & konnte den quest nich wieder neu annehmen
+
abi fertig
schöne zivildienst stelle gefunden
3 jahre mit meiner freundin zsm
-
mein schreibtisch ist seit 3 tagen total rummelig ![]()
ne was wirklich schlimmes gab es dieses jahr nich ![]()