• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

PHP - Array - Hilfe

HoRRoRTeRRaN

Guest
So, nachdem ich schon bei zig personen nach hilfe gefragt habe, versuch ich es nun mal hier.
Das problem hat mich schon 4 stunden verschwendete zeit gekostet und ich krieg es trotz nachlesen des php.net manuals nicht gelöst.

Ich habe folgendes Problem:
Ich selektiere zuerst 5 datensätze aus einer datenbank:

$s1=mysql_query("SELECT * FROM a_b WHERE A_ID = '$xy' LIMIT 5");

solange diese mit diesen bedingungen (A_ID = '$xy') vorhanden sind, werden sie in einen array geschrieben:

while($s=mysql_fetch_object($s1)) {
$a_array["date"]=$s->datum;
$a_array["string"]=$->string;
}

Hier kommt nun die 1. frage. Ich hatte vorher ne andere arraybelegung, die sah so aus:

$a_array[$arrayn]["date"]=$s->datum;
$a_array[$arrayn]["date"]=$s->datum;

$arrayn wurde pro ausführung der whileschleife eins hochgezählt. Nun dachte ich aber,dass man die Indexzahl nicht vorher geben darf und hab es rausgenommen, läuft aber genauso wenig, also was von beiden ist richtig/richtiger ?

ok weiter zum eigentlichen problem.
Nach diesen 5 datensätzen werden wieder 5 datensätze abgefragt, aber aus einer anderen tabelle:

$s5=mysql_query("SELECT * FROM c_d WHERE C_ID = '$xy' LIMIT 5");

Die Prozedur mit dem in den array schreiben wiederholt sich.
nun hab ich 10 datensätze in dem array und möchte diese dem datum nach (timestamp) absteigend sortieren und hinterher nur $a_array[0-4]["string"], sortiert nach datum absteigend, ausgeben.
da ist das hauptproblem, jeder einsatz von asort, usort, array_multisort hat nicht richtig funktioniert.
meine multisort anweisung sah wie folgt aus: array_multisort($a_array, SORT_DESC);
kann mir da bitte wer helfen, dieses "bisschen" hat mich schon ne menge zeit gekostet und alles hat net geklappt :(
 

killerchicken_inaktiv

Guest
Horror, es wäre großartig wenn du einen Testdump deiner Datenbank zur Verfügung stellen könntest, dann zeig ich dir, wie man das macht.

Ich glaube nämlich, dass schon deine Queries so keinen Sinn machen...

Gruß
Sebastian
 

voelkerballtier

Coverage, Staff, Coding
Mitglied seit
01.12.2003
Beiträge
1.603
Reaktionen
0
zur ersten Frage: richtig wäre meines erachtens so etwas:

while($s=mysql_fetch_object($s1)) {
$a_array[] = array("date" => $s->datum, "string" => $s->string);
}

wobei ich aber nicht sicher bin, was du eigentlich willst und warum du nicht fetch_array benutzt. Zur zweiten Frage: versuch die Sortierung im sql zu machen. Warum das bei dir jetz im php nich geht ist schwer zu sagen - steht denn in deinen array überhaupt drin was drin stehen soll?
 

HoRRoRTeRRaN

Guest
mit freundlicher hilfe von killerchicken ist nun alles geklärt und gelöst worden, vielen dank :)
 
Oben