brauche HIlfe bei Array aus DB holen

Phpanfaenger

Grünschnabel
Hi

Ich möchte gerne Dateien, die ich aus einem Array hole
PHP:
// Dies ist ein Beispiel
$werte = array("haha", "hehe", "bluB", "haha", "hehe", "bluB", "fuenf", "aAaA", "JuHuu", "clan", "HPl");
wie folgt sortieren:
PHP:
echo "<table border=3>";

$anzahl = count($werte);

if($anzahl %4 == 0) $reihen = $anzahl / 4;
elseif ($anzahl %5 == 0)$reihen = ($anzahl - 1) / 4;
elseif ($anzahl %6 == 0)$reihen = ($anzahl - 2) / 4;
elseif ($anzahl %7 == 0)$reihen = ($anzahl - 3) / 4;
elseif ($anzahl %9 == 0)$reihen = ($anzahl - 1) / 4;
elseif ($anzahl %11 == 0)$reihen = ($anzahl - 3) / 4;
elseif ($anzahl %13 == 0)$reihen = ($anzahl - 1) / 4;
elseif ($anzahl %17 == 0)$reihen = ($anzahl - 1) / 4;
elseif ($anzahl %19 == 0)$reihen = ($anzahl - 3) / 4;

else echo"FEHLER";

$index = 0;

for($r=1; $r <= $reihen; $r++)
{
  echo "<tr>";
  for ($s = 0; $s <= 3; $s++)
  {
  echo "<td>$werte[$index]</td>";
  $index++;
  }
  echo "</tr>";
}


if($anzahl == 5 || $anzahl == 9 || $anzahl == 13 || $anzahl == 17 || $anzahl == 21 || $anzahl == 25)
{
echo "<tr>";
echo "<td>$werte[$index]</td><td></td><td></td><td></td>";
echo "</tr>";
}

elseif($anzahl == 6 || $anzahl == 10 || $anzahl == 14 || $anzahl == 18 || $anzahl == 22 || $anzahl == 26)
{
echo "<tr>";
echo "<td>$werte[$index]</td>";
$index++;
echo "<td>$werte[$index]</td><td></td><td></td>";
echo "</tr>";
}

elseif($anzahl == 7 || $anzahl == 11 || $anzahl == 15 || $anzahl == 19 || $anzahl == 23 || $anzahl == 27)
{
  echo "<tr>";
  for ($s = 0; $s <= 2; $s++)
    {
    echo "<td>$werte[$index]</td>";
    $index++;
    }
  echo "<td></td></tr>";
}

Das funktioniert auch schon gut.
Nur möchte ich jetzt das Array durch ein Array aus der Datenbank ersetzen. sprich ich habe die Werte ich der Datenbank und lese sie dort aus.

Beispiel:
PHP:
$result = mysql_query("SELECT `id`,`num` FROM `kategorie1`");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    if($row["num"] == $cat)
	{
	printf ("ID: %s  Name: %s", $row["id"], $row["num"]);
	}
}
(Dieser Beispiel-Array habe ich auf http://de.php.net/mysql_fetch_array) gefunden. Es gibt in meinem Fall nun die ID-Werte der Spalte(n) mit `num`=$cat aus.


Nun möchte ich jedoch beides hier genannte zusammen haben.
Also zuerst alles was in der Datenbank `num` = $cat ist, in einem Array haben ($cat wird per $_Get übergeben). Und anschließend möchte ich dann wie im obersten Beispiel bezeigt, vorgehen.

Ich habe stundenlang rumprobiert, aber nie kam irgendwas raus, was man gebrauchen kann. Daher bitte ich nun euch um Hilfe. Kann mir jemand von euch sagen, wie ich das Problem lösen kann. Wäre echt super nett:)

Gruß, Phpanfaener
 
Hi,

nicht ganz.
Ich möchte nur die Datensätze, die in der Datenbank bei "num" den Wert haben, der per $_GET übergeben wird, in einer 4-Spalten-Tabelle ausgeben.


"num" und "cat" stehen hierbei jeweils für die Kategorie. Wenn also z. B. Bilder mit der Kategorie 1 eingetragen wurden sind, steht in der db: num=1
Um alle Bilder aus der Kategorie 1 nun anzeigen zu lassen, wird der Link ......php?cat=1 vorgegeben.

Gruß
 
Dann musst du eigendlich nur deine MySql Abfrage verbessern, beispielsweise so:

PHP:
$sql = 'SELECT `id`,`num` FROM `kategorie` WHERE `num` = "' .$cat. '"';
$result = mysql_query( $sql );

Der Rest funktioniert dann mit dem von mir verlinkten Codeschnipsel.
Musst halt bischen damit rumprobieren, dann klappt das schon :)
 
Zurück