kostenloser Webspace werbefrei: lima-city


Zeilen anzahl eines Strings anzeigen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.


    ICh m?chte gern die Zeilenanzahl eines Stings anzeigen.
    Wie mache ich sowas?
    sollte dann ungef?hr so aussehen:


    1: | blubb
    2: | *quiek*
    3: | loool
    4: | .....
    5: | .....
    6: | .. ..
    7: | ......
    8: | ....

    Geht das?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. kommen die daten aus einer datenbank, und wie gibst du sie aus?

    wenn du sie mit einer schleife ausgibst brauchst du ja nur einen z?hler immer um eins erh?hen

    $i=0;
    while(!endeausgabe) {
    $i++;
    echo $i;
    echo $daten;
    }

    versteh nicht ganz das problem^^
  4. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.

    Ich krieg sie von der DB.
    Und es ist auch immer nur eine ausgabe, also brauch ich schonmal keine Schleife.
  5. aber wenn du keine schleife hast dann ist das erste sowieso immer eine '1' und das zweite '2' usw usf

    das kannst ja dann fix hinschreiben!

    oder meinst du dass du die zahlen mit schleife willst und die daten ohne?

    hmmm ich glaub das bekommste nicht hin.

    da dann die "daten"-ausgabe auch in der schleife sein m?sste ...
  6. 0******a

    $zeilen = explode("\n", $dbergebnis);
    $anzzeilen = count($zeilen);

    for ($temp1 = 0, $temp2 = 1; $temp1 < $anzzeilen; $temp1++, $temp2++)
    &nbsp;&nbsp;echo "$temp2: | $zeilen[$temp1]<br>";

    K?nnte so klappen. Auf jeden Fall sind die ersten beiden Zeilen f?r dich am wichtigsten, da mit explode() das Ergebnis aus der Datenbank durch die Angabe von \n als Trenner die einzelnen Zeilen getrennt und in einem Array (eine Zeile pro Arrayelement) gespeichert werden. Mit count() erh?ltst du die Anzahl der Zeilen bzw. der Elemente im Array.

    Beitrag ge?ndert am 23.02.2006 18:26 von 0-checka
  7. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.



    0-checka schrieb:
    $zeilen = explode('\n', $dbergebnis);
    $anzzeilen = count($zeilen);

    for ($temp1 = 0, $temp2 = 1; $temp1 < $anzzeilen; $temp1++, $temp2++)
    echo '$temp2: | $zeilen[$temp1]<br>';

    K?nnte so klappen. Auf jeden Fall sind die ersten beiden Zeilen f?r dich am wichtigsten, da mit explode() das Ergebnis aus der Datenbank durch die Angabe von \n als Trenner die einzelnen Zeilen getrennt und in einem Array (eine Zeile pro Arrayelement) gespeichert werden. Mit count() erh?ltst du die Anzahl der Zeilen bzw. der Elemente im Array.

    Beitrag ge?ndert am 23.02.2006 18:26 von 0-checka

    Und wie w?rde ich den Code dann in dem Fall ausgeben?
  8. 0******a

    Was f?r einen Code? Das ist doch schon genau das, wonach du in deinem Er?ffnungspost gefragt hast.
  9. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.



    0-checka schrieb:
    Was f?r einen Code? Das ist doch schon genau das, wonach du in deinem Er?ffnungspost gefragt hast.

    ok, das ausgeben habe ich ja kapiert, aber kuck dir mal das ergebnis genau an:
    1: |
    2: | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    
    <body>
    ____________________________________<br />
    <a href="dazu.php"><input type="submit" name="send" value="Neuen eintrag machen" /></a>
    </body>
    </html>
    
    3: |

  10. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.

    Also, es geht.
    Ich hab einfach /n durch <br /> ersetzt.
    Jedoch:
    http://benutzernaemelchen.pyrokar.lima-city.de/CODE/code.php?id=2

    1 Problem:
    Die "1" bei der ersten Zeile ist gr??er als alle anderen.

    2. Problem:
    Die zahlen werden mit gehighlightet.
    Was kann ich dagegen tun?

    Hier mal emin bisheriger code:

    <?php
    ob_start();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    
    <body>
    <center><form method="post"><input type="submit" name="back" value="<-" /> <input type="submit" name="forward" value="->" /></form></center><br />
    <hr>
    <?php
    if($_POST['back'])
    {
    Header ('Location: code.php?id='.($_GET['id']-1).'');
    }
    if($_POST['forward'])
    {
    Header ('Location: code.php?id='.($_GET['id']+1).'');
    }
    mysql_connect('mysql.lima-city.de','***','***');
    mysql_select_db('DB473714981');
    $query = mysql_query('SELECT * FROM code WHERE id="'.$_GET['id'].'"');
    $fetch = mysql_fetch_array($query);
    
    
    $high_code = highlight_string($fetch['code'],true);
    
    
    $zeilen = explode("<br />", $high_code);
    $anzzeilen = count($zeilen);
    
    for ($temp1 = 0, $temp2 = 1; $temp1 < $anzzeilen; $temp1++, $temp2++)
      echo "$temp2: | $zeilen[$temp1]<br />";
    
    eval($fetch['code']);
    
    ?>
    
    </body>
    </html>
    <?php ob_end_flush(); ?>
  11. t****u

    zu 1. Das liegt daran, dass die 1 nicht im Html-Element <code> sondern davor steht.

    Ein Leichteres w?re es, wenn du entweder eine Tabelle verwendest oder CSS (Cascading StyleSheet).

    # mit einer Tabelle
    echo '<table><tr><td>';
    for($i=1;$i<=(substr_count($code,'\n')+1);$i++){echo $i.': | <br>';}
    echo '</td><td>';
    highlight_string($code);
    echo '</td></tr></table>';
    
    # mit Float
    
    echo '<div style="float:left; width:10%">';
    for($i=1;$i<=(substr_count($code,'\n')+1);$i++){echo $i.': | <br>';}
    echo '</div><div style="float:right; width:90%">';
    highlight_string($code);
    echo '</div>';


  12. 0******a

    Der Rest sind HTML-Probleme. Die HTML-Ausgabe betrachten und dort das Problem suchen, ggf. im Forum "HTML & JS" posten.

    Geschlossen.
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!