kostenloser Webspace werbefrei: lima-city


MySQL Rechenabfrage

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    Hallo!

    Also, ich hab eine Datenbank mit diversen Werten in verschieden Spalten:

    A	B
    45	24
    54	12
    89	24


    Als eine PHP - Variable habe ich ein $zahl = 82;

    Nun möchte ich aus der Datenbank die Zeilen abfragen (WHERE), bei denen $zahl - Spaltenwert A oder $zahl - Spaltenwert B eine durch 10 Teilbare Zahl ohne Rest ergibt. Die Werte in der Datenbank sind Texte, und zwar immer mit der gleichen Länge.

    Jetzt habe ich mir gedacht es gibt zwei Möglichkeiten:

    1) Ich lasse die MySQL-Abfrage rechnen ($zahl - Spaltenwert / 10); wenn es einen Rest gibt dann die Zeile auslassen
    - geht das? Kann man da irgndwie eine If-Abfrage reinbasteln?
    2) Ich vergleiche die letzte Position von $zahl mit der vom Spaltenwert.
    - kann mich mit MySQL auch das letzte Zeichen des Strings ermitteln?

    Welche der beiden Möglichkeiten ist günstiger (schneller usw usf)

    Danke im Voraus!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. bvb-fanclub-nr1-in-sundern

    Kostenloser Webspace von bvb-fanclub-nr1-in-sundern

    bvb-fanclub-nr1-in-sundern hat kostenlosen Webspace.

    Hast Du schon mal versucht in der Abfrage sofort zu rechnen?

    "... WHERE MOD($zahl - `A`, 10)=0 OR MOD($zahl - `B`, 10)=0"

    Beitrag zuletzt geändert: 22.1.2011 12:18:33 von bvb-fanclub-nr1-in-sundern
  4. Ich weiß nicht, ob es einfacher oder ressourcensparender geht, aber ich würde das Problem wahrscheinlich so lösen:
    '
    WHERE
    	(('.$zahl.' - A) / 10 = ROUND(('.$zahl.' - A) / 10)) OR (('.$zahl.' - B) / 10 = ROUND(('.$zahl.' - B) / 10))'
  5. Autor dieses Themas

    sonok

    Moderator Kostenloser Webspace von sonok

    sonok hat kostenlosen Webspace.

    Hm, also eher rechnen :eek:

    Ich hab in der MySQL-Tabelle die Zahlen als Text - muß ich die erst in int umwandeln oder funktioniert das wie in PHP, daß da automatisch eine Umwandlung erfolgt?
  6. bvb-fanclub-nr1-in-sundern

    Kostenloser Webspace von bvb-fanclub-nr1-in-sundern

    bvb-fanclub-nr1-in-sundern hat kostenlosen Webspace.

    mySQL wandelt den String automatisch in eine Zahl, wenn dieser nur numerische Zeichen enthält...

    Beitrag zuletzt geändert: 22.1.2011 12:42:25 von bvb-fanclub-nr1-in-sundern
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!