Beistriche, Unterstriche entfernen

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

  • Beistriche, Unterstriche entfernen

    Hallo

    Habe eine SQL wo die Datensätze zb. so dargestellt werden:
    Hirsch, Ludwig - Schau Schatzi.mpg oder alanis_morissette_-_hands_clean.

    Ich möchte sie aber so ausgeben
    Ludwig(Leerzeichen)Hirsch - Schau Schatzi oder alanis(Leerzeichen)morissette - hands(Leerzeichen)clean

    Außerdem werden die datensätze momentan so dargestellt:
    Array
    (
    [ID] => 51
    [vorname] => Aguilera,
    [nachname] => Christina
    [title] => Lady Marmelade_OK.mpg
    )

    so sollte es aussehen:

    [ID] => 51
    [vorname] => Christina
    [nachname] => Aguilera
    [title] => Lady Marmelade OK.mpg

    Hier der Code:


    PHP-Code:
    <?php
    $handleDb 
    mysql_connect("localhost""root""");
    mysql_select_db("media"$handleDb);
    $query "SELECT ID,
              SUBSTRING_INDEX(Title, ' ', 1) AS vorname,
              SUBSTRING_INDEX(
                 SUBSTRING(
                      Title,
                      CHAR_LENGTH(SUBSTRING_INDEX(Title, ' ', 1))+2
                 ), ' ', 1
              ) AS nachname,
              REPLACE(
                 SUBSTRING_INDEX(Title, ' - ', -1),
                 '',
                 ''
              ) AS title
              FROM musikvideos"
    ;
    $result mysql_query($query$handleDb);
    while (
    $row mysql_fetch_assoc($result)) {
        echo 
    '<pre>';
        
    print_r($row);
        echo 
    '</pre>';
    }
    ?>
    Könnte man das alles auch in einer Tabelle darstellen ( wie )?

    mfg

    lolipop 999

  • #2
    ich verschieb dich mal nach sql.

    aber meinst du nicht, dass du da mit einer regex (gerne auch php-seitig) besser beient bist?

    Kommentar


    • #3
      Ohne Anschluß an CDDB o.ä. kann kein Algorithmus entscheiden, ob nun Christina oder Aguilera der Vorname ist.

      Kommentar


      • #4
        anhand des , Komma wäre das schon recht eindeutig.

        Kommentar


        • #5
          Könnte man das alles auch in einer Tabelle darstellen ( wie )?
          Klar. In der while-schleife machst du halt immer ne eigene Zeile auf pro Datensatz. (Ich gehe davon aus, dass 1 Datensatz in eine Zeile soll). Andernfalls wäre das Stichwort Modulo


          aber meinst du nicht, dass du da mit einer regex (gerne auch php-seitig) besser beient bist?
          Vermutlich

          Original geschrieben von TobiaZ
          ich verschieb dich mal nach sql.
          *hust*
          Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
          var_dump(), print_r(), debug_backtrace und echo.
          Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
          Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
          Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

          Kommentar


          • #6
            OffTopic:
            hust zurück

            Kommentar


            • #7
              Stimmt, wenn ein Komma da ist - und keine Unterstriche - kann man es leicht entscheiden. Aber kaum eine MP3-Sammlung wird wirklich nur zwei Muster haben ...

              Kommentar


              • #8
                So jetzt neue Version
                Nur habe ich jetzt folgende Probleme
                die datensätze sind so dargestellt:

                Array
                (
                [ID] => 51
                [vorname] => Aguilera,
                [nachname] => Christina
                [title] => Lady Marmelade_OK.mpg
                )

                so sollte es aussehen:

                [ID] => 51
                [vorname] => Christina
                [nachname] => Aguilera
                [title] => Lady Marmelade OK.mpg

                und

                das die Unterstriche und Beistriche usw. nicht entfernt werden.

                Hier der neue Code:




                Danke für euer Hilfe

                lolipop 999
                PHP-Code:
                <?php
                $handleDb 
                mysql_connect("localhost""root","");
                mysql_select_db("media"$handleDb);
                $query "SELECT ID,
                          SUBSTRING_INDEX(Title, ' ', 1) AS vorname,
                          SUBSTRING_INDEX(
                             SUBSTRING(
                                  Title,
                                  CHAR_LENGTH(SUBSTRING_INDEX(Title, ' ', 1))+2
                             ), ' ', 1
                          ) AS nachname,
                          REPLACE(
                             SUBSTRING_INDEX(Title, ' - ', -1),
                             '',
                             ''
                          ) AS title
                          FROM musikvideos"
                ;
                $result mysql_query($query$handleDb);
                while (
                $row mysql_fetch_assoc($result)) {
                    echo 
                '<pre>';
                    
                print_r($row);
                    echo 
                '</pre>';
                }
                $unter = array("_""!"",""?");
                $only str_replace($unter"");
                ?>
                Danke für eure Hilfe

                lolipop 99

                Kommentar


                • #9
                  So jetzt neue Version
                  Nur habe ich jetzt folgende Probleme
                  die datensätze sind so dargestellt:

                  Array
                  (
                  [ID] => 51
                  [vorname] => Aguilera,
                  [nachname] => Christina
                  [title] => Lady Marmelade_OK.mpg
                  )

                  so sollte es aussehen:

                  [ID] => 51
                  [vorname] => Christina
                  [nachname] => Aguilera
                  [title] => Lady Marmelade OK.mpg

                  und

                  das die Unterstriche und Beistriche usw. nicht entfernt werden.

                  Hier der neue Code:




                  Danke für euer Hilfe

                  lolipop 999
                  PHP-Code:
                  <?php
                  $handleDb 
                  mysql_connect("localhost""root","");
                  mysql_select_db("media"$handleDb);
                  $query "SELECT ID,
                            SUBSTRING_INDEX(Title, ' ', 1) AS vorname,
                            SUBSTRING_INDEX(
                               SUBSTRING(
                                    Title,
                                    CHAR_LENGTH(SUBSTRING_INDEX(Title, ' ', 1))+2
                               ), ' ', 1
                            ) AS nachname,
                            REPLACE(
                               SUBSTRING_INDEX(Title, ' - ', -1),
                               '',
                               ''
                            ) AS title
                            FROM musikvideos"
                  ;
                  $result mysql_query($query$handleDb);
                  while (
                  $row mysql_fetch_assoc($result)) {
                      echo 
                  '<pre>';
                      
                  print_r($row);
                      echo 
                  '</pre>';
                  }
                  $unter = array("_""!"",""?");
                  $only str_replace($unter"");
                  ?>
                  Danke für eure Hilfe

                  lolipop 99

                  Kommentar

                  Lädt...
                  X