Ankündigung

Einklappen
Keine Ankündigung bisher.

Mehrere Werte in einem script verarbeiten

Einklappen

Neue Werbung 2019

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

  • Mehrere Werte in einem script verarbeiten

    Hallo liebe Leute.

    Ich stehe vor einem problem das ich selber leider nicht lösen kann. Es geht um folgendes:

    Ich hab mir eine DB abfrage gebastelt die auch perfekt funktioniert. Sie gibt mir 2 Spalten einer mysql tabelle wieder. Soweit alles ok. Nun möchte ich diese Werte in einem script verarbeiten und das Problem ist, das ich nicht weiß wie ich alle Werte die ich aus der Abfrage bekomme in diesem script verarbeiten kann. Das heißt das script verarbeitet immer NUR den ersten Wert.

    Hier mal die Abfrage:

    PHP-Code:
    categories_query xtc_db_query("select c.categories_id, cd.categories_name,
     c.categories_image, c.parent_id from (" 
    TABLE_CATEGORIES " c INNER JOIN " .
     
    TABLE_CATEGORIES_DESCRIPTION " cd  ON  c.categories_id = cd.categories_id) INNER
     JOIN " 
    TABLE_PRODUCTS_TO_CATEGORIES " p2c ON c.categories_id =
     p2c.categories_id WHERE  (((p2c.products_id)='" 
    . (int)$HTTP_GET_VARS['products_id'] .
     
    "') AND ((c.parent_id)>0)) order by cd.categories_name");


    while (
    $categories xtc_db_fetch_array($categories_query))
        
    {
    $daten .= $categories['categories_name'] . ' ';
    $daten3 .= $categories['categories_id'] . ' ';

    Und hier mal das script was die Werte verarbeiten soll:

    PHP-Code:
     $cPath xtc_category_link($daten3);
    $href xtc_href_link(FILENAME_DEFAULT$cPath);
    $link '<a href="'.$href.= '">'$daten .'</a>';

    echo 
    $link


    Je nach URL (also der Abfrage) sind im string $daten und $daten3 1-20 Werte enthalten. Das script ist auch soweit gut nur das es natürlich immer nur den ersten Wert verarbeitet/benutzt.

    Meine frage ist nun wie ich es hinkriegen kann dass, das "script" alle werte (je nach dem wie viele im string enthalten sind) nach einander verarbeitet und mir somit auch dementsprechend viele Links und nciht nur ein wieder gibt.

    Würde mich sehr über Hilfe oder Tips freuen.

    Gruß ernich.

    ps: Ich hoffe ich habe mein Problem einigermaßen gut erklärt.

  • #2
    - was bekommst du bei $link raus und wie sollte es eigentlich aussehen?
    - var_dump() von $daten3 und $daten bitte

    Danke & Gruß
    Squall

    Kommentar


    • #3
      Bei $link bekomme ich folgendes raus: Brother MFC 990CW

      Er erstellt mir einfach ein simplen Link.
      Dank $daten (= $categories['categories_name'] . ' ' weiß er den namen "Brother MFC 990CW" für den Link
      und $daten3 (.= $categories['categories_id'] . ' ' weiß er die ID zum erstellen des links.

      versuche es mal deutlicher darzustellen.

      echo $daten gibt folgendes im browser aus: Brother DCP 185C Brother DCP 383c Brother DCP 385C Brother DCP 387c Brother DCP 395CN Brother DCP 585CW Brother DCP 6690CW Brother MFC 490CW Brother MFC 5490CN Brother MFC 5890CN Brother MFC 6490CW Brother MFC 6890CDW Brother MFC 790CW Brother MFC 795CW Brother MFC 990CW

      Also alle Kategorienamen.

      und echo $daten3 gibt die IDs der Kategorien aus: 3157 5316 3156 5317 5218 3158 3159 3248 3160 3251 3161 5217 3249 5216 3250

      So und das script benutzt jetzt nur die erste ID (3157). Erstellt dank der ID ein funktionierenden Link und gibt dem Link den namen "Brother MFC 990CW".
      Das script soll aber die erste ID nehmen damit ein Link erstellen und ihm den Namen "Brother DCP 185C" geben, denn zu der ersten ID (3157) gehört auch der erste Name (Brother DCP 185C) und danach das ganze mit der zweiten ID + dem zweiten Namen dann mit der dritten ID + dritten Namen usw.

      Danke dir schon mal und Gruß.

      upgrade: er benutzt zu der ersten ID den letzten Druckernamen weil ich kein PUNKT vor dem = Zeichen habe und er somit jeden jeden Wert während der schleife überschreibt so das em ende nur der letzte Name im String stehen bleibt. Wenn ich dort ein punkt hinmache ($daten .= $categories['categories_name'] . ' ' dann sind im String auch alle Namen enthalten. Doch kriege ich folgenden Link raus:
      Die ID im Link stimmt aber der Linkname besteht aus alle Druckernamen statt nur dem einen passennden zur ID.

      Naja wie gesagt mein Ziel ist es aus für jeden ID und dazu den passenden Namen ein Link zu erzeugen.

      Hoffe du verstehht mich .

      Danke nochmal und liebe Grüße.

      Kommentar


      • #4
        Brich bitte erst mal den Code um, so dass man nicht meterweise querscrollen muss!
        Zitat von ernich Beitrag anzeigen
        Bei $link bekomme ich folgendes raus:
        http://tinte-toner-patronen.de/Brother-Druckerpatronen/Brother-DCP-Patronen/Brother-DCP-185C:::1952_2034_3157.html
        Toll, aber einen Zusammenhang zum Problem kann ich da nicht erkennen.


        Wenn du auf einen GET-Parameter namens products_id zugreifen willst*, dann muss der ja wohl irgendwo her kommen - ein solcher ist im genannten Link aber überhaupt nicht vorhanden.
        Wir können also nur vermuten, dass da noch irgendeine Art von URL-Rewriting im Spiel ist - Infos darüber enthältst du uns aber vor.


        * was du übrigens nicht auf diese absolut veraltete Weise machen solltest, $GET ist aktuell.
        [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

        Kommentar


        • #5
          Parse Time: 6.153s
          Viel zu viel!
          MfG
          ~Capfly

          Kommentar


          • #6
            Zitat von Capfly Beitrag anzeigen
            Viel zu viel!
            Jop in der Tat viel zu viel. Da stimmt was in der DB nicht, aber das kommt alles später.

            Kommentar


            • #7
              Zitat von ChrisB Beitrag anzeigen
              Brich bitte erst mal den Code um, so dass man nicht meterweise querscrollen muss!

              Toll, aber einen Zusammenhang zum Problem kann ich da nicht erkennen.


              Wenn du auf einen GET-Parameter namens products_id zugreifen willst*, dann muss der ja wohl irgendwo her kommen - ein solcher ist im genannten Link aber überhaupt nicht vorhanden.
              Wir können also nur vermuten, dass da noch irgendeine Art von URL-Rewriting im Spiel ist - Infos darüber enthältst du uns aber vor.


              * was du übrigens nicht auf diese absolut veraltete Weise machen solltest, $GET ist aktuell.
              Ich enthalte euch nix vor weil ich selber nicht mehr weiß.
              Dieses script um aus einer ID die ich aus der DB auslese ein LINK zu erstellen, habe ich in der Wiki zu dem systen gefunden und 2tens bin ich php Anfänger.

              Dieses script braucht eine ID um ein Link zuerstellen und (nciht unbedingt) ein namen, damit der Link ein passenden Namen hat.

              Nun kann ich dank meiner DB Abfrage alle IDs und die Namen aus der DB aulesen, aber das script benutzt nur den ersten/ein Wert. Und ich hatte halt gedacht das ich garnicht so tief im Kern etwas ändern muss, sondern evtl. (PHP Anfänger) dem script irgend wie sagen kann, erstelle mir für JEDE ID aus $daten ein LINK. Also zu erst mit dem ersten Wert 3157 dann soll das Script noch mal ausgeführt werden mit der zweiten ID 5316 dann noch mal mit der dritten ID 3156 usw. Aber wie gesagt ich bin kein PHP Profi.

              Vielen dank für Anteilnahme.
              Gruß ernich.

              Kommentar


              • #8
                Zitat von ernich Beitrag anzeigen
                Ich enthalte euch nix vor weil ich selber nicht mehr weiß.
                Dann melde dich wieder, wenn du mehr weisst.

                So ist dir jedenfalls - aus meiner Sicht - nicht zu helfen.
                [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

                Kommentar

                Lädt...
                X