mmofacts.com

Anfängerfragen

gepostet vor 19 Jahre, 7 Monate von Mays
Wenn man nun bei den Script selbst denk, als nur abzuschreiben, kommen einem doch einige Frage auf.
Wie ist das eigendlich mit dem Setzen hier von ``?
zum Beispiel wenn man eine neue Tabelle anlegen will, dann schreibt man ja CREATE TABLE abc (, das funktioniert auch meistens, aber manchmahl muss man das abc in `` setzten, warum und wann? Ich denke am besten ist es wenn man sie immer setzt oder?
Oder das verschachteln von PHP und HTML, so wie ich es immer mach, wenn dann wieder ein paar Zeilen HTML-Code kommt schließe ich PHP und öffne es später wieder, ist es besser wenn man es in echo schreiben würde?
Ich will ja besser werden, also habe ich mir mahl so gedanken über schritte gemacht die machen werde, also als ersten kommt ein einfaches Newscript, dann ein einfaches Gästebuch, danach wird dann das Newscript verpessert mit Adminlogin und so, darauf folgt ein Gästebuch mit Smiles und dann wieder ans Newscript, diesmahl mit Kommentarfunktion, dann wollt ich mich an ein Forum machen. Ich denke die schritte sind irgendwie blöd oder? Welche schritte soll man gehen.

Als letztes noch eine Frage, kann man
$sql_eintrag = "INSERT INTO `gaestebuch` ( `id` , `schreiber` , `eintrag` , `mailadresse` , `zeit` , `datum` ) VALUES ('','" . $schreiber . "','" . $eintrag . "','" . $email . "', time(), now())";
nicht machen, weil es passiert nichts.
gepostet vor 19 Jahre, 7 Monate von Haatschiii
Also zum sql Eintrag, würd ich mal so probieren! Das prinzip ist das es zwei verschiedene anführungszeichen gibt! Einmal " und ' was in " steht wird wörtlich übernommen jedoch werden Variablen durch ihren wert ersetzt, was in ' steht wird wörtlich übernommen und die variablen darin auch also nicht den wert wersetzend! z.B.
$variable = Toll
echo "$variable"; //wuerde Toll ausgeben
echo '$variable'; //wuerde $variable ausgeben
?>
Den sql eintrag kannst mal so versuchen, hab ich nur kurz überflogen, also kann noch ein fehler drin sein! Ausserdem was soll den now() für eine funktion sein? :roll:
$sql_eintrag = "INSERT INTO `gaestebuch` (`id`, `schreiber`, `eintrag`, `mailadresse`, `zeit`, `datum`) VALUES ('$schreiber', '$eintrag', '$email', ".time().", ".now().")";
gepostet vor 19 Jahre, 7 Monate von rgb
du musst ja auch noch:
mysql_query($sql_eintrag);
machen.
Sonst passiert da sowieso nichts.
Alternativ kannst du gleich
mysql_query("INSERT INTO `gaestebuch` (`id`, `schreiber`, `eintrag`, `mailadresse`, `zeit`, `datum`) VALUES ('$schreiber', '$eintrag', '$email', ".time().", ".now().")");
machen
gepostet vor 19 Jahre, 7 Monate von Mays
Also eure beiden Idee bringen den Fehler
Fatal error: Call to undefined function: now() in /abcd/gaestebuch.php on line 10, das hab ich mir schon gedacht, weil so weit ich weiß darf now() nicht in "" gesetzt werden, muss ohne irgendwelche Anführungszeichen stehen, kann mich aber auch ihren.
gepostet vor 19 Jahre, 7 Monate von Lalabimbam
mysql_query("INSERT INTO `gaestebuch` ( `schreiber`, `eintrag`, `mailadresse`, `zeit`, `datum`) VALUES ('$schreiber', '$eintrag', '$email', ".time().", ".now().")");

`id`, mal weggestrichen.. gehört da nicht hinein...
wozu brauchst du eigentlich das now wenn du eh time hast?

mit strftime kannst du einen timestamp ( time() ) formatieren:
Beispiel:
$nTime = strftime ( '%d.%m.%y / %H:%M Uhr', $row [ 'time' ] );

das ist das was mir beim überlesen aufgefallen ist...

Also ich schreibe HTML-Code prinzipel in der echo funktion bzw habe einen extra TemplatesOrdner wo ich auch HTML Seiten drinnen habe die ich mit str_replace bearbeite.
gepostet vor 19 Jahre, 7 Monate von Gambler
Generell zum SQL debuggen das Statement ausgeben und in PHPMyAdmin reinpasten, dann siehste was falsch ist.
gepostet vor 19 Jahre, 7 Monate von Lalabimbam
jo eine möglichkeit oder man macht einfach:
$szQuery = "INSERT INTO `gaestebuch` ( `schreiber`, `eintrag`, `mailadresse`, `zeit`, `datum`) VALUES ('$schreiber', '$eintrag', '$email', ".time().", ".now().")";

echo ( $szQuery );

$szQuery = "INSERT INTO xxx ( item, user_item, koordinaten, create_time ) VALUES
(\"" .
AddSlashes ( get_unique() ) . "\",\"" .
AddSlashes ( $szItem ) . "\",\"" .
AddSlashes ( $aszTown [ 'koord' ][ $i ] ) . "\",\"" .
AddSlashes ( $aszTown [ 'create_town' ][ $i ] ) . "\")";

so strukture ich immer mein Query
Kann vielleicht auch ein fehler bei dir sein das du ( '$schreiber' , ... machst weil er dann $schreiber einträgt und nicht den inhalt der Variabel
Wie gesagt könnte sein.
Kannst ja mal im php manual nachlesen was der befehl AddSlashes macht.
gepostet vor 19 Jahre, 7 Monate von HSINC
now() ist ein mysql funktion und keine von php, somit muss das now() defintiv nicht in ' und erstrecht nicht in ".." gesetzt werden
gepostet vor 19 Jahre, 7 Monate von knalli
Genau.. NOW() ist eine MySql-Funktion für DATETIME-Felder, also kein Unixtimestamp.

Autoinc-Felder lassen sich am besten so ausfüllen: Gar nicht angeben. also.. das "id" raus..
gepostet vor 19 Jahre, 7 Monate von Mays
Erst mahl danke

Das mit den Dateneintrag geht, nur ich dachte time() wäre die Funktion die die zeit seit, seit diesen einem Zeitpunkt ausgibt, aber ich dachte die wäre größer als das 12323, um 2005-12-31 23:58:12 oder stimmt dieser Wert?

Nun zum Datenausgeben,
es sollte so sein, das wenn man auf den Namen klickt kommt die mailadresse, aber es geht nicht. So siehts aus
 

$eintrag = "SELECT * FROM gaestebuch ORDER BY id DESC LIMIT 0, 9";
$result = mysql_query($eintrag);
while ($row = mysql_fetch_assoc($result)) {
echo '

' . nl2br(htmlspecialchars($row["schreiber"])) . ' schrieb am ' . $row["datum"] . '
' . nl2br(htmlspecialchars($row["eintrag"])) . '';
}

Der Quelltext gibt das aus

Mays schrieb am 2005-05-27 14:58:10
asdas

d

as

d

as

dasdasdas

d

asdasdasd


da ist auch was was ich nicht versteh, Haatschiii sagt wenn man ' benutzt wird z.B. $abc ausgeben und nicht das was in der Variable steht, aber hier ' . nl2br(htmlspecialchars($row["eintrag"])) . ', wird der Eintrag aus der Datenbank ausgegeben.


gepostet vor 19 Jahre, 7 Monate von BLUESCREEN
Original von Mays
nur ich dachte time() wäre die Funktion die die zeit seit, seit diesen einem Zeitpunkt ausgibt

Die Zeit seit welchem Zeitpunkt?
Die PHP-Funktion "time()" gibt die Anzahl der Sekunden seit dem 01.01.1970, 0 Uhr aus.
Und das sind momentan etwa 1.117 Milliarden.
gepostet vor 19 Jahre, 7 Monate von Mays
So nachdem nun endlich alles so geht wie es gehen soll. Kommt jetzt ein Gästebuch mit Smilies, aber wie bekommt man Smilies da rein?
Hier im Forum ist das ja auch so.
gepostet vor 19 Jahre, 7 Monate von Gambler
da machst du einfach ein str_replace suchst nach dem Smilie kürzel und ersetzt es mit dem code für das bild
gepostet vor 19 Jahre, 7 Monate von Mays
Tur mir leid das übersteigt mein können.
Von dem was du geschrieben hast versteh ich gar nichts.
gepostet vor 19 Jahre, 7 Monate von Balduran
$text=str_replace(":-(","",$text);
gepostet vor 19 Jahre, 7 Monate von Gambler
Also wenn du nicht in der Lage bist im Manual was nachzuschauen und damit zu arbeiten dann fang lieber nochmal ganz von vorne an.
gepostet vor 19 Jahre, 7 Monate von TheUndeadable
www.php.net/str_replace

Sollte nicht so schwer sein.
gepostet vor 19 Jahre, 7 Monate von Mays
Ich weiß nicht warum ich nicht in das Manuel geschaut habe, um ehrlich zu sein habe ich auch nicht daran gedacht, benutze es eher selten.

Das klappt nun alles prima, genau wie das User-Online-Script.
Nur was jetzt, habe mir eigendlich erhofft besser zu werden, aber ich glaub das bin ich nicht. Daher frag ich euch mahl, hat jemand noch eine Idee von einem leichten Script, was ich schreiben könnte?
Und an das richtige Objekt-Orientierte Programmierung, bin ich noch weit entfernt, so Sachen mit class und den Methoden und den Eigenschaften, aber da komm ich bestimmt auch noch hin.
Mahl eine Frage dazu, wie lange habt ihr gebraucht um PHP einiger maßen zu können?
gepostet vor 19 Jahre, 7 Monate von Gambler
Dann geb ich dir mal nen Tipp. Das Handbuch ist dein bester Freund und deine Freundin. Nimm es mit ins Bett und legs dir unters Kopfkissen. Und das machst du so lange bist dus auswendig kannst
Wer als Anfänger kaum das Handbuch benutzt hat eigentlich keine Chance.
gepostet vor 19 Jahre, 7 Monate von Kallisti
Original von Gambler
Dann geb ich dir mal nen Tipp. Das Handbuch ist dein bester Freund und deine Freundin. Nimm es mit ins Bett und legs dir unters Kopfkissen. Und das machst du so lange bist dus auswendig kannst
Wer als Anfänger kaum das Handbuch benutzt hat eigentlich keine Chance.


*MonitoruntersKopfkissenschieb*

Warum hab ich grad "Das Handtuch" gelesen? Ich bin glaub ich Anhalter geschädigt und freu mich zu sehr auf den Kinostart in 9 Tagen.
gepostet vor 19 Jahre, 7 Monate von Haatschiii
Nochmal kurz zu den anführungszeichen:

$variable = "Haatschii";
echo "Der $variable ist toll!"; //Gibt aus: Der Haatschii ist toll!
echo 'Der $variable ist toll!'; //Gibt aus: Der $variable ist toll!
echo 'Der '.$variable.' ist toll!'; //Gibt aus: Der Haatschii ist toll!
?>

Falls das deine Frage beantowrtet! Du fängst die mit einem ' einen wörtlichen bereich an und beendest diesen auch wieder mit einem ' ! deswegen sieht es vielleicht so aus das '.$abc.' ind ' ' steht und deswegen nicht interpretiert wird, aber im zusammen han wird klar, dass das erste den bereich beendet und das zweite ihn wieder beginnt! Am besten du besorgst dir ein Programm was dass die wörtlichen bereiche farblich darstellt!
gepostet vor 19 Jahre, 7 Monate von woodworker

$satz = 'Der %s ist toller';

printf($satz,'woodworker');

?>
gepostet vor 19 Jahre, 7 Monate von Kallisti
Original von woodworker

$satz = 'Der %s ist toller';

printf($satz,'woodworker');

?>


Was allerdings ziemlich unperformant ist, da printf jedes Zeichen auf % parsen muss.

Dann doch lieber echo 'lala',$foobar,'lelu';

Damit spart man sich stringparsing und concatenation im Speicher.

Hört euch mal nen paar Sachen von Fefe an (der mit der dietlibc, dem fnord webserver etc... wer bischen was mit dem CCC zu tun hat, weiß was ich meine) -> schreibt angepassten code und keinen der multihyperfunktional ist.

Ich würde jetzt auch nicht so weit gehen und Schleifen ausrollen (so bis ~100 Durchläufen tun das einige), um mir die Sprunganweisungen zu sparen, aber ein bischen performanter Code bei so einfachen Dingen wie echo kann es doch ruhig sein.
gepostet vor 19 Jahre, 7 Monate von BLUESCREEN
Immer diese printf-User... Das sind bestimmt auch die, die in C++ kein "cout" benutzen

Zu den Variablen:

Interessant wird es doch erst bei Arrays.

Folgende Möglichkeiten sind dabei korrekt - alle anderen sind falsch:

[color=#008000]echo $daten['name'];
echo $daten["name"];
echo "{$daten['name']}";
echo "{$daten["name"]}";
echo "$daten[name]";[/color]

Die letzten drei finde ich allerdings hässlich

Vor allem die vorletzte, weil man da vermutet, die Anführungszeichen um "name" escapen zu müssen, was aber nichtmal möglich ist.

PS: Falsch sind also auch:
[color=#800000]echo $daten[name];
echo "{$daten[name]}";[/color]
Das wird oft übersehen, da es dazu vom PHP-Interpreter keinen Fehler sondern nur einen Hinweis gibt.
gepostet vor 19 Jahre, 6 Monate von Mays
macht ihr bei euren Scripts eigendlich Kommentare rein oder wisst ihr immer alles so, auch nach einem Jahr?


Und mit den Fehlermeldungen, schreibt ihr immer am Anfang error_reporting(E_ALL); oder seit ihr euch so sicher das ihr keine Fehler mehr macht oder sind euch die Fehler die eh nicht automatisch angezeigt werden egal?
gepostet vor 19 Jahre, 6 Monate von cem0r
Original von Mays
macht ihr bei euren Scripts eigendlich Kommentare rein oder wisst ihr immer alles so, auch nach einem Jahr?

Ganz früher, da hab ich nie was kommentiert. Irgendwann wurden die Scripts dann aber komplexer und ich wollte so sauber wie möglich arbeiten. Also hab ich alles kommentiert. Mitlerweile kommentiere ich eigentlich nur noch, wenn es wirklich kompliziert wird bzw. schreibe ich vor Codeblöcke, was genau da so gemacht wird.
gepostet vor 19 Jahre, 6 Monate von Haatschiii
Kommentare sind sehr wichtig würde ich sagen! Also ich weiss schon nach einer Woche nicht mehr was ich mit den Befehlen eigentlich bezwecken wollte! :roll: Aber vor allem wenn du nicht ganz alleine arbeitest sondern im Team sind Kommentare unumgänglich...
gepostet vor 19 Jahre, 6 Monate von cem0r
Die Notwendigkeit von durchdokumentiertem Code wollte ich auch damit auch nicht anzweifeln
gepostet vor 19 Jahre, 6 Monate von Haatschiii
Hab mich auch nicht auf dich bezogen!
Als cih angefangen hab gabs dein Post noch nicht! :lol:
gepostet vor 19 Jahre, 6 Monate von cem0r
Oh. Ja, wenn ich mal immer auf Uhrzeit gucken würde. Verzeih mir
gepostet vor 19 Jahre, 6 Monate von Rob-oter
Beim Proggen denke ich immer, warum bitteschön soll ich das Kommentieren an einzelnen Codestellen...

Ich habe mir angewöhnt, am Anfang der Datei kurz zu beschreiben, was die Aufgabe ist, welche Bugs schon aufgetreten sind, was noch zu machen ist, usw.

Natürlich makriere ich auch hochwichtige Stellen mit einer kurzen Anmerkung..


mfg Rob-oter
gepostet vor 19 Jahre, 6 Monate von woodworker
Original von Rob-oter
Beim Proggen denke ich immer, warum bitteschön soll ich das Kommentieren an einzelnen Codestellen...

Ich habe mir angewöhnt, am Anfang der Datei kurz zu beschreiben, was die Aufgabe ist, welche Bugs schon aufgetreten sind, was noch zu machen ist, usw.

Natürlich makriere ich auch hochwichtige Stellen mit einer kurzen Anmerkung..


Evtl weil es die lesbarkeit der Gesamten datie verbessert wenn du per kommentar angibst was du gerade machst
hilft vorallem dir selber wenn du ne datei nach ner woche oder wo mal wieder aufmachst
gepostet vor 19 Jahre, 6 Monate von Drezil
noch wichtiger als kommentieren ist sinnvolles benennen von variablen.

was nützt einem ein $x,$y,$z, wenn man nach 2 wochen nicht mehr weiss, was was ist.

Ich habs mir angewöhnt, dass z.B. $i,$j,$k schleifen-variablen sind. ist ja auch allgemienhin so. aber wenn ich mir mal den code von nem freund anschau .. oje oje ..

$a > $b ? $a : $b ... oder $blablup = $bla.$bli.$blup

tztztz ..

ansonsten zu kommentaren:
Ich mache selten welche, weil das meiste direkt ersichtlich ist.
Beispiel: if ($hp < 0) {..} << klar dass da das schiff tot ist.. das brauch ich nicht dazuschreiben..

wenns komplexer wird, dann natürlich kommentieren ..
gepostet vor 19 Jahre, 6 Monate von Kallisti
Sag das unserem Computer Science Dozenten...

E, L, P, Q, R, S, I sind da mal die Variablen in 10 Zeilen Code... egal ob Lisp, Prolog oder Pascal... *urgl* Und dann Quicksort, Heapsort, Hashing etc. mit solchen Variablen... grausig.

Und der will uns was von gutem Programmierstil erzählen...

Naja, ich glaub meine Variablen sind aussagekräftig. ;-)

Aber ACK, gute Variablennamen ersparen die meisten Kommentare, weil man den Code einfach runterlesen kann.
gepostet vor 19 Jahre, 6 Monate von BLUESCREEN
Zu den Kommentaren:

Immer nur zu Beginn eine Beschreibung reicht ganz sicher nicht mehr, wenn die Scripts länger werden. Also öfter mal Kommentare einfügen.



Zu den Variablennamen:

Früher hab ich oft eher kurze Variablennamen verwendet, bin aber inzwischen dazu übergegangen, selbsterklärende Namen zu verwenden, und möglichst nichts abzukürzen.

Dabei gibt es nur ein Problem: Solche Namen können endlos lang werden -.-

Beispiel: holiday_mode_start_time

Setzt ihr, sowohl bei den Funktionen und Variablen in den Scripten als auch bei Tabellen und Spalten in der DB, eher auf kurze, vllt. eingängige, Namen oder auf möglichst eindeutige?
gepostet vor 19 Jahre, 6 Monate von Kallisti
DB eher kurz (ca. 5-10 Stellen), aber das ist meist dennoch sehr sehr aussagekräftig, da es ja bestimmte Daten sind.

Ansonsten läuft es auf ~5-15 Stellen in etwa hinaus, da kann man das meiste drin verpacken. Teilweise Dinge abgekürzt, aber so, dass es lesbar bleibt.


Man kann mit Kommentaren und Benennungen aber auch jede Menge Spaß haben ;-)

# DIE DIE DIE, my darling!!

kill(9, $child_pid);

=head1 FREQUENTLY ASKED QUESTIONS


The answer is 42. ;-)

# -> Fork you !!


# HELP

# help... i need somebody...help!
#

if($options{'help'})
{ showhelp(); }
elsif($options{'phelp'})
{ showphelp(); }

Da freut sich doch jeder spätere Leser.

Hmmm ein Code Block wie ich ihn kommentieren würde (Perl, nicht aus nem Browsergame, nicht oop):

sub runprocesses

{
# run through all logfile blocks
foreach my $logline (@logfiles)
{
# a process is run for the first time
if(!defined(${$logline}{'lastrun'}))
{
# there is a delay defined -> delay it!
if(defined(${$logline}{'delay'}))
{ ${$logline}{'lastrun'} = time() + ${$logline}{'delay'}; }
# there is no delay, set lastrun to 0 -> execute it now
else
{ ${$logline}{'lastrun'} = 0 ; }
}
# run processes if their last run was at least asciiloginterval ago
if((${$logline}{'lastrun'} + ${$logline}{'asciiloginterval'}) <= time())
{
# store current time as lastrun
${$logline}{'lastrun'} = time();
# run it!
forklog(\$logline);
}
}
}
gepostet vor 19 Jahre, 6 Monate von woodworker
ahhhh sieht schön aus

und die lusitgen kommentare sind auch nett

abundzu haue ich auch ein paar spassige sachen in die varnamen

vor ein paar monaten brauchte ich ein schleifen zähler und anstatt das typiche i zu nehmn habe ich mich dann doch für
einfachNurMalEinLangenVarNamenNurUmMalEinWeingSpassZuHaben entschieden

so kann man auch beim programmierne spass haben ;p
gepostet vor 19 Jahre, 6 Monate von Mays
Kann man eigendlich auch, wenn man jetzt zum Beispiel in der Datenbank Siege und Niederlagen hat, aber keine Differenz, die dann trotzdem danach sortieren lassen und ausgeben, für zum Beispiel eine Rangliste, wo der auf Platz eins, halt die höchste Zahl hat.
Im Allgemeinen meine ich eine Rechnung im ausgeben der Daten aus einer Datenbank.



Noch was ich bin immer noch nicht dahintergekommen was iphp ist, in einer Suchmaschine zu suchen ist zwecklos.
gepostet vor 19 Jahre, 6 Monate von da_weedkilla
Hmm, also für eine nach Zahlen geordnete Rangliste würdest du einfach ein "ORDER BY siege DESC" an deine Abfrage hängen, dann bekommst du die Datensätze in absteigender Reihenfolge nach Siegen geordnet, der mit den meisten zuerst. Aber vmtl. suchst du nach was anderem...!? :roll:
gepostet vor 19 Jahre, 6 Monate von Drezil
ich glaube du meinst:
select siege-niederlagen as diff order by diff desc
(ging mal - weiss nit, ob die das wieder rausgenommen haben)
ansonsten könnte das helfen:
select siege-niederlagen as diff order by (siege-niederlagen) desc
gepostet vor 19 Jahre, 6 Monate von Mays
genau das wollte ich wissen.

Und was ist mit dem iphp?
Jetzt habe ich mir mahl ein Browserspiel heruntergeladen und da sind auch alles voller iphp-dateien.
gepostet vor 19 Jahre, 6 Monate von The_Alien
*kurzer einwurf*

Wollte nicht direkt ein neuen thread aufmachen.

Habe ein "problem" beim Sortieren.

ich habe in etwa sowas:

 

$ret=array();
for ($x=1;$x<10;$x++)
{
$ret[$x]['msg'] = "Fertigstellung von $on";
$ret[$x]['time'] = time()-$enddate
}

Verkürzt dargestellt weil es sonst zu viel wäre.
Ist für die Übersicht gedacht wann was fertig ist. Mein Problem besteht nun darin das das ganze Zeitlich unsortiert ist und somit recht unübersichtlich.

Nach der endzeit kann ich aus einigen gründen nicht sortieren lassen sondern nur wenn alle Daten da sind - als im fertigen Array. Nur muß ich eine recht aufwendige schleife erstellen die das dann sortiert. Oder gibt es da einen einfacheren weg so das die Daten in den Arrys zusammen bleiben, und nach $ret[$x]['time'] sortiert werden?

Ich hatte schonmal an ksort gedacht was aber nicht geht. Und uksort verstehe ich irgendwie nicht so richtig.
gepostet vor 19 Jahre, 6 Monate von TheUndeadable
Du wirst aber usort oder uksort verstehen müssen, um benutzerdefiniert sortieren zu können
gepostet vor 19 Jahre, 6 Monate von The_Alien
Usort habe ich ja gerafft - aber das uksort irgendwie nicht

Ich habe das in meiner "onlinehilfe"

Beispiel: 

function sortieren($a,$b) {
if($a==$b) return 0;
elseif($a>$b) return 1;
else return -1;
}

$namen = array("h"=>"hans","d"=>"daniel","m"=>"martin");
uksort($namen,sortieren);
foreach($namen as $key => $unit) echo $unit." | ";

Ausgabe: hans - daniel - martin

Nur daraus werde ich absolut nicht schlau. Wobei ich sogar davon ausgehe das es genau das ist was ich brauche - aber wie gesagt verstehe ich den Teil irgendwie nicht
gepostet vor 19 Jahre, 6 Monate von Kampfhoernchen
 
function sortieren($a,$b) {
if($a==$b) return 0;
elseif($a>$b) return 1;
else return -1;
}

Der Teil hier ist eine "Call-Back-Funktion", die von uksort verwendet wird. Um das Array zu sortieren (Heap Opt Algorithmus, wenn ich nicht irre), werden die einzelnen Werte miteinander verglichen. Nun wird nicht mit < oder > verglichen, sondern dazu diese Call-Back aufgerufen, in der du selbst definieren kannst, wie verglichen werden soll.

Jetzt willst du ja nach Zeit sortieren, wenn ich das richtig verstanden habe.Die beiden Übergabeparameter geben die beiden Teile an, die miteinander verglichen werden sollen, also jewails ein Element von $ret. Wenn du nach Zeit sortieren willst, müsste die Call-Back funktion also so aussehen:
 

function sortieren($a,$b) {
if($a['time'] == $b['time']) return 0; // Gleiche Zeit, 0 zurückliefern
else if($a['time'] > $b['time']) return 1; // a später als b, also 1 zurück
else return -1; // a früher als b, also -1 zurück
gepostet vor 19 Jahre, 6 Monate von The_Alien
Ah jetzt ja. Hat zwar nicht direkt funktioniert aber nachdem ich es nun gerafft habe konnte ich mir es passend umbauen.
Vorallem war da noch der Fehler das die prozedur noch in " muß - soviel zu der kompetenz von Hilfedateien

uksort($namen,"sortieren"); 


Vielen dank. Hat mir einiges weiter geholfen.

Auf diese Diskussion antworten