19. oktober 2006 - 01:10
Der er
17 kommentarer og 1 løsning
substr fejl - måske
Hej. Jeg har en lille fejl som ikke gider og virke.. Koden: ------------------------------------- $felterne = "sætning over 10 tegn"; $felterne = substr($felterne,0,10)."..."; ------------------------------------- Jeg kan bare ikke finde fejlen.
Annonceindlæg fra Lenovo
19. oktober 2006 - 01:14
#1
Hvad er fejlen? Det der vil give dig "sætning ov..." - Det er måske ikke det du vil?
19. oktober 2006 - 01:18
#2
Jo, det er det den skal gøre. Det virker også nogle steder men ikke alle steder da jeg sætter dem alle sammen ind i en tabel.
19. oktober 2006 - 01:19
#3
Så tror jeg vil skal have en lille smule mere kode, for ovenstående skulle virke fint...
19. oktober 2006 - 01:25
#4
Okay, men så får i hele koden - Den er lang -------------------------------------------------------------- <? $table = $_GET['table']; $sql = "SHOW COLUMNS FROM ".$table; $query = mysql_query($sql); $antal_q = mysql_num_rows($query); $sql2 = "SELECT * FROM ".$table; $q2 = mysql_query($sql2); $row2 = mysql_fetch_array($q2); echo '<table border="0" cellpadding="0" class="phpmyadminTable" cellspacing="0" width="80%">'; echo '<tr>'; $antal = count($felt); while($r1 = mysql_fetch_array($q2)) { echo "<tr>"; for($i=0;$i <= $antal-1;$i++) { $felterne = $r1[$felt[$i]]; if(strlen($felterne) >= 10) { $felterne = substr($felterne,0,10)."..."; } if(!isset($felterne)) { $felternes = " "; } echo '<td height="'.$h.'" class="'; if($antal-1 !=$i) { echo 'phpmyadminTableRightBottom'; } else { echo 'phpmyadminTableBottom'; } echo '">'.$felterne.'</td>'; } echo "</tr>"; } echo '</table>'; ?> --------------------------------------------------------------
19. oktober 2006 - 01:29
#5
Den kode hvor der står det her: $felterne = substr($felterne,0,10)."..."; hvis jeg fjerner den så virker det.
19. oktober 2006 - 01:32
#6
19. oktober 2006 - 01:33
#7
Er der ikke et s for meget her: if(!isset($felterne)) { $felternes = " "; }
19. oktober 2006 - 01:35
#8
jo, men det var bare fordi jeg prøve nogle ting. Ikke tag jer af det.
19. oktober 2006 - 01:37
#9
-- også denne linje ser underlig ud: echo '<td height="'.$h" class="';
19. oktober 2006 - 01:39
#10
$h er en anden variabel som laver højden men den er ikke med i koden
19. oktober 2006 - 01:41
#11
-- men det skal vel se sådan ud: echo '<td height="'.$h.'" class="'; -- eller: echo "<td height=\"$h\" class=\"";
19. oktober 2006 - 01:42
#12
Aha, en Eksperten-bug (sikkert for at modvirke sql-injection !-)
19. oktober 2006 - 01:43
#13
Mon den bliver hvad man ønsker, hvis man smider mellemrum i: echo '<td height="' . $h . '" class="';
19. oktober 2006 - 01:44
#14
Næsten, så åd den kun een lille gnyf ,-(
19. oktober 2006 - 01:44
#15
kan prøve.
19. oktober 2006 - 01:49
#16
Hvis jeg ændre koden sådan: ----------------------------------------- <? $table = $_GET['table']; $sql = "SHOW COLUMNS FROM ".$table; $query = mysql_query($sql); $antal_q = mysql_num_rows($query); $sql2 = "SELECT * FROM ".$table; $q2 = mysql_query($sql2); $row2 = mysql_fetch_array($q2); echo '<table border="0" cellpadding="0" class="phpmyadminTable" cellspacing="0" width="80%">'; echo '<tr>'; $antal = count($felt); while($r1 = mysql_fetch_array($q2)) { echo "<tr>"; for($i=0;$i <= $antal-1;$i++) { $felterne = $r1[$felt[$i]]; if(strlen($felterne) >= 10) { // $felterne = substr($felterne,0,10)."..."; // ændringer } if(!isset($felterne)) { $felternes = " "; } echo '<td height="'.$h" class="'; if($antal-1 !=$i) { echo 'phpmyadminTableRightBottom'; } else { echo 'phpmyadminTableBottom'; } echo '">'.$felterne.'</td>'; } echo "</tr>"; } echo '</table>'; ?> -----------------------------------------
19. oktober 2006 - 04:06
#17
Jeg har selv fundet ud af det: Det var bare fordi der var html i det felt.
19. oktober 2006 - 04:06
#18
svar
Vi tilbyder markedets bedste kurser inden for webudvikling