timo: ARRAY zerteilen

Hallo,

also, ich frage aus einer datenbank mehrere felder ab, die dann in einer schleife ausgegeben werden;

eines dieser felder beinhaltet mehrere zahlen, also

$row[bilder]=1061,1062,1063,1064,1065,1066,1067,1245,1246,1247,1248,1249,46

als beispiel;

diese zahlen widerum sind die id der tabelle bilder;

nun möchte ich dieses array zerlegen und aus der tabelle bilder die pfade auslesen
(select pfad from bilder where id=$???);

leider komme ich nicht weiter

danke im voraus

timo

  1. Hallo Timo,

    diese zahlen widerum sind die id der tabelle bilder;

    nun möchte ich dieses array zerlegen und aus der tabelle bilder die pfade auslesen
    (select pfad from bilder where id=$???);

    Mit der Methode geht's nur mit einem select für jedes Array-Element. Eleganter: Frag' im ursprünglichen select gleich den pfad ab, ungefähr so:
    select whatever, pfad from tabelle1 LEFT JOIN bilder where tabelle1.id=bilder.id

    Viele Grüße
    Stephan

  2. $row[bilder]=1061,1062,1063,1064,1065,1066,1067,1245,1246,1247,1248,1249,46

    HAllo,

    $ids=explode(",",$row[bilder]);
    for($i=0;$i<count($ids);$i++){
      $result=mysql_query("SELECT from table where id='$ids[$i]'");
    }

    lg
    Ludwig

  3. Hallo !

    Ganz im Gegensatz zu meinen Vorredner möchte ich dir davon abraten, den Array zu zerteilen.

    MySQL bietet hier ein sehr flotte Abfrage-Möglichkeit MIT einem Array, nämlich:

    ------------------------
    SELECT id, Pfad
    FROM   Bilder
    WHERE  id IN (Array)
    ------------------------

    wobei Array dann die von dir angeführte Zahlenreihe ist.

    Läuft 1A!

    Siehe:
    http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#Comparison_functions

    Gruß,
    kerki