trippleS: doUntil-Schleife der Datenbankabfrage tötet meine Tabellebreite

..klingt drastisch, aber das ist es auch!

Hallo,

ich gebe meine News-Artikel aus, indem ich die innerhalb einer do-Until-Schleife eine case-Select-Abfrage habe, bei der ich den Komponententyp abfrage und je nachdem - ob es ein Bild, eine URL, Fliesstext oder sonstwas ist.. - den Datenbankstring formatiere..

*code*

do until objRS.EOF
  tmpIntComponentTypeID = objRS("intComponentTypeID")

select case tmpIntComponentTypeID
   case 1
    tmpComponentCode = "<span class=""head1"">"&objRS("strString")&optionOneCode&optionTwoCode&"</span>"
   case 2
    tmpComponentCode = "<span class=""head2"">"&objRS("strString")&optionOneCode&optionTwoCode&"</span>"
   case 4
    dbString = objRS("strString")

tblWidth = Mid(dbString, InstrRev(dbString,"/"))
    tblWidthLength = Len(tblWidth)
    tblWidth = CInt(Right(tblWidth, tblWidthLength-1))

imgName = Left(dbString, InstrRev(dbString,"/"))
    imgNameLength = Len(imgName)
    imgName = Left(imgName, imgNameLength-1)

if blnOptionOne = true AND blnOptionTwo = true then
     tmpComponentCode = "<table width="""&tblWidth&""" border=""0"" cellpadding=""0"" cellspacing=""0"" style=""float:right; margin-right:3px; margin-bottom:3px;""><tr width="""&tblWidth&"""><td><img src=""../../upload/"&imgName&""" border=""0""></td></tr>"
    end if

if blnOptionOne = true AND blnOptionTwo = false then
     tmpComponentCode = "<table width="""&tblWidth&""" border=""0"" cellpadding=""0"" cellspacing=""0"" style=""float:left; margin-right:3px; margin-bottom:3px;""><tr width="""&tblWidth&"""><td><img src=""../../upload/"&imgName&""" border=""0""></td></tr>"
    end if

if blnOptionOne = false AND blnOptionTwo = true then
     tmpComponentCode = "<table width="""&tblWidth&""" border=""0"" cellpadding=""0"" cellspacing=""0"" align=""right""><tr width="""&tblWidth&"""><td><img src=""../../upload/"&imgName&""" border=""0""></td></tr>"
    end if

if blnOptionOne = false AND blnOptionTwo = false then
     tmpComponentCode = "<table width="""&tblWidth&""" border=""0"" cellpadding=""0"" cellspacing=""0""><tr width="""&tblWidth&"""><td><img src=""../../upload/"&imgName&""" border=""0""></td></tr>"
    end if
   case 5
    if blnOptionOne then
     endFloat2 = "<br style=""clear:left;"">"
    else
     endFloat2 = ""
    end if

if blnOptionTwo then
     endFloat1 = "<br style=""clear:right;"">"
    else
     endFloat1 = ""
    end if

if objRS("strString")<> "" then
     tmpComponentCode = "<tr bgcolor=""#ECECFF""><td class=""tdBildunterschrift"">"&objRS("strString")&"</td></tr></table>"&endFloat1&endFloat2
    else
     tmpComponentCode = "</table>"&endFloat1&endFloat2
    end if
   case ....

case else
    tmpComponentCode = ""
  end select

Response.Write tmpComponentCode

objRS.movenext
 loop

*/code*

Bei "case 4" wird die Tabelle fuer das Bild und die Bildunterschrift definiert, die Tabellenbreite wird festgelegt, das Bild in die erste <tr><td> geschrieben und dann mit </td></tr> geschlossen und die naechste Schleife bringt (defaultmaessig) die dazugehoerige Bildunterschrift: das bedeutet dann "case 5" und fuer besagte Bildunterschrift wird wieder eine Reihe (<tr>) und eine Zelle (<td>) geoeffnet bevor die Tabelle geschlossen wird </td></tr></tabel>.

Das Problem ist nun folgendes: Wenn die Bildunterschrift laenger ausfaellt als das Bild breit ist, bricht der Text nicht um.. Durch die Schleife fuehrt das irgendwie zur Nichtberuecksichtigung: Wer hat mir einen Tipp woran das liegen koennte?!

Vielen Dank.

  1. Moin!

    Wer hat mir einen Tipp woran das liegen koennte?!

    Da einen Browser Dein ASP nicht die Bohne interessiert ist lediglich das erzeugte HTML von Wichtigkeit.

    Poste doch einfach einen Link, wo man jenes, nebst dem Fehler, bestaunen kann.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    1. Poste doch einfach einen Link, wo man jenes, nebst dem Fehler, bestaunen kann.

      hallo fastix®,

      http://www.twinpower.info/NeinAffeNeinDe/_cargobay/7.asp?nAnId=100
      Zeile: 439

      das HTML, welches vom ASP generiert wird scheint mir (zumindest was die Tabelle angeht! : ) 1A zu sein: das ist ja das grosse dilemma..

      <table width="180" border="0" cellpadding="0" cellspacing="0">
       <tr width="180">
        <td><img src="../../upload/angie_klein.jpg" border="0"></td>
       </tr>
       <tr bgcolor="#ECECFF">
        <td class="tdBildunterschrift">das hier geht nicht.. das hier geht nicht das hier geht nicht</td>
       </tr>
      </table>

      wenn ich diesen code nehme und in eine plain HTML-Datei schteibe gibt es das Problem nicht. Ebensowenig gibt es dieses Problem wenn ich im ASP-Code die Weite testhalber in besagtem "case 5" eingebe: <td width="180" class="tdBildunterschrift">
      das Problem ist nur: ich habe - bzw. die Datenbank hat - die Bild- bzw. Tabellenbreite hier nicht mehr zur Verfuegung..

      Gruss, sSs

      1. Moin!

        .tdBildunterschrift {font-size:10px; color:#000000; margin: 0; padding: 1px 4px; white-space: nowrap;line-height:10px; }

        Du weisst den Browser im Stylesheet (Zeile 21) explizit an, die Zeile nicht umzubrechnen.
        Tip: arbeite entweder immer mit CSS... Du hast da eine heftige Mischung aus CSS und HTML- Formatierungen.

        MFFG (Mit freundlich- friedfertigem Grinsen)

        fastix®

        --
        Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
        1. hello again..

          Und wieso mach ich das?? Ich kanns dir sagen, weil ich css nie richtig gelernt habe und mir meine Styles immer irgendwo zusammenklau: diese z.Bsp. sind von spiegel-online! :-/

          Dank dir! sSs

          PS: Ich habe gesehen dass du Frontpagekurse gibst. Wie sieht es bei dieser Software heutzutage aus: kann man die WYSIWYG-Funktion links liegen lassen und nur den HTML-Editor benutzen? Ist er fuer ASP-Programmierng besser geeignet als Homesite? Sollte man eignetlich meinen, oder?

          1. Moin!

            Und wieso mach ich das?? Ich kanns dir sagen, weil ich css nie richtig gelernt habe

            dann wird es Zeit :)

            Ich habe gesehen dass du Frontpagekurse gibst.

            Nö. Ich biete die Kurse an. Das bedeutet nicht, dass ich Sie halte oder veranstalte. Bei IT-Schule.de kann jeder seine Seminare anbieten.

            Wie sieht es bei dieser Software heutzutage aus: kann man die WYSIWYG-Funktion links liegen lassen und nur den HTML-Editor benutzen?

            Nein. Man _muss_ die WYSIWYG-Funktion links liegen lassen. Sonst funktioniert es nicht wirklich.

            Ist er fuer ASP-Programmierung besser geeignet als Homesite?

            Das entzieht sich meiner Kenntnis. Ich kann kein ASP und habe keinerlei Erfahrungen mit Homesite.

            MFFG (Mit freundlich- friedfertigem Grinsen)

            fastix®

            --
            Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
            1. hallo fastix®, nur soviel...

              dann wird es Zeit :)

              ...damit hast du verdammt recht!!! :-)-: