Ankündigung

Einklappen
Keine Ankündigung bisher.

Variable in Array übernehmen

Einklappen

Neue Werbung 2019

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

  • #16
    Zitat von radarin Beitrag anzeigen
    @drsoong
    Dieses Array statt manuell aus einer DB füllen. Mit Arrays komme ich nur sehr selten in Berührung.

    PHP-Code:
    $ersetzen = array(
    // Zu ersetzendes Wort => Neuer Text
    'Lorem' => '<a href="#">Lorem</a>',
    'ipsum' => '<a href="#">ipsum</a>',
    'dolor' => '<a href="#">dolor</a>',
    ); 
    Du hättest lieber die Rückfrage von drsoong in #13 beantworten sollen, statt weiter kopflos "nach vorne" (tatsächlich aber in die Irre) zu stürmen.

    Nur mal ein Tipp, warum die Rückfrage von drsoong so wichtig ist: Was du aus der DB bekommst, ist bereit ein Array. Je nachdem, was du vorhast, kannst du es also genauso in einer Schleife durchlaufen, wie du es sonst mit "deinem" Array tust. Statt einer foreach-Schleife durchläufst du einfach eine while-Schleife. Z.B.
    PHP-Code:
    # -- Werte für Links von der DB holen ---------------------------------
    # -- DATENBANKVERBINDUNG ----------------------------------------------
      
    $dbcon mysqli_connect(ConRdbmsConUserConPass); 
      
    mysqli_select_db($dbconConDB);
      
    mysqli_query($dbcon"SET NAMES 'utf8'");

    // ---- DATEN ABRUFEN -------------------------------------------------
    // ------ SQL-Query-String erzeugen -----------------------------------
       
    $StrSQL 'SELECT tbl_seiten.SeitenName, tbl_seiten.SeitenTitelNav
           FROM tbl_seiten
           WHERE tbl_seiten.istAktiv = 1'
    ;
    //------- AUSWERTEN --------------------------------------------------
      
    $result mysqli_query($dbcon$StrSQL);      
      
    $StrLinkItems '';
      
    $StrUmbruch "\n"
      
    while ($row mysqli_fetch_array($result)) {
        
    $StrLinkItems $StrLinkItems.'
          <li><a href="'
    .row[0].'">'.row[1].'</a></li>'.$StrUmbruch;
      } 
    Das ganze ist Teil einer Funktion, die als Ausgabe $StrLinkItems zurückgibt. Das Ergebnis ist html-Code und sieht z.B. so aus:
    HTML-Code:
              <li><a href="index.php">Start</a></li>
              <li><a href="mat_nat1.php">Mathe & NatWiss</a></li>
              <li><a href="fibu.php">FiBu: SAP, Lexware & Co.</a></li>
              <li><a href="software_entwicklung.php">IT 1: Software & Entwicklung</a></li>
              <li><a href="web.php">IT 2: Webentwicklung & Webdesign</a></li>
              <li><a href="hd_sport.php?lng_seite=8">Sport, Fitness & Gesundheit</a></li>
              <li><a href="kontakt.html">Kontakt</a></li>[/PHP]
    Das wird dann in die üblichen <ul>-Tags eingebettet.

    Das php ist prozedural programmiert, wie du das in objektorientierten Stil umwandelst, ist deine Sache, du kannst das ja offenbar, sonst würdest du ihn ja nicht anwenden, oder?

    Kommentar


    • #17
      Die Rückfrage in #13 habe ich erst gelesen, als ich die Lösung bereits gepostet hatte.

      Ich lasse den Content der Beiträge und Seiten vor der Ausgabe durch meine Funktion laufen. Alle Begriffe im Text welche in meiner Glossar Tabelle gelistet habe, sollen HTML drum rum erhalten, sodass beim Überfahren des Begriffs eine Infoblase mit der Beschreibung auf geht, sowie eine Verlinkung zur Detailseite, wenn der Text zu lange für die Blase ist. Das ist der Zweck. Wie bereits erwähnt, funktioniert jetzt einwandfrei. Das HTML dasz.B. um den Bergiff 'Tabelle' muss schaut jetzt so aus:

      HTML-Code:
      '<a href='glossar/detail/?id=3' class='glossar-tooltips'alt=''>Tabelle<span>Eine Tabelle besteht aus Spalten und Zeilen.</span></a>'
      Eigentlich hätte ich es bei #6 schon lösen sollen können. Hab gestern Abend einfach vor lauter Bäume...

      Ob ich das Array, das ich für str_replace(array_keys($ersetzen), $ersetzen, $wort); benötige jetzt mich WHILE oder FOREACH erstelle, macht das einen Unterschied in der Performance?

      Kommentar


      • #18
        Nein, das macht keinen Unterschied, aber wenn du die Daten gleich so wie in #2 aus der Datenbank holen könntest, würdest du dir beides sparen können.
        Aber du ja scheinbar WordPress benutzt, kannst du wahrscheinlich nicht ohne weiteres mit PDO arbeiten (?)
        sorry, shift-taste kaputt

        Kommentar


        • #19
          Kann ich nicht beantworten. In WP gibt es eine eigene Klasse für DB Anbindungen. Soweit ich verstanden habe, stehen nicht 100% der Möglichkeiten zur Verfügung. Aufgefallen ist mir eine leicht differenzierte Syntax, bei eine UPDATE muss man auch das Feldformat mit übergeben, was ich jetzt etwas unpraktisch finde.

          Kommentar


          • #20
            Unpraktisch ist die Verwendung von Wordpress und ohne grosse Kenntnisse darin rumzufuhrwerkeln.
            Aber Wordpress hat ja auch eine Dokumentation und auch ein Themenbereich API Entwicklung, das sollte man zumindest mal gelesen haben.


            Kommentar


            • #21
              Ich fuhrwerkle nicht am WP rum. Ich habe lediglich ein paar Funktionen die ich mit Shortcode in eine Seite einbinde. Die Funktionen listen mir den Inhalt einer eigenen Tabelle auf und erlauben mir die Bearbeitung der Daten, integriert als Plugin. PHP kann ganz normal angewendet werden, einzig SQL SELECT, INSERT, UPDATE, DELETE haben eine etwas abgeänderte Syntax. Hat man die aber mal im Netz gefunden, funktioniert das einwandfrei. Mein Glossar-Plugin funktioniert mittlerweile einwandfrei. Jetzt fehlt mir nur noch die Tabelle mit den Einstellungen.

              Kommentar

              Lädt...
              X