Zeilen anzahl eines Strings anzeigen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
angabe
anzahl
ausgabe
beitrag
betracht
count
daten
eins
einzelnen zeilen
element
elemente
ergebnis
gefragt hast
klappe
kriegen
meinst
schleifen
tabelle
transitional
zeile
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich krieg sie von der DB.
Und es ist auch immer nur eine ausgabe, also brauch ich schonmal keine Schleife. -
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 ... -
$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 -
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? -
Was f?r einen Code? Das ist doch schon genau das, wonach du in deinem Er?ffnungspost gefragt hast.
-
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: |
-
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(); ?>
-
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>';
-
Der Rest sind HTML-Probleme. Die HTML-Ausgabe betrachten und dort das Problem suchen, ggf. im Forum "HTML & JS" posten.
Geschlossen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage