heinetz: Subselect?

Hallo Forum,

ich habe die Pages meiner Website in einer MySQL-Tabelle gespeichert. Jede Page ist en Datensatz und enthält unter anderem das Feld 'content'.

SELECT id, content  
FROM tbl_pages p  
ORDER BY p.id  
# gibt bei 1000 Pages 1000 Datensätze zurück

In dem Feld 'content' steht Hypertext. Darin enthalten sind z.T. Links auf pdfs.

SELECT id, content  
FROM tbl_pages p  
WHERE content REGEXP "href=\"[^\"]*\.pdf[^\"]*\""  
ORDER BY p.id  
# gibt bei 1000 Pages die Pages zurück, die einen oder mehrere Links auf pdfs enthalten

Ist es denkbar, ein Select-Statement so zu formulieren, dass es im Resultset alle Links auf pdfs enthalten sind?

gruss,
heinetz

  1. Moin heinetz,

    ich habe die Pages meiner Website in einer MySQL-Tabelle gespeichert. Jede Page ist en Datensatz und enthält unter anderem das Feld 'content'.
    [...]
    In dem Feld 'content' steht Hypertext. Darin enthalten sind z.T. Links auf pdfs.
    [...]
    Ist es denkbar, ein Select-Statement so zu formulieren, dass es im Resultset alle Links auf pdfs enthalten sind?

    Ich verstehe ehrlich gesagt nicht so richtig, was genau du suchst. Kannst du das etwas deutlicher ausfuehren?

    LG,
     CK

    1. Ich verstehe ehrlich gesagt nicht so richtig, was genau du suchst. Kannst du das etwas deutlicher ausfuehren?

      Vermutlich hat er eine Tabelle wie folgene:
      pages: id (int pk ai), content (text), ...

      Dann hat er z.B. den Datensatz:
      id: 1
      content: '<a href="/bla.pdf">bla</a><p>abc</p><a href="/bla2.html">bla2</a><a href="/bla3.pdf">bla3</a><p>abc</p><a href="/bla4.html">bla4</a>'

      Und mit einem SELECT will er dann entweder folgendes Ergebnis erzielen:
      1,<a href="/bla.pdf">bla</a>
      1,<a href="/bla3.pdf">bla3</a>

      oder
      1,/bla.pdf">bla
      1,/bla3.pdf">bla3

      Ich wüsste allerdings nicht wie das gehen soll.

      MfG
      bubble

      --
      If "god" had intended us to drink beer, he would have given us stomachs. - David Daye
      1. Vermutlich hat er eine Tabelle wie folgene:
        pages: id (int pk ai), content (text), ...
        Und mit einem SELECT will er dann entweder folgendes Ergebnis erzielen:

        richtig

        Ich wüsste allerdings nicht wie das gehen soll.

        ich auch nicht und statt länger darüber nachzudenken, wie es gehen könnte, war es einfacher, ein php-script zu schreiben.

        gruss,
        heinetz

        1. Ich wüsste allerdings nicht wie das gehen soll.

          ich auch nicht und statt länger darüber nachzudenken, wie es gehen könnte, war es einfacher, ein php-script zu schreiben.

          Das einzige Subselect das mir einfallen würde, wäre nur brauchbar wenn eine konstante Anzahl an URIs zu PDF-Dateien da wäre, wäre dann aber wahrscheinlich verdammt langsam.

          Quasi wird dein PHP-Script wirklich die bessere Wahl sein. Einmal preg_match und du hast alle URIs/a-Elemente.

          MfG
          bubble

          --
          If "god" had intended us to drink beer, he would have given us stomachs. - David Daye