1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

kennt sich jemand in mysql aus?

Discussion in 'Programmieren' started by cadm, Jan 31, 2005.

Thread Status:
Not open for further replies.
  1. cadm

    cadm ROM

    hallo
    ich hab eine tabelle mit ca 7 einträgen. die tabelle hat eine kolonne "index", wo jeder eintrag einen index hat. nun will ich nur gewisse einträge mittels dieses indexes auswählen und anzeigen. wie muss die syntax im mysql-befehl sein?

    meine version, die nicht funktioniert:
    select *from tabelle where index=1,2,3,6

    ich nehme an, das problem liegt bei der auflistung der index-nummern.
    wenn ich mit AND arbeiten würde, wäre eine anfrage über ca 10 einträge schon recht mühsam...
     
  2. kalweit

    kalweit Hüter der Glaskugel

    Einfach keine Bedingung für index in der Abfrage angeben. Da das Ergebnis mit Sicherheit eh durch eine while-Schleife für die Ausgabe geht, kannst du das über eine "switch" oder "if" (dann wäre es aber nahezu das Gleiche wie im select) - Anweisung innerhalb dieser regeln. Das mit AND funktioniert übrigens nicht, wenn dann OR. Ohne genauere Kenntnis kann man aber über die Sinnhaftigkeit des selects keine Aussage treffen...

    Gruss, Matthias
     
  3. Hoshy

    Hoshy Kbyte

    Korrekte ANSI-SQL Syntax wäre in diesem Fall:

    select * from tabelle where index in (1,2,3,6)

    Sollte eigentlich auch genauso in mySQL funzen...
     
  4. cadm

    cadm ROM

    habs zwischenzeitlich hingekriegt. ja, das mit der while-schleife war ne gute idee. habs aber so gemacht:
    $count=count($einträge);
    for ($i=0;$i<$count;$i++) {

    $sql="SELECT * FROM mesures WHERE index=\"$einträge[$i]\"";
    $result=@mysql_db_query($dbname,$sql,$id_link);
    //etc.
    }

    ist ne saubere sache, so ein forum;) gruss
     
  5. kalweit

    kalweit Hüter der Glaskugel

    Naja, es löst zwar erst mal dein Problem - jedoch wenn du alle Datenbankabfragen so gestaltest, bekommst ab ein paar hundert Einträgen bzw. bei ein paar (wirklich nur ein paar) gleichzeitigen Zugriffen massive Probleme mit der Datenbankleistung...

    Gruss, Matthias
     
Thread Status:
Not open for further replies.

Share This Page