Auslesen eines Datensatzfeldes, Entfernen von 2 Buchstaben

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

  • Auslesen eines Datensatzfeldes, Entfernen von 2 Buchstaben

    Hi, ich mache erste Versuche in PHP und stecke fest. Ich will bei einer mehrsprachigen (cms-gestützten) Site links generieren, die direkt zu der entsprechenden andersprachigen Seite führen. Daher muss z.B. aus
    www.meinedomain.de/index.php?de_research
    folgendes werden:
    www.meinedomain.de/index.php?en_research

    Ich will aus der Datenbank das Feld auslesen, das den Aliasnamen für die URL enthällt. Ich will die ersten beiden Buchstaben (Sprachkürzel) gegen zwei andere austauschen.

    zum Beispiel:

    Auslesen des Wertes aus dem Datensatzfeld acat_alias, Wert z.B.:"de_research"
    das "de" entfernen
    dann "en" anhängen, so dass ich "en_research" bekomme.

    Was bisher funktioniert ist dies:
    Ich habe ein Skript geschrieben:
    $link = mysql_connect("mydatabase", "username", "password") or die("no connection possible!\n");
    echo "connect ok";
    $SQLString = "SELECT acat_alias
    FROM articlecat" or die("no SQL-request possible\n");
    echo "SQL request ok";

    soweit klappt alles, aber ich habe den Wert aus dem Datensatzfeld acat_alias nicht bekommen und über echo ausgeben können. Ich habe mysql_request probiert aber wohl die Syntax nicht hingekriegt.

    Kann mir jemand sagen:
    wie kriege ich diesen Wert aus dem Datensatzfeld?
    wie kriege ich die ersten beiden Buchstaben entfernt?

    Den Rest kriege ich dann glaube ich wieder hin.

    Herzlichen Dank

    macangelo

    PS es geht um diese Site, um Forschungsprojekte für die Hochschule: http://www.mwvi.de/research

  • #2
    wie kriege ich diesen Wert aus dem Datensatzfeld?
    z.B. mysql_fetch_array()

    wie kriege ich die ersten beiden Buchstaben entfernt?
    PHP: z.B. substr()
    SQL: z.B. RIGHT()

    (in den Manuals sind einige Beispiele)
    [Test] MySQL cli Emulator

    Kommentar


    • #3
      Re: Auslesen eines Datensatzfeldes, Entfernen von 2 Buchstaben

      soweit klappt alles
      *g
      wie kriege ich diesen Wert aus dem Datensatzfeld?
      du solltest die query vielleicht erstmal zur db schicken?
      PHP-Code:
      $res mysql_query($Query) or die(mysql_error()); 
      anschließend kannst du zb. fetch_array anwenden ...
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        doohh, vollkommen übersehen
        $SQLString = "SELECT acat_alias FROM articlecat" or die("no SQL-request possible\n");
        weißt Du überhaupt was obiges bewirkt?
        Damit gibts du der Variable $SQLString ja nur den Wert "SELECT acat_alias FROM articlecat", dann müßtest Du, wie der Hund schon sagte,
        PHP-Code:
        $res mysql_query($SQLString) or die(mysql_error()); 
        verwenden.
        Und das "or die.." brauchst Du da auch nicht.
        [Test] MySQL cli Emulator

        Kommentar


        • #5
          Hi NielsRunge,
          hi derHund,

          Danke für Eure Antworten. Ich brauche leider noch genauere Starthilfe, den Befehl
          mysql_fetch_array() anzuwenden.

          ich brauche den Wert des Feldes acat_article aus der tabelle db_research von dem (durch das cms aufgerufene) aktuellen Datensatz.

          das mit dem substr klappt!

          Herzlichen Dank

          Macangelo

          Kommentar


          • #6
            (wieso macht man das eigentlich? Ich verstehe es noch nicht... )

            Hier steht doch alles -> http://de2.php.net/mysql_fetch_array
            [Test] MySQL cli Emulator

            Kommentar


            • #7
              Ich brauche leider noch genauere Starthilfe, den Befehl
              mysql_fetch_array() anzuwenden.
              LDVH! ^^

              schau doch mal in den handbüchern nach, auf www.schattenbaum.net findest du ein einstiegs-tutorial in php/mysql ...
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #8
                Hi

                Danke für den Tip mit Schattenbaum. Ich habe die Anleitung gelesen. Und dann geschrieben:

                <?
                $Verbindung = mysql_connect("meineDatenbank", "user", "pw") or die("Keine Verbindung möglich!\n");
                mysql_select_db("db_research");
                $abfrage = "SELECT acat_alias FROM articlecat";
                $ergebnis = mysql_query($abfrage);
                $ausgabe = mysql_fetch_object($ergebnis);
                echo $ausgabe;
                ?>

                Als Ergebnis bekomme ich nicht "de", was in dem aktuellen Datensatz in der Spalte steht, sondern "Object". Wenn ich statt mysql_fetch_object mysql_fetch_array benutze, bekomme ich "Array".

                (Wiese habe ich so ein Brett vor dem Kopf?)

                Herzlichen Dank für Eure Geduld
                Macangelo

                Kommentar


                • #9
                  wenn du ...fetch_object verwendet dann bitte auch wie Object ansprechen . Mach mal:
                  PHP-Code:
                  echo $ausgabe->acat_alias

                  Kommentar


                  • #10
                    also, entweder zu faul oder zu ....

                    Naja, wie auch immer, bei Schattenbaum steht bestimmt irgendwo

                    $ausgabe->acat_alias

                    und im PHP Manual steht

                    $ausgabe['acat_alias']
                    [Test] MySQL cli Emulator

                    Kommentar


                    • #11
                      Es klappt. Noch einmal ganz herzliche Dank alle!

                      Kommentar

                      Lädt...
                      X