per Link "weiterlesen"-Box öfnen

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

  • per Link "weiterlesen"-Box öfnen

    Moin Forum,

    ich habe eine Tabelle, in die ich daten aus einer Datenbank einlese.
    Ein Feld dort heißt Bemerkung, welches teilweise sehr viel Text enthält.
    Ich habe in der Tabelle aber nur platz für 2 Zeilen, daher möchte ich den Text umbrechen und über einen [weiterlesen]- link in einer Box den kompletten Text ausgeben.

    Ich habs bisher aber nur hinbekommen, dass immer nur der erste Datensatz funktioniert, nicht aber die weiteren.

    Hier mal der code, den ich bisher habe:
    PHP-Code:
    //Daten aus db holen und vorbereiten
    ...
    $sBemerk $row['STATBEMERK];
    $sSubBemerk = substr($sBemerk, 0 ,100) . <a href='
    javascript:void(0)' onclick='document.getElementById('text').style.display='block';">[weiterlesen]</a>
    ...

    //daten in tabelle darstellen
    ...
    <tr><td>
    $sSubBemerk</td></tr>
    <div id="
    text" style="display:none;">$sBemerk</div>
    .... 
    //EDIT// ich schreibe jede menge datensätze mit einer Schleife in die Tabelle)

    Ich wär auch über eine reine CSS lösung nicht traurig, aber irgendwie fehlt mir für diese Sache son bisschen der rote faden...
    Wär schön wenn mir jemand einen Tipp geben könnte (vielleicht ja auch ganz anders...)

    lg Micha
    no brain, no headache

  • #2
    Hi.

    Ist dein Code in einer Schleife, oder weißt Du wirklich nur einmal mit [COLOR=#000000][COLOR=#0000CC]$sBemerk [/COLOR][COLOR=#006600]= [/COLOR][COLOR=#0000CC]$row[/COLOR][COLOR=#006600][[/COLOR][COLOR=#CC0000]'STATBEMERK]; [COLOR=Black]deinen Code zu? Bisschen mehr code wäre gut.

    mfg streuner[/COLOR]
    [/COLOR][/COLOR]
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
    der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

    "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

    Kommentar


    • #3
      Hallo,

      ja sorry... ist in einer Schleife....

      woll nur nicht die ganze datei posten weils arg gross ist...

      $getStatus=$SQL->query("SELECT * FROM teinheiten WHERE
      STATUS=1 OR STATUS=2")

      while {
      $row=mysql_fetch_array($getStatus))
      $sBemerk = $row['STATBEMERK];
      $sSubBemerk = substr($sBemerk, 0 ,100) . "<a href='javascript:void(0)' onclick='document.getElementById('text').style.display='block';">[weiterlesen]</a>"
      }
      no brain, no headache

      Kommentar


      • #4
        Hi.

        Bitte kopiere und poste dann deinen Code, deiner hat ne Menge Fehler:

        PHP-Code:
        $getStatus=$SQL->query("SELECT * FROM teinheiten WHERE
        STATUS=1 OR STATUS=2"
        //Semikolon fehlt, bekommst Du hier ne korrekte Ausgabe??

        //Das erste { muss ein ( sein
        // Semikolon bei $sSubBemerk fehlt
        while {
        $row=mysql_fetch_array($getStatus))
              
        $sBemerk $row['STATBEMERK]; //hier fehlt das zweite '
        $sSubBemerk substr($sBemerk,100) . "<a href='javascript:void(0)' onclick='document.getElementById('text').style.display='block';">[weiterlesen]</a>"

        mfg streuner
        Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
        der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

        "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

        Kommentar


        • #5
          Ok, ich dachte, das wird dann zu unübersichtlich und wollte mich auf das wesentliche beschränken. danke für den Hinweis.

          Hier also meine Datei status.php

          PHP-Code:
          <?php

          if(!defined('pkFRONTEND') || pkFRONTEND!='public')
              die(
          'Direct access to this location is not permitted.');

          if(!
          getrights('user'))
              { 
          pkEvent('access_refused'); return;}
              
              function 
          direction($dir)
              {
                  if (
          $dir=="asc")
                  {
                      return 
          "desc";
                  }
                  else
                  {
                  return 
          "asc";
                  }
              }    
              
              
          pkLoadLang('status');    

          //SPaltensortierung
              
          if($_GET['order']=="Einheit")
              {
                  
          $order="EINHEIT ";
              }
              elseif(
          $_GET['order']=="STATUS")
              {
                  
          $order="STATUS ";
              }
              elseif(
          $_GET['order']=="SYSTEM")
              {
                  
          $order="SYSTEM ";
              }
              else
              {
                  
          $order="EINHEIT ";
              }
          //Abfrage Einheiten-System
              
          $dir=direction($_GET['sort']);
              
          $getStatus=$SQL->query("SELECT 
                  *
                  FROM teinheiten
                  WHERE STATUS=1 OR STATUS=2 OR STATUS=3 OR STATUS=4
                  ORDER by " 
          $order $dir "
              "
          );
          //Anzahl ausfälle
              
          $StatCount mysql_num_rows($getStatus);
          if (
          $StatCount>0)
          {
              while (
          $row mysql_fetch_array($getStatus)) 
              {
                  
          //$sID = $row['ID'];
                  
          $sEinheit $row['EINHEIT'];
                  if (
          $row['SYSTEM'] == "") { echo "ACHTUNG! ein Fehler"; } //noch ein fehlertemplate einbauen!!!
                  
          $sSystem $row['SYSTEM'];
                  
          $sStand DATESQL2GE($row['STAND']);
                  
          $sVersion $row['VERSION'];
          //hier soll der text beschnitten werden (sSubBemerk voller text, sBemerk beschnitten)
                  
          $sSubBemerk=$row['STATBEMERK'];
                  
          $sBemerk substr($sSubBemerk0100) . "<a href=\"javascript:void(0)\" onclick = \"document.getElementById('text').style.display='block';\">...</a>"
                  
          $sStatus $row['STATUS'];
                  if (
          pkGetUservalue('status')=='designer' OR pkGetUservalue('status')=='admin')
                  {
                      
          $sEinheitLink pkGetLang($row['EINHEIT']);
                      eval(
          "\$stat_link= \"".pkTpl("status_row_link")."\";");
                  }
                  else
                  {
                      eval(
          "\$stat_link= \"".pkTpl("status_row_linkuser")."\";");
                  }
                  switch (
          $sStatus)
                  {
                      case 
          0$sStatus "<img src=\"images/status/statgreen.png\" border=\"0\" text-align=\"absmiddle\" alt=\"Voll Einsatzf&auml;hig\" title=\"Voll Einsatzf&auml;hig\">";
                      break;
                      case 
          1$sStatus "<img src=\"images/status/statblue.png\" border=\"0\" text-align=\"absmiddle\" alt=\"Hardware-Tausch erforderlich\" title=\"Hardware-Tausch erforderlich\">";
                      break;
                      case 
          2$sStatus "<img src=\"images/status/statpurple.png\" border=\"0\" text-align=\"absmiddle\" alt=\"Softwareupdate erforderlich\" title=\"Softwareupdate erforderlich\">";
                      break;
                      case 
          3$sStatus "<img src=\"images/status/statyellow.png\" border=\"0\" text-align=\"absmiddle\" alt=\"eingeschr&auml;nkt Einsatzf&auml;hig\" title=\"eingeschr&auml;nkt Einsatzf&auml;hig\">";
                      break;
                      case 
          4$sStatus "<img src=\"images/status/statred.png\" border=\"0\" text-align=\"absmiddle\" alt=\"nicht Einsatzf&auml;hig\" title=\"nicht Einsatzf&auml;hig\">";
                      break;
                  }
                  eval(
          "\$stat_row.= \"".pkTpl("status_row")."\";");
              }
              eval(
          "\$site_body.= \"".pkTpl("status")."\";");
          }
          else
          {
              eval(
          "\$site_body.= \"".pkTpl("status_empty")."\";");
          }
          ?>
          Da ich mit templates arbeite, hier noch das template status.htm:
          HTML-Code:
          <link rel="stylesheet" type="text/css" href="css/status.css">
          <table border="0" cellpadding="0" cellspacing="2"  width="100%" >
          	<tr>
          		<td class="heads">
          			<table cellspacing="0" cellpadding="0" border="0" width="100%">
          			<tr>
          				<td class="heads" align="left">&nbsp;&nbsp;Status&uuml;bersicht Einsatzunterst&uuml;tzung</td>
          				<td class="heads" align="right" nowrap="nowrap">Ausf&auml;lle: |$StatCount|&nbsp;&nbsp;&nbsp;<a href="?path=status_all" target="_self">Gesamt&uuml;bersicht</a></td>
          			</tr>
          			</table>
          		</td>
          	</tr>
          	<tr><td>&nbsp;</td></tr>
          	<tr>
          		<td>
          			<table class="status" width="100%" align="center" cellpadding="5" cellspacing="0">
          			<tr>
          				<th class="status" width="20%"><a class="sort" href="include.php?path=status&amp;order=EINHEIT&amp;sort=$dir">Einheit</a></th>
          				<th class="status" align="center" width="8%"><a class="sort" href="include.php?path=status&amp;order=STATUS&amp;sort=$dir">Status</a></th>
          				<th class="status" width="12%"><a class="sort" href="include.php?path=status&amp;order=SYSTEM&amp;sort=$dir">System</a></th>
          				<th class="status" width="10%">Version</th>
          				<th class="status" width="10%">seit...</th>
          				<th class="status" width="40%">Bemerkung</th>
          			</tr>
          $status_row
          			</table>
          		</td>
             </tr>
          </table>
          und hier das template status_row.htm, wo der text beschnitten werden soll


          HTML-Code:
          				<tr>
          					<td class="status">$stat_link</td>
          					<td class="status" align="center">$sStatus</td>
          					<td class="status">$sSystem</td>
          					<td class="status">$sVersion</td>
          					<td class="status">$sStand</td>
          <!-- hier soll beschnitten werden -->
          					<td class="status">$sBemerk</td>
          					<div id="text" style="display:none">$sSubBemerk</div>
          				</tr>
          Ich hoffe ich hab nun alles komplett...
          ich hoffe es stört nicht allzusehr mit den langen zeilen
          danke schon mal für das ansehen
          lg micha
          no brain, no headache

          Kommentar

          Lädt...
          X