MySQL Daten auslesen per function

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MySQL Daten auslesen per function

    Moin moin!

    Momentan hole ich meine Daten immer so:
    PHP-Code:
    $qry mysql_query("SELECT * FROM $bla WHERE bla=$bla");
    while(
    $s mysql_fetch_array($qry)) {
      
    $bla $s[bla];

    jetzt würd ich gerne ne funktion schreiben die folgendes macht:

    - datensätze holen
    - datensätze in vars ausgeben

    also so in der art:
    PHP-Code:
    function selectFromDB(tabellewhereordersort) {
        
    $qry mysql_query("SELECT * FROM $tabelle WHERE $where ORDER BY $order $sort");

        while(
    $s mysql_fetch_array($qry)) {
            
    $eigenname $s[eigenname];
        }

        return 
    $eigenname;

    Ist natürlich nicht richtig, aber ich hoffe jemand versteht so meine Denkansätze
    Ziel ist es einfach einmal die Funktion aufzurufen und danach sofort mit den Vars arbeiten zu können.

    PHP-Code:
    selectFromDB($bla_tabelle"bla=4""id""DESC");
    echo 
    $eigenname 
    Grüße
    Carapau
    Lasst euch nicht lumpen, hoch den Humpen!

  • #2
    vllt solltest du dir die Funktion extract dazu einmal ansehen, vielleicht kannst du damit was anfangen

    Kommentar


    • #3
      Hmm liest sich gut, aber kanns nicht anwenden irgendwie. Haste vllt 'n Beispiel?

      Das wichtige ist ja dass diese function für _alle_ selects geht. Die Felder sind ja von Tabelle zu Tabelle unterschiedlich und ich weiss nicht wie ich in der function die _alle_ Daten _automatisch_ auslese.

      sowas wie while($i < 100) geht da ja nicht..

      Danke schonmal
      Lasst euch nicht lumpen, hoch den Humpen!

      Kommentar


      • #4
        schau mal ins mysql-handbuch: http://www.php.net/manual/de/ref.mysql.php da findest du sicherlich eine Möglichkeit die einzelnen feld-namen auszulesen übergib dann das in ein array - fertig ...
        Signatur-Text ...

        Kommentar


        • #5
          Original geschrieben von carapau
          Das wichtige ist ja dass diese function für _alle_ selects geht. Die Felder sind ja von Tabelle zu Tabelle unterschiedlich und ich weiss nicht wie ich in der function die _alle_ Daten _automatisch_ auslese.
          Schon der Ansatz erscheint mehr als fragwürdig.

          Warum soll ich nicht SELECT * schreiben? - das gilt eigentlich immer.

          Wenn du das befolgst, dann musst du an jeder Stelle von du ein SELECT machst wissen, welche Spalten du auslesen willst.
          Wenn du das weißt, dann weißt du auch "kurz danach", wenn es ans Verarbeiten der ausgelesenen Daten geht, noch wie die Spalten heißen - es existieren also keine "unbekannten" Namen.
          Wenn du es nicht weißt - dann überlege dir, ob es überhaupt sinnvoll sein kann, so vollkommen wahllos in der Gegend "rumzuSELECTieren". In den allermeisten Fällen dürfte es das nicht sein.


          Und wofür brauchst du überhaupt "einzelne Variablen"?
          Mit mysql_fecth_array (oder mysql_fetch_assoc) hast du den Inhalt eines Datensatzes doch bereits als Array vorliegen, und kannst alle Spalteninhalte darin über den Spaltennamen als Index ansprechen.
          Sie da erst "herauszuholen" ist absolut unnötig.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            naja ich möchte halt nicht jedes mal "mysql_query("SELECT..." usw schreiben sondern am ende echt nur:

            selectFromDB()
            updateDB()
            deleteFromDB()
            insertIntoDB()

            einfach nur um wenig und übersichtlichen source zu haben
            Lasst euch nicht lumpen, hoch den Humpen!

            Kommentar


            • #7
              Original geschrieben von carapau
              naja ich möchte halt nicht jedes mal "mysql_query("SELECT..." usw schreiben sondern am ende echt nur:

              selectFromDB()
              updateDB()
              deleteFromDB()
              insertIntoDB()

              einfach nur um wenig und übersichtlichen source zu haben
              ??? versteh ich nicht?
              Mach ne class! function drinne

              * insert
              * select
              * update
              * delete

              dementsprechend schreibste dein "SELECT *" in die funktion "select" und brauchst's nicht mehr mitschreiben ... also ich hab wahsaga verstanden
              Signatur-Text ...

              Kommentar


              • #8
                so, ihr habt recht. das mit SELECT * ist echt schwachsinn. habs bisher echt dumm gemacht - war aber im buch so erklärt und ich wunder mich seit 1,5 jahren warum das so umständlich ist. naja heute mal gefragt.. besser zu spät als nie

                bisher brauchte ich kein OOP, aber fange jetzt langsam OOP zu denken.

                ist zwar nicht bei rausgekommen was ich wollte, aber dafür gemerkt dass das was ich wollte scheisse ist

                danke
                carapau

                *closed*
                Lasst euch nicht lumpen, hoch den Humpen!

                Kommentar

                Lädt...
                X