Hi, OK noch mal irgendwie waren die Tabellen verrutscht.
lieferservice
-------------
shopID
name
adresse
...
liefergebiete <--- Alle Stadtteile, die der shop beliefert
bezirke
-----------
ID
stadtteil <--- Das ist immer genau ein Stadtteil
stadt
liste
-----------
shop
bezirk
rang
Ok, so sehen die Tabellen aus. Rang = Platz in der Liste des Liefergebietes.
Aber verdammt viele Gebiete und verdammt viele shops, daher die Frage ob es bei der Auflistung aller shops in einem
Liefergebiet(bezirk) nicht mit LIKE %stadtteil% geht. Damit man bei der Eingabe Zeit spart.
Mit dem ersten SELECT werden die ersten drei Plätze ausgelesen, aber auf der zweiten Seite (list == all) sollen
alle Shops aufgeführt werden, aber als erstes wieder die mit rang 1-3. Jetzt gibt es aber sauviele shops und stadtteile
und gibt's da keine einfachere Lösung das so anzuordnen als alle shops über die TABELLE liste mit den entsprechenden
bezirken zu verknüpfen. Das macht beim Eingeben doch viel viel viel mehr Arbeit als die bezirke unter
liefergebiete einzutragen.
aufzulisten und dann mit LIKE %stadtteil% danach zu suchen.
Aber kann mann den SELECT-Befehl so gestalten, das er erst die drei mit dem rang 1-3 ausliest und dann alle anderen ?
Mein Script:
/* -------------------- Erste 3 Auflisten --------------- */
if ($list == 3)
{
$sql_query = "SELECT l.shopID, l.name, l.adresse, l.link, l.zeit, l.stadt, l.liefergebiete
FROM lieferservice l, bezirke b, liste r WHERE l.liefergebiete LIKE '%$mode%' AND b.stadtteil='$mode' AND l.stadt='B'
AND
l.shopID=r.shop AND b.ID=r.bezirk ORDER BY r.rang";
$result = mysql_db_query($db, $sql_query);
$rows = mysql_num_rows($result);
...
Ausgabe
...
}
/* -------------------- Alle Auflisten --------------- */ Funktioniert net wie ich will
if ($list == alle)
{
$sql_query = "SELECT l.shopID, l.name, l.adresse, l.link, l.zeit, l.stadt, l.liefergebiete
FROM lieferservice l, bezirke b, liste r WHERE l.liefergebiete LIKE '%$mode%'";
$result = mysql_db_query($db, $sql_query);
$rows = mysql_num_rows($result);
...
Ausgabe
...
}
Danke im voraus
CC