mehrere spl tabellen inhalte sortieren

deep_popel

Mitglied
Hallöchen,

ich hab da ma'n Problem.
Ich, der noch net so richtig Ahnung von PHP sein Eigen nennen kann, hat sich mühevoll ein Script für die Online-Bearbeitung mehrerer Lexikas gebastelt. Es funktioniert auch bis jetzt alles, außer das die angezeigten Begriffe net so richtig geordnet werden. Im Beispiel habe ich 4 SQL-Tabellen, alle sind gleich aufgebaut, haben halt nur verschiedene Inhalte. Ich denke weil ich mit dieser Schleife aus allen Tabellen zeilenweise die Tabelleneinträge hole, ordnet er sie dann auch nur für jede Tabelle einzeln (siehe Bild).

Meine Frage nun, wie bekomme ich es hin, das die Tabelle komplett geordnet wird und nicht wie auf dem Bild nur tabellenweise?
PHP:
$table = array('lexikon_1','lexikon_2','lexikon_3','lexikon_4');

foreach ($table as $tabelle) {
    $result = mysql_query("SELECT what,id,begriff FROM $tabelle ORDER BY begriff") or die (mysql_error());

     while ($row = mysql_fetch_row($result)) {

echo " <tr>";
echo "  <td><center>$zaehlen</center></td>";
echo "  <td bgcolor=\"00CCFF\"><center>$row[0]</center></td>";
echo "  <td bgcolor=\"85E3FB\"><center>$row[1]</center></td>";
echo "  <td bgcolor=\"85E3FB\">$row[2]</td>";
echo "  <td bgcolor=\"85E3FB\">$tabelle</td>";
echo "  <td><a href=\"$PHP_SELF?id=$row[1]&action=anzeigen&tablename=$tabelle\"><center>anzeigen</center></a></td>";
echo "  <td><a href=\"$PHP_SELF?id=$row[1]&action=update&tablename=$tabelle\"><center>updaten</center></a></td>";
echo "  <td><a href=\"$PHP_SELF?id=$row[1]&action=loeschen&tablename=$tabelle\"><center>löschen</center></a></td>";
echo " </tr>";

   }
Ausgabe:

tabelle.gif
 
Ich glaube du müsstest es eher so machen:

PHP:
$result = mysql_query("SELECT what,id,begriff FROM lexikon_1,lexikon_2,lexikon_3,lexikon_4 ORDER BY begriff") or die (mysql_error());
while ($row = mysql_fetch_row($result)) 
{
echo " <tr>";
echo "  <td><center>$zaehlen</center></td>";
echo "  <td bgcolor=\"00CCFF\"><center>$row[0]</center></td>";
echo "  <td bgcolor=\"85E3FB\"><center>$row[1]</center></td>";
echo "  <td bgcolor=\"85E3FB\">$row[2]</td>";
echo "  <td bgcolor=\"85E3FB\">$tabelle</td>";
echo "  <td><a href=\"$PHP_SELF?id=$row[1]&action=anzeigen&tablename=$tabelle\"><center>anzeigen</center></a></td>";
echo "  <td><a href=\"$PHP_SELF?id=$row[1]&action=update&tablename=$tabelle\"><center>updaten</center></a></td>";
echo "  <td><a href=\"$PHP_SELF?id=$row[1]&action=loeschen&tablename=$tabelle\"><center>löschen</center></a></td>";
echo " </tr>";
}

Kann auch sein dass ich mich irre :-) Aber ich habs wenigstesn versucht :D
 
wenn die daten in den einzelnen tables bzw. die spalten alle gleich sind mach es so

PHP:
$table = array('lexikon_1','lexikon_2','lexikon_3','lexikon_4');

$result=array();

foreach ($table as $tabelle) 
{
    $result[] =mysql_fetch_array(mysql_query("SELECT what,id,begriff FROM $tabelle ORDER BY begriff"));
}


dann haste alles in $result alle einträge und die musst du nur noch sortieren lassen mit array sortier funktionen wie asort,rsort,sort etc
 
Zurück